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

Disassembly:
push 0xffffffffffffffff
push 0x100d353c
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x10104610]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10104610]
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 0x100abe5c
lea eax, [ecx + eax*4 - 4]
nop
cmp dword [eax], ebp
jne 0x100abeb5
dec esi
sub eax, 4
cmp esi, ebp
jne 0x100abe50
xor ebx, ebx
mov esi, dword [edi + 8]
mov edi, dword [edi + 0xc]
mov dword [esp + 0x24], ebx
cmp esi, ebp
je 0x100abe7c
lea eax, [edi + esi*4 - 4]
cmp dword [eax], ebp
jne 0x100abecc
dec esi
sub eax, 4
cmp esi, ebp
jne 0x100abe70
xor eax, eax
mov dword [esp + 0x30], eax
cmp eax, ebx
lea eax, [esp + 0x24]
jb 0x100abe8e
lea eax, [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x64], eax
cmp eax, ebp
jne 0x100abee1
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.100a36f0
mov eax, esi
jmp 0x100acaa9
cmp esi, ebp
je 0x100abe5c
lea eax, [ecx + esi*4 - 4]
call fcn.10091380
lea ebx, [esi - 1]
shl ebx, 5
add ebx, eax
jmp 0x100abe5e
cmp esi, ebp
je 0x100abe7c
lea eax, [edi + esi*4 - 4]
call fcn.10091380
dec esi
shl esi, 5
add eax, esi
jmp 0x100abe7e
cmp eax, 0x2e
ja 0x100abef0
mov dword [esp + 0x5c], 1
jmp 0x100abf02
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.100ad350
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.100a39d0
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.100a39d0
cmp dword [esp + 0x5c], 1
mov ecx, dword [esp + 0x20]
jne 0x100abf96
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.100a39d0
jmp 0x100ac1a2
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.100a39d0
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.100a39d0
cmp ebx, 3
jbe 0x100ac015
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.100a39d0
add ebp, 0x28
dec dword [esp + 0x24]
jne 0x100abff0
mov dword [esp + 0x1c], 1
cmp ebx, 1
jbe 0x100ac0ab
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 0x100ac08d
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.100a39d0
add ebp, dword [esp + 0x48]
add dword [esp + 0x50], esi
add ebx, esi
cmp ebp, dword [esp + 0x18]
jb 0x100ac060
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 0x100ac040
mov ecx, dword [esp + 0x48]
lea esi, [ecx + ecx*2]
cmp esi, dword [esp + 0x18]
jae 0x100ac102
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.100a39d0
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 0x100ac0d0
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
cmp ecx, dword [esp + 0x18]
jae 0x100ac1a6
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 0x100ac182
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.100a39d0
add ebp, 0x28
dec esi
jne 0x100ac162
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 0x100ac144
mov edi, dword [esp + 0x20]
cmp dword [0x1010a740], 0
jne 0x100ac1be
call fcn.100a2170
mov dword [0x1010a740], 0x100971f0
push 8
mov dword [esp + 0x38], vtable.CryptoPP::Integer.0
mov dword [esp + 0x40], 2
call fcn.100b004f
xor ebx, ebx
add esp, 4
cmp eax, ebx
jne 0x100ac205
mov edi, edi
push ebx
call fcn.100af60f
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x100ac260
push esi
call fcn.100af60f
call esi
push 8
call fcn.100b004f
add esp, 8
cmp eax, ebx
je 0x100ac1e0
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 0x100ac916
mov ebx, dword [esp + 0x78]
jmp 0x100ac250
mov ecx, dword [ebx + 8]
mov eax, ebp
shr eax, 5
cmp eax, ecx
jb 0x100ac298
xor cl, cl
jmp 0x100ac2ae
push 1
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0xb0]
mov dword [esp + 0x5c], str.bad_allocation
call fcn.100afa2c
push 0x100fc728
lea ecx, [esp + 0xac]
push ecx
mov dword [esp + 0xb0], vtable.std::bad_alloc.0
call fcn.100b2edf
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 0x100ac2c9
xor al, al
jmp 0x100ac2e0
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 0x100ac304
mov eax, dword [esp + 0x48]
lea esi, [ecx + ecx]
cmp esi, eax
jae 0x100ac304
lea esi, [edx + edx]
cmp esi, eax
jb 0x100ac90b
mov esi, dword [esp + 0x24]
sub esi, ebp
xor ebx, ebx
mov dword [esp + 0x24], ebp
test ecx, ecx
jne 0x100ac318
test edx, edx
je 0x100ac32a
test cl, 1
jne 0x100ac32a
test dl, 1
jne 0x100ac32a
shr ecx, 1
shr edx, 1
dec esi
inc ebx
jmp 0x100ac310
cmp byte [esp + 0x2b], 0
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
je 0x100ac511
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 0x100ac503
mov eax, dword [ebx + 8]
cmp dword [esp + 0x3c], eax
jne 0x100ac37d
mov ecx, dword [ebx + 0xc]
mov edx, eax
shr edx, 1
cmp dword [ecx + edx*4], 0
jne 0x100ac4d9
mov ecx, dword [ebx + 0xc]
test eax, eax
je 0x100ac393
lea ecx, [ecx + eax*4 - 4]
cmp dword [ecx], 0
jne 0x100ac393
sub ecx, 4
dec eax
jne 0x100ac388
cmp eax, 8
ja 0x100ac3a1
mov ebp, dword [eax*4 + 0x100e3d10]
jmp 0x100ac3fc
cmp eax, 0x10
ja 0x100ac3ad
mov ebp, 0x10
jmp 0x100ac3fc
cmp eax, 0x20
ja 0x100ac3b9
mov ebp, 0x20
jmp 0x100ac3fc
cmp eax, 0x40
ja 0x100ac3c5
mov ebp, 0x40
jmp 0x100ac3fc
lea esi, [eax - 1]
test esi, esi
jne 0x100ac3d0
xor eax, eax
jmp 0x100ac3f3
xor edx, edx
mov eax, 0x20
lea ecx, [eax + edx]
shr ecx, 1
mov ebp, esi
shr ebp, cl
test ebp, ebp
je 0x100ac3e8
mov edx, ecx
jmp 0x100ac3ea
mov eax, ecx
mov ecx, eax
sub ecx, edx
cmp ecx, 1
ja 0x100ac3d7
mov ebp, 1
mov ecx, eax
shl ebp, cl
mov eax, dword [esp + 0x40]
mov esi, eax
cmp dword [esp + 0x3c], ebp
je 0x100ac4cd
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 0x100ac429
call fcn.100b2a9c
jmp 0x100ac42e
call fcn.100b0326
add esp, 4
cmp ebp, 0x3fffffff
jbe 0x100ac43e
call fcn.10093840
test ebp, ebp
jne 0x100ac449
xor eax, eax
jmp 0x100ac4c9
lea edi, [ebp*4]
cmp edi, 0x10
jb 0x100ac491
push 0x10
push edi
call fcn.100b2ab6
add esp, 8
test eax, eax
jne 0x100ac4c9
push 0
call fcn.100af60f
mov esi, eax
add esp, 4
test esi, esi
je 0x100ac958
push esi
call fcn.100af60f
call esi
push 0x10
push edi
call fcn.100b2ab6
add esp, 0xc
test eax, eax
je 0x100ac464
jmp 0x100ac4c9
push edi
call fcn.100b004f
add esp, 4
test eax, eax
jne 0x100ac4c9
mov edi, edi
push 0
call fcn.100af60f
mov esi, eax
add esp, 4
test esi, esi
je 0x100ac990
push esi
call fcn.100af60f
call esi
push edi
call fcn.100b004f
add esp, 8
test eax, eax
je 0x100ac4a0
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 0x100ac4fc
mov ecx, dword [esp + 0x3c]
lea edx, [ecx*4]
push edx
push eax
mov eax, dword [esp + 0x48]
push eax
call fcn.100b2fc0
add esp, 0xc
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x44], ecx
mov ebx, dword [esp + 0x1c]
mov byte [esp + 0x2b], 0
jmp 0x100ac725
test esi, esi
je 0x100ac6f0
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 0x100ac6e4
mov eax, dword [ebx + 8]
cmp dword [esp + 0x3c], eax
jne 0x100ac55b
mov ecx, dword [ebx + 0xc]
mov edx, eax
shr edx, 1
cmp dword [ecx + edx*4], 0
jne 0x100ac6bf
mov ecx, dword [ebx + 0xc]
test eax, eax
je 0x100ac571
lea ecx, [ecx + eax*4 - 4]
cmp dword [ecx], 0
jne 0x100ac571
sub ecx, 4
dec eax
jne 0x100ac566
cmp eax, 8
ja 0x100ac57f
mov ebp, dword [eax*4 + 0x100e3d10]
jmp 0x100ac5da
cmp eax, 0x10
ja 0x100ac58b
mov ebp, 0x10
jmp 0x100ac5da
cmp eax, 0x20
ja 0x100ac597
mov ebp, 0x20
jmp 0x100ac5da
cmp eax, 0x40
ja 0x100ac5a3
mov ebp, 0x40
jmp 0x100ac5da
lea esi, [eax - 1]
test esi, esi
jne 0x100ac5ae
xor eax, eax
jmp 0x100ac5d1
xor edx, edx
mov eax, 0x20
lea ecx, [eax + edx]
shr ecx, 1
mov edi, esi
shr edi, cl
test edi, edi
je 0x100ac5c6
mov edx, ecx
jmp 0x100ac5c8
mov eax, ecx
mov ecx, eax
sub ecx, edx
cmp ecx, 1
ja 0x100ac5b5
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 0x100ac6ab
mov edx, ecx
add edx, edx
xor eax, eax
add edx, edx
rep stosd dword es:[edi], eax
push esi
cmp edx, 0x10
jb 0x100ac603
call fcn.100b2a9c
jmp 0x100ac608
call fcn.100b0326
add esp, 4
cmp ebp, 0x3fffffff
jbe 0x100ac618
call fcn.10093840
test ebp, ebp
jne 0x100ac623
xor eax, eax
jmp 0x100ac6a9
lea edi, [ebp*4]
cmp edi, 0x10
jb 0x100ac66d
push 0x10
push edi
call fcn.100b2ab6
add esp, 8
test eax, eax
jne 0x100ac6a9
mov edi, edi
push 0
call fcn.100af60f
mov esi, eax
add esp, 4
test esi, esi
je 0x100ac9bf
push esi
call fcn.100af60f
call esi
push 0x10
push edi
call fcn.100b2ab6
add esp, 0xc
test eax, eax
je 0x100ac640
jmp 0x100ac6a9
push edi
call fcn.100b004f
add esp, 4
test eax, eax
jne 0x100ac6a9
lea ebx, [ebx]
push 0
call fcn.100af60f
mov esi, eax
add esp, 4
test esi, esi
je 0x100ac9ee
push esi
call fcn.100af60f
call esi
push edi
call fcn.100b004f
add esp, 8
test eax, eax
je 0x100ac680
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 0x100ac6dd
mov edx, dword [esp + 0x3c]
add edx, edx
add edx, edx
push edx
push eax
push ecx
call fcn.100b2fc0
add esp, 0xc
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x44], eax
test esi, esi
jne 0x100ac520
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x14], 0
jne 0x100ac6fe
cmp dword [esp + 0x18], 0
je 0x100ac725
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 0x100ac8fb
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 0x100ac8f0
mov eax, dword [ebx + 8]
cmp dword [esp + 0x3c], eax
jne 0x100ac76a
mov ecx, dword [ebx + 0xc]
mov edx, eax
shr edx, 1
cmp dword [ecx + edx*4], 0
jne 0x100ac8cb
mov ecx, dword [ebx + 0xc]
test eax, eax
je 0x100ac780
lea ecx, [ecx + eax*4 - 4]
cmp dword [ecx], 0
jne 0x100ac780
sub ecx, 4
dec eax
jne 0x100ac775
cmp eax, 8
ja 0x100ac78e
mov ebp, dword [eax*4 + 0x100e3d10]
jmp 0x100ac7e9
cmp eax, 0x10
ja 0x100ac79a
mov ebp, 0x10
jmp 0x100ac7e9
cmp eax, 0x20
ja 0x100ac7a6
mov ebp, 0x20
jmp 0x100ac7e9
cmp eax, 0x40
ja 0x100ac7b2
mov ebp, 0x40
jmp 0x100ac7e9
lea esi, [eax - 1]
test esi, esi
jne 0x100ac7bd
xor eax, eax
jmp 0x100ac7e0
xor edx, edx
mov eax, 0x20
lea ecx, [eax + edx]
shr ecx, 1
mov edi, esi
shr edi, cl
test edi, edi
je 0x100ac7d5
mov edx, ecx
jmp 0x100ac7d7
mov eax, ecx
mov ecx, eax
sub ecx, edx
cmp ecx, 1
ja 0x100ac7c4
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 0x100ac8bb
mov edx, ecx
add edx, edx
xor eax, eax
add edx, edx
rep stosd dword es:[edi], eax
push esi
cmp edx, 0x10
jb 0x100ac812
call fcn.100b2a9c
jmp 0x100ac817
call fcn.100b0326
add esp, 4
cmp ebp, 0x3fffffff
jbe 0x100ac827
call fcn.10093840
test ebp, ebp
jne 0x100ac832
xor eax, eax
jmp 0x100ac8b9
lea edi, [ebp*4]
cmp edi, 0x10
jb 0x100ac87d
push 0x10
push edi
call fcn.100b2ab6
add esp, 8
test eax, eax
jne 0x100ac8b9
lea ecx, [ecx]
push 0
call fcn.100af60f
mov esi, eax
add esp, 4
test esi, esi
je 0x100aca26
push esi
call fcn.100af60f
call esi
push 0x10
push edi
call fcn.100b2ab6
add esp, 0xc
test eax, eax
je 0x100ac850
jmp 0x100ac8b9
push edi
call fcn.100b004f
add esp, 4
test eax, eax
jne 0x100ac8b9
lea ebx, [ebx]
push 0
call fcn.100af60f
mov esi, eax
add esp, 4
test esi, esi
je 0x100aca5e
push esi
call fcn.100af60f
call esi
push edi
call fcn.100b004f
add esp, 8
test eax, eax
je 0x100ac890
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 0x100ac8e9
mov edx, dword [esp + 0x3c]
add edx, edx
add edx, edx
push edx
push eax
push ecx
call fcn.100b2fc0
add esp, 0xc
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x44], eax
cmp dword [esp + 0x1c], 0
jne 0x100ac730
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 0x100ac250
mov ebx, dword [esp + 0x68]
lea ecx, [esp + 0x34]
push ecx
push ebx
call fcn.100a36f0
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 0x100aca8d
call fcn.100b2a9c
jmp 0x100aca92
push 1
lea ecx, [esp + 0x64]
push ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x68], str.bad_allocation
call fcn.100afa2c
push 0x100fc728
lea edx, [esp + 0x94]
push edx
mov dword [esp + 0x98], vtable.std::bad_alloc.0
call fcn.100b2edf
push 1
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x74]
mov dword [esp + 0x54], str.bad_allocation
call fcn.100afa2c
push 0x100fc728
lea ecx, [esp + 0x70]
push ecx
mov dword [esp + 0x74], vtable.std::bad_alloc.0
call fcn.100b2edf
push 1
lea edx, [esp + 0x5c]
push edx
lea ecx, [esp + 0x74]
mov dword [esp + 0x60], str.bad_allocation
call fcn.100afa2c
push 0x100fc728
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0x74], vtable.std::bad_alloc.0
call fcn.100b2edf
push 1
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x54], str.bad_allocation
call fcn.100afa2c
push 0x100fc728
lea edx, [esp + 0x94]
push edx
mov dword [esp + 0x98], vtable.std::bad_alloc.0
call fcn.100b2edf
push 1
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0xa4]
mov dword [esp + 0x38], str.bad_allocation
call fcn.100afa2c
push 0x100fc728
lea ecx, [esp + 0xa0]
push ecx
mov dword [esp + 0xa4], vtable.std::bad_alloc.0
call fcn.100b2edf
push 1
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x74]
mov dword [esp + 0x54], str.bad_allocation
call fcn.100afa2c
push 0x100fc728
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0x74], vtable.std::bad_alloc.0
call fcn.100b2edf
call fcn.100b0326
add esp, 4
lea eax, [esp + 0x7c]
push eax
mov byte [esp + 0xc8], 0
call fcn.100abc20
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.100afa0c
add esp, 0xb4
ret 0x14