Function at 0x100af200
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x100d6d3c
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x10109610]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10109610]
xor eax, esp
push eax
lea eax, [esp + 0xbc]
mov dword fs:[0], eax
mov eax, dword [esp + 0xcc]
mov edi, dword [esp + 0xd4]
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xdc]
xor ebp, ebp
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x4c], ecx
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x78], edi
mov dword [esp + 0x14], edx
mov esi, eax
cmp eax, ebp
je 0x100af29c
lea eax, [ecx + eax*4 - 4]
nop
cmp dword [eax], ebp
jne 0x100af2f5
dec esi
sub eax, 4
cmp esi, ebp
jne 0x100af290
xor ebx, ebx
mov esi, dword [edi + 8]
mov edi, dword [edi + 0xc]
mov dword [esp + 0x24], ebx
cmp esi, ebp
je 0x100af2bc
lea eax, [edi + esi*4 - 4]
cmp dword [eax], ebp
jne 0x100af30c
dec esi
sub eax, 4
cmp esi, ebp
jne 0x100af2b0
xor eax, eax
mov dword [esp + 0x30], eax
cmp eax, ebx
lea eax, [esp + 0x24]
jb 0x100af2ce
lea eax, [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x64], eax
cmp eax, ebp
jne 0x100af321
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
mov esi, dword [esp + 0x68]
push eax
push esi
call fcn.100a6a50
mov eax, esi
jmp 0x100afee9
cmp esi, ebp
je 0x100af29c
lea eax, [ecx + esi*4 - 4]
call fcn.10094730
lea ebx, [esi - 1]
shl ebx, 5
add ebx, eax
jmp 0x100af29e
cmp esi, ebp
je 0x100af2bc
lea eax, [edi + esi*4 - 4]
call fcn.10094730
dec esi
shl esi, 5
add eax, esi
jmp 0x100af2be
cmp eax, 0x2e
ja 0x100af330
mov dword [esp + 0x5c], 1
jmp 0x100af342
mov ecx, 0x104
cmp ecx, eax
sbb eax, eax
neg eax
add eax, 2
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x5c]
mov ebx, 1
shl ebx, cl
lea esi, [esp + 0x7c]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], ebp
mov eax, ebx
shl eax, cl
mov dword [esp + 0x48], ebx
mov dword [esp + 0x84], ebp
mov dword [esp + 0x18], eax
call fcn.100b0790
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xc4], 1
mov ebp, dword [esp + 0x7c]
lea eax, [ebp + 0x14]
push eax
mov dword [esp + 0x5c], eax
call fcn.100a6d30
mov edi, dword [esp + 0x14]
lea esi, [ebx + ebx*4]
add esi, esi
add esi, esi
lea eax, [esi + ebp]
push eax
mov dword [esp + 0x54], eax
call fcn.100a6d30
cmp dword [esp + 0x5c], 1
mov ecx, dword [esp + 0x20]
jne 0x100af3d6
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
mov eax, edi
push eax
mov eax, dword [esp + 0x30]
push eax
add ebp, 0x3c
call edx
push ebp
mov edi, eax
call fcn.100a6d30
jmp 0x100af5e2
mov eax, dword [ecx]
mov edx, dword [esp + 0x2c]
mov eax, dword [eax + 0x18]
lea edi, [ebp + 0x28]
push edx
mov dword [esp + 0x34], edi
call eax
push edi
mov edi, eax
call fcn.100a6d30
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [ebx + ebx*4]
add eax, eax
add eax, eax
add eax, eax
lea edi, [eax + ebp]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x14]
push eax
mov dword [esp + 0x64], edi
call edx
push edi
mov edi, eax
call fcn.100a6d30
cmp ebx, 3
jbe 0x100af455
lea eax, [ebx - 4]
shr eax, 1
add ebp, 0x3c
inc eax
mov dword [esp + 0x24], eax
nop
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
push edx
lea edx, [ebp - 0x28]
push edx
call eax
push ebp
mov edi, eax
call fcn.100a6d30
add ebp, 0x28
dec dword [esp + 0x24]
jne 0x100af430
mov dword [esp + 0x1c], 1
cmp ebx, 1
jbe 0x100af4eb
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
add ecx, 0x14
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], edx
lea esp, [esp]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x48]
cmp ebp, dword [esp + 0x18]
jae 0x100af4cd
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x50], edx
lea ebx, [ebx]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
push edx
push ebx
call eax
mov ecx, dword [esp + 0x50]
push ecx
mov edi, eax
call fcn.100a6d30
add ebp, dword [esp + 0x48]
add dword [esp + 0x50], esi
add ebx, esi
cmp ebp, dword [esp + 0x18]
jb 0x100af4a0
mov eax, dword [esp + 0x1c]
mov ecx, 0x28
add dword [esp + 0x30], ecx
add dword [esp + 0x24], ecx
add eax, 2
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x48]
jb 0x100af480
mov ecx, dword [esp + 0x48]
lea esi, [ecx + ecx*2]
cmp esi, dword [esp + 0x18]
jae 0x100af542
mov ebp, dword [esp + 0x7c]
add ecx, ecx
mov eax, esi
sub eax, ecx
lea edx, [esi + esi*4]
lea eax, [eax + eax*4]
lea ebx, [ebp + edx*4]
lea ebp, [ebp + eax*4]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x60]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
push eax
push ebp
call edx
push ebx
mov edi, eax
call fcn.100a6d30
mov eax, dword [esp + 0x48]
lea esi, [esi + eax*2]
mov eax, dword [esp + 0x54]
add ebp, eax
add ebx, eax
cmp esi, dword [esp + 0x18]
jb 0x100af510
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
cmp ecx, dword [esp + 0x18]
jae 0x100af5e6
mov edx, dword [esp + 0x7c]
lea eax, [ecx + ecx]
mov dword [esp + 0x60], eax
mov dword [esp + 0x14], eax
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
mov dword [esp + 0x58], eax
lea eax, [ecx + ecx*4 + 0xa]
lea eax, [edx + eax*4]
mov dword [esp + 0x24], eax
mov eax, 2
sub eax, ecx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
add eax, ecx
cmp eax, ecx
jae 0x100af5c2
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov esi, ecx
sub esi, eax
dec esi
shr esi, 1
inc esi
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
push ecx
lea edx, [ebp - 0x14]
push edx
mov ecx, ebx
call eax
push ebp
mov edi, eax
call fcn.100a6d30
add ebp, 0x28
dec esi
jne 0x100af5a2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
add dword [esp + 0x24], edx
add dword [esp + 0x14], ecx
add eax, ecx
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x18]
jb 0x100af584
mov edi, dword [esp + 0x20]
cmp dword [0x1010f740], 0
jne 0x100af5fe
call fcn.100a54d0
mov dword [0x1010f740], 0x1009a550
push 8
mov dword [esp + 0x38], vtable.CryptoPP::Integer.0
mov dword [esp + 0x40], 2
call fcn.100b349c
xor ebx, ebx
add esp, 4
cmp eax, ebx
jne 0x100af645
mov edi, edi
push ebx
call fcn.100b2a5b
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x100af6a0
push esi
call fcn.100b2a5b
call esi
push 8
call fcn.100b349c
add esp, 8
cmp eax, ebx
je 0x100af620
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebx
mov dword [eax + 4], ebx
mov edx, dword [esp + 0x40]
mov dword [edx], ebx
mov eax, dword [esp + 0x64]
lea ebp, [eax - 1]
xor edx, edx
lea ecx, [eax - 1]
mov byte [esp + 0xc4], 4
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], ecx
mov byte [esp + 0x2b], 1
mov dword [esp + 0x2c], ebp
cmp ebp, ebx
jl 0x100afd56
mov ebx, dword [esp + 0x78]
jmp 0x100af690
mov ecx, dword [ebx + 8]
mov eax, ebp
shr eax, 5
cmp eax, ecx
jb 0x100af6d8
xor cl, cl
jmp 0x100af6ee
push 1
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0xb0]
mov dword [esp + 0x5c], str.bad_allocation
call fcn.100b2e7c
push 0x10100900
lea ecx, [esp + 0xac]
push ecx
mov dword [esp + 0xb0], vtable.std::bad_alloc.0
call fcn.100b6335
mov esi, dword [ebx + 0xc]
mov edx, dword [esi + eax*4]
mov ecx, ebp
and ecx, 0x1f
shr edx, cl
and dl, 1
mov cl, dl
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
movzx ecx, cl
lea ecx, [ecx + esi*2]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x14], ecx
cmp eax, dword [esi + 8]
jb 0x100af709
xor al, al
jmp 0x100af720
mov edx, dword [esi + 0xc]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x18]
mov ecx, ebp
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x14]
and al, 1
movzx eax, al
lea edx, [eax + edx*2]
mov dword [esp + 0x18], edx
test ebp, ebp
je 0x100af744
mov eax, dword [esp + 0x48]
lea esi, [ecx + ecx]
cmp esi, eax
jae 0x100af744
lea esi, [edx + edx]
cmp esi, eax
jb 0x100afd4b
mov esi, dword [esp + 0x24]
sub esi, ebp
xor ebx, ebx
mov dword [esp + 0x24], ebp
test ecx, ecx
jne 0x100af758
test edx, edx
je 0x100af76a
test cl, 1
jne 0x100af76a
test dl, 1
jne 0x100af76a
shr ecx, 1
shr edx, 1
dec esi
inc ebx
jmp 0x100af750
cmp byte [esp + 0x2b], 0
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
je 0x100af951
mov ecx, dword [esp + 0x5c]
shl edx, cl
add edx, dword [esp + 0x14]
mov eax, edx
mov edx, dword [esp + 0x7c]
lea ecx, [eax + eax*4]
lea ebx, [edx + ecx*4]
lea eax, [esp + 0x34]
cmp eax, ebx
je 0x100af943
mov eax, dword [ebx + 8]
cmp dword [esp + 0x3c], eax
jne 0x100af7bd
mov ecx, dword [ebx + 0xc]
mov edx, eax
shr edx, 1
cmp dword [ecx + edx*4], 0
jne 0x100af919
mov ecx, dword [ebx + 0xc]
test eax, eax
je 0x100af7d3
lea ecx, [ecx + eax*4 - 4]
cmp dword [ecx], 0
jne 0x100af7d3
sub ecx, 4
dec eax
jne 0x100af7c8
cmp eax, 8
ja 0x100af7e1
mov ebp, dword [eax*4 + 0x100e7eb0]
jmp 0x100af83c
cmp eax, 0x10
ja 0x100af7ed
mov ebp, 0x10
jmp 0x100af83c
cmp eax, 0x20
ja 0x100af7f9
mov ebp, 0x20
jmp 0x100af83c
cmp eax, 0x40
ja 0x100af805
mov ebp, 0x40
jmp 0x100af83c
lea esi, [eax - 1]
test esi, esi
jne 0x100af810
xor eax, eax
jmp 0x100af833
xor edx, edx
mov eax, 0x20
lea ecx, [eax + edx]
shr ecx, 1
mov ebp, esi
shr ebp, cl
test ebp, ebp
je 0x100af828
mov edx, ecx
jmp 0x100af82a
mov eax, ecx
mov ecx, eax
sub ecx, edx
cmp ecx, 1
ja 0x100af817
mov ebp, 1
mov ecx, eax
shl ebp, cl
mov eax, dword [esp + 0x40]
mov esi, eax
cmp dword [esp + 0x3c], ebp
je 0x100af90d
mov ecx, dword [esp + 0x3c]
mov edx, ecx
add edx, edx
mov edi, eax
xor eax, eax
add edx, edx
rep stosd dword es:[edi], eax
push esi
cmp edx, 0x10
jb 0x100af869
call fcn.100b5ef2
jmp 0x100af86e
call fcn.100b3773
add esp, 4
cmp ebp, 0x3fffffff
jbe 0x100af87e
call fcn.10096c00
test ebp, ebp
jne 0x100af889
xor eax, eax
jmp 0x100af909
lea edi, [ebp*4]
cmp edi, 0x10
jb 0x100af8d1
push 0x10
push edi
call fcn.100b5f0c
add esp, 8
test eax, eax
jne 0x100af909
push 0
call fcn.100b2a5b
mov esi, eax
add esp, 4
test esi, esi
je 0x100afd98
push esi
call fcn.100b2a5b
call esi
push 0x10
push edi
call fcn.100b5f0c
add esp, 0xc
test eax, eax
je 0x100af8a4
jmp 0x100af909
push edi
call fcn.100b349c
add esp, 4
test eax, eax
jne 0x100af909
mov edi, edi
push 0
call fcn.100b2a5b
mov esi, eax
add esp, 4
test esi, esi
je 0x100afdd0
push esi
call fcn.100b2a5b
call esi
push edi
call fcn.100b349c
add esp, 8
test eax, eax
je 0x100af8e0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0xc]
cmp dword [esp + 0x40], eax
je 0x100af93c
mov ecx, dword [esp + 0x3c]
lea edx, [ecx*4]
push edx
push eax
mov eax, dword [esp + 0x48]
push eax
call fcn.100b6420
add esp, 0xc
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x44], ecx
mov ebx, dword [esp + 0x1c]
mov byte [esp + 0x2b], 0
jmp 0x100afb65
test esi, esi
je 0x100afb30
lea esp, [esp]
mov edx, dword [edi]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x34]
dec esi
push eax
mov ecx, edi
mov dword [esp + 0x68], esi
call edx
mov ebx, eax
lea eax, [esp + 0x34]
cmp eax, ebx
je 0x100afb24
mov eax, dword [ebx + 8]
cmp dword [esp + 0x3c], eax
jne 0x100af99b
mov ecx, dword [ebx + 0xc]
mov edx, eax
shr edx, 1
cmp dword [ecx + edx*4], 0
jne 0x100afaff
mov ecx, dword [ebx + 0xc]
test eax, eax
je 0x100af9b1
lea ecx, [ecx + eax*4 - 4]
cmp dword [ecx], 0
jne 0x100af9b1
sub ecx, 4
dec eax
jne 0x100af9a6
cmp eax, 8
ja 0x100af9bf
mov ebp, dword [eax*4 + 0x100e7eb0]
jmp 0x100afa1a
cmp eax, 0x10
ja 0x100af9cb
mov ebp, 0x10
jmp 0x100afa1a
cmp eax, 0x20
ja 0x100af9d7
mov ebp, 0x20
jmp 0x100afa1a
cmp eax, 0x40
ja 0x100af9e3
mov ebp, 0x40
jmp 0x100afa1a
lea esi, [eax - 1]
test esi, esi
jne 0x100af9ee
xor eax, eax
jmp 0x100afa11
xor edx, edx
mov eax, 0x20
lea ecx, [eax + edx]
shr ecx, 1
mov edi, esi
shr edi, cl
test edi, edi
je 0x100afa06
mov edx, ecx
jmp 0x100afa08
mov eax, ecx
mov ecx, eax
sub ecx, edx
cmp ecx, 1
ja 0x100af9f5
mov ebp, 1
mov ecx, eax
shl ebp, cl
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov esi, edi
cmp ecx, ebp
je 0x100afaeb
mov edx, ecx
add edx, edx
xor eax, eax
add edx, edx
rep stosd dword es:[edi], eax
push esi
cmp edx, 0x10
jb 0x100afa43
call fcn.100b5ef2
jmp 0x100afa48
call fcn.100b3773
add esp, 4
cmp ebp, 0x3fffffff
jbe 0x100afa58
call fcn.10096c00
test ebp, ebp
jne 0x100afa63
xor eax, eax
jmp 0x100afae9
lea edi, [ebp*4]
cmp edi, 0x10
jb 0x100afaad
push 0x10
push edi
call fcn.100b5f0c
add esp, 8
test eax, eax
jne 0x100afae9
mov edi, edi
push 0
call fcn.100b2a5b
mov esi, eax
add esp, 4
test esi, esi
je 0x100afdff
push esi
call fcn.100b2a5b
call esi
push 0x10
push edi
call fcn.100b5f0c
add esp, 0xc
test eax, eax
je 0x100afa80
jmp 0x100afae9
push edi
call fcn.100b349c
add esp, 4
test eax, eax
jne 0x100afae9
lea ebx, [ebx]
push 0
call fcn.100b2a5b
mov esi, eax
add esp, 4
test esi, esi
je 0x100afe2e
push esi
call fcn.100b2a5b
call esi
push edi
call fcn.100b349c
add esp, 8
test eax, eax
je 0x100afac0
mov edi, eax
mov esi, dword [esp + 0x64]
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x2c]
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x40]
cmp ecx, eax
je 0x100afb1d
mov edx, dword [esp + 0x3c]
add edx, edx
add edx, edx
push edx
push eax
push ecx
call fcn.100b6420
add esp, 0xc
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x44], eax
test esi, esi
jne 0x100af960
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x14], 0
jne 0x100afb3e
cmp dword [esp + 0x18], 0
je 0x100afb65
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x18]
mov edx, dword [edi]
mov edx, dword [edx + 0x20]
shl eax, cl
mov ecx, dword [esp + 0x7c]
add eax, dword [esp + 0x14]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
push eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, edi
call edx
test ebx, ebx
je 0x100afd3b
lea ecx, [ecx]
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
dec dword [esp + 0x1c]
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
call edx
mov ebx, eax
lea eax, [esp + 0x34]
cmp eax, ebx
je 0x100afd30
mov eax, dword [ebx + 8]
cmp dword [esp + 0x3c], eax
jne 0x100afbaa
mov ecx, dword [ebx + 0xc]
mov edx, eax
shr edx, 1
cmp dword [ecx + edx*4], 0
jne 0x100afd0b
mov ecx, dword [ebx + 0xc]
test eax, eax
je 0x100afbc0
lea ecx, [ecx + eax*4 - 4]
cmp dword [ecx], 0
jne 0x100afbc0
sub ecx, 4
dec eax
jne 0x100afbb5
cmp eax, 8
ja 0x100afbce
mov ebp, dword [eax*4 + 0x100e7eb0]
jmp 0x100afc29
cmp eax, 0x10
ja 0x100afbda
mov ebp, 0x10
jmp 0x100afc29
cmp eax, 0x20
ja 0x100afbe6
mov ebp, 0x20
jmp 0x100afc29
cmp eax, 0x40
ja 0x100afbf2
mov ebp, 0x40
jmp 0x100afc29
lea esi, [eax - 1]
test esi, esi
jne 0x100afbfd
xor eax, eax
jmp 0x100afc20
xor edx, edx
mov eax, 0x20
lea ecx, [eax + edx]
shr ecx, 1
mov edi, esi
shr edi, cl
test edi, edi
je 0x100afc15
mov edx, ecx
jmp 0x100afc17
mov eax, ecx
mov ecx, eax
sub ecx, edx
cmp ecx, 1
ja 0x100afc04
mov ebp, 1
mov ecx, eax
shl ebp, cl
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov esi, edi
cmp ecx, ebp
je 0x100afcfb
mov edx, ecx
add edx, edx
xor eax, eax
add edx, edx
rep stosd dword es:[edi], eax
push esi
cmp edx, 0x10
jb 0x100afc52
call fcn.100b5ef2
jmp 0x100afc57
call fcn.100b3773
add esp, 4
cmp ebp, 0x3fffffff
jbe 0x100afc67
call fcn.10096c00
test ebp, ebp
jne 0x100afc72
xor eax, eax
jmp 0x100afcf9
lea edi, [ebp*4]
cmp edi, 0x10
jb 0x100afcbd
push 0x10
push edi
call fcn.100b5f0c
add esp, 8
test eax, eax
jne 0x100afcf9
lea ecx, [ecx]
push 0
call fcn.100b2a5b
mov esi, eax
add esp, 4
test esi, esi
je 0x100afe66
push esi
call fcn.100b2a5b
call esi
push 0x10
push edi
call fcn.100b5f0c
add esp, 0xc
test eax, eax
je 0x100afc90
jmp 0x100afcf9
push edi
call fcn.100b349c
add esp, 4
test eax, eax
jne 0x100afcf9
lea ebx, [ebx]
push 0
call fcn.100b2a5b
mov esi, eax
add esp, 4
test esi, esi
je 0x100afe9e
push esi
call fcn.100b2a5b
call esi
push edi
call fcn.100b349c
add esp, 8
test eax, eax
je 0x100afcd0
mov edi, eax
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x2c]
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x40]
cmp ecx, eax
je 0x100afd29
mov edx, dword [esp + 0x3c]
add edx, edx
add edx, edx
push edx
push eax
push ecx
call fcn.100b6420
add esp, 0xc
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x44], eax
cmp dword [esp + 0x1c], 0
jne 0x100afb70
mov ebx, dword [esp + 0x78]
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
mov edx, eax
dec ebp
mov dword [esp + 0x2c], ebp
jns 0x100af690
mov ebx, dword [esp + 0x68]
lea ecx, [esp + 0x34]
push ecx
push ebx
call fcn.100a6a50
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov edx, ecx
add edx, edx
mov esi, edi
xor eax, eax
add edx, edx
mov dword [esp + 0x8c], 1
rep stosd dword es:[edi], eax
push esi
cmp edx, 0x10
jb 0x100afecd
call fcn.100b5ef2
jmp 0x100afed2
push 1
lea ecx, [esp + 0x64]
push ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x68], str.bad_allocation
call fcn.100b2e7c
push 0x10100900
lea edx, [esp + 0x94]
push edx
mov dword [esp + 0x98], vtable.std::bad_alloc.0
call fcn.100b6335
push 1
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x74]
mov dword [esp + 0x54], str.bad_allocation
call fcn.100b2e7c
push 0x10100900
lea ecx, [esp + 0x70]
push ecx
mov dword [esp + 0x74], vtable.std::bad_alloc.0
call fcn.100b6335
push 1
lea edx, [esp + 0x5c]
push edx
lea ecx, [esp + 0x74]
mov dword [esp + 0x60], str.bad_allocation
call fcn.100b2e7c
push 0x10100900
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0x74], vtable.std::bad_alloc.0
call fcn.100b6335
push 1
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x54], str.bad_allocation
call fcn.100b2e7c
push 0x10100900
lea edx, [esp + 0x94]
push edx
mov dword [esp + 0x98], vtable.std::bad_alloc.0
call fcn.100b6335
push 1
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0xa4]
mov dword [esp + 0x38], str.bad_allocation
call fcn.100b2e7c
push 0x10100900
lea ecx, [esp + 0xa0]
push ecx
mov dword [esp + 0xa4], vtable.std::bad_alloc.0
call fcn.100b6335
push 1
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x74]
mov dword [esp + 0x54], str.bad_allocation
call fcn.100b2e7c
push 0x10100900
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0x74], vtable.std::bad_alloc.0
call fcn.100b6335
call fcn.100b3773
add esp, 4
lea eax, [esp + 0x7c]
push eax
mov byte [esp + 0xc8], 0
call fcn.100af060
mov eax, ebx
mov ecx, dword [esp + 0xbc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.100b2e5c
add esp, 0xb4
ret 0x14