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

Disassembly:
sub esp, 0x98
mov eax, dword [0x1023904c]
xor eax, esp
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
push ebx
push ebp
mov ebp, dword [esp + 0xbc]
push esi
xor esi, esi
push edi
mov edi, dword [esp + 0xac]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc0]
mov ebx, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x6c], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x68], 0x1002f9e8
mov dword [esp + 0x88], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x3c], 0x101e5be8
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], esi
cmp dword [esp + 0xb8], esi
je 0x101e56eb
test ebp, ebp
jne 0x101e56eb
lea ebp, [esp + 0x68]
cmp dword [edi], esi
jbe 0x101e5703
push dword [edi + 4]
call fcn.101e5ec6
mov dword [esp + 0x38], 1
test eax, eax
je 0x101e5707
mov dword [esp + 0x38], esi
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
sub ecx, eax
xor eax, eax
lea edi, [esp + 0x8c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [esp + 0x5c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
inc ecx
mov dword [esp + 0x10], ecx
stosd dword es:[edi], eax
cmp dword [ebx + 0x58], esi
je 0x101e5742
mov dword [esp + 0x14], 1
cmp dword [esp + 0xb4], esi
je 0x101e5792
push dword [esp + 0xbc]
mov ecx, ebx
call fcn.1006b3c2
mov edi, eax
test edi, edi
js 0x101e5b6d
push 1
mov ecx, ebx
call fcn.1006c43f
push 1
push 0x400
lea ecx, [esp + 0x44]
call fcn.1003dcbe
mov edi, eax
test edi, edi
js 0x101e5b6d
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x3c]
mov dword [esp + 0x1c], eax
test ebp, ebp
je 0x101e57ac
push ecx
imul ecx, ecx, 0x32
push ecx
mov ecx, ebp
call fcn.1003dcbe
mov edi, eax
test edi, edi
js 0x101e5b6d
mov eax, dword [esp + 0x10]
cmp eax, 1
jne 0x101e5831
push dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
push ebp
push dword [eax]
mov eax, dword [esp + 0x34]
push dword [eax]
mov ecx, ebx
push dword [esp + 0x28]
call fcn.1015692e
mov edi, eax
test edi, edi
js 0x101e5b6d
cmp dword [esp + 0xb8], esi
je 0x101e57fa
push esi
push dword [esp + 0x34]
mov ecx, ebp
call fcn.1021aa6c
mov edi, eax
test edi, edi
js 0x101e5b6d
cmp dword [esp + 0xb4], esi
je 0x101e5b6d
push dword [esp + 0xbc]
mov ecx, ebx
cmp dword [esp + 0x4c], esi
jne 0x101e5824
push 0x1000adc8
push dword [esp + 0x20]
jmp 0x101e5b66
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
add eax, dword [esp + 0x44]
push eax
jmp 0x101e581b
mov edi, dword [esp + 0x18]
cmp dword [esp + 0xb4], esi
je 0x101e590c
lea ecx, [esp + 0x8c]
push ecx
dec eax
push eax
push edi
lea ecx, [ebx + 0xc]
mov dword [esp + 0x40], eax
call fcn.101f61f5
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
add ecx, edi
add eax, ecx
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
cmp dword [esp + 0x14], esi
jne 0x101e5914
mov eax, esi
mov dword [esp + 0x10], esi
cmp dword [esp + eax + 0x8c], esi
jbe 0x101e58fa
push 0x20
call fcn.1000ac41
mov edi, eax
test edi, edi
je 0x101e58b5
mov ecx, edi
call fcn.10032123
mov dword [edi], 0x101e5be8
jmp 0x101e58b7
mov edi, esi
mov eax, dword [esp + 0x10]
mov dword [esp + eax + 0x5c], edi
test edi, edi
je 0x101e58da
mov eax, dword [esp + eax + 0x8c]
push eax
imul eax, eax, 0x32
push eax
mov ecx, edi
call fcn.1003dcbe
test eax, eax
jns 0x101e58f6
mov edi, esi
call fcn.1015692e
test eax, eax
je 0x101e5b6d
call fcn.101d81e1
mov dword [esp + 0x14], 1
mov eax, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x10], eax
cmp eax, 0xc
jl 0x101e5890
mov edi, dword [esp + 0x18]
jmp 0x101e5914
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
push dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
push ebp
push 0xffffffffffffffff
push dword [eax]
mov ecx, ebx
push edi
call fcn.1015692e
mov edi, eax
test edi, edi
js 0x101e5b6d
test ebp, ebp
jne 0x101e5941
cmp dword [esp + 0x14], esi
jne 0x101e59f8
mov eax, dword [esp + 0x18]
mov edi, eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x20]
jae 0x101e59f8
lea eax, [ebx + 0xc]
push edi
mov ecx, eax
call fcn.1006bbed
mov dword [esp + 0x2c], eax
test ebp, ebp
je 0x101e598a
cmp edi, dword [esp + 0x18]
je 0x101e598a
push 0xffffffffffffffff
push eax
mov ecx, ebp
call fcn.1021a82a
mov edi, eax
test edi, edi
js 0x101e5b6d
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0xb4], esi
je 0x101e59e6
cmp dword [esp + 0x14], esi
jne 0x101e59e6
cmp edi, dword [esp + 0x9c]
jae 0x101e59a6
mov ecx, esi
jmp 0x101e59b2
cmp edi, dword [esp + 0xa0]
sbb ecx, ecx
add ecx, 2
mov ecx, dword [esp + ecx*4 + 0x5c]
push 0xffffffffffffffff
push eax
call fcn.1021a82a
test eax, eax
jns 0x101e59e6
mov edi, esi
call fcn.1015692e
test eax, eax
je 0x101e5b6d
call fcn.101d81e1
mov dword [esp + 0x14], 1
test ebp, ebp
je 0x101e59f8
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
lea eax, [ebx + 0xc]
cmp edi, dword [esp + 0x20]
jb 0x101e5958
push dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
push ebp
push dword [eax]
mov ecx, ebx
push esi
push dword [esp + 0x30]
call fcn.1015692e
mov edi, eax
test edi, edi
js 0x101e5b6d
cmp dword [esp + 0xb8], esi
je 0x101e5a38
push esi
push dword [esp + 0x34]
mov ecx, ebp
call fcn.1021aa6c
mov edi, eax
test edi, edi
js 0x101e5b6d
cmp dword [esp + 0xb4], esi
je 0x101e5b6d
cmp dword [ebx + 0x58], esi
jne 0x101e5a57
call fcn.100439e8
push dword [ebx + 0x50]
call fcn.101ce241
mov ebp, esi
cmp dword [esp + ebp + 0x94], esi
je 0x101e5b06
cmp dword [esp + 0x14], esi
jne 0x101e5a98
push esi
push dword [esp + ebp + 0x68]
push esi
push dword [esp + ebp + 0xac]
push ebx
push 6
call fcn.1015692e
mov edi, eax
or eax, 0x800a0000
neg edi
sbb edi, edi
and edi, eax
jl 0x101e5b6d
mov dword [esp + ebp + 0x64], esi
push esi
push dword [esp + ebp + 0x98]
lea ecx, [ebx + 0xc]
push dword [esp + ebp + 0xa8]
call fcn.101f602b
mov edi, eax
test edi, edi
jns 0x101e5aef
cmp edi, 0x800a0011
jne 0x101e5aeb
push ebx
call fcn.1015692e
mov edi, eax
or eax, 0x800a0000
neg edi
sbb edi, edi
and edi, eax
jl 0x101e5b27
push esi
push dword [esp + ebp + 0x98]
lea ecx, [ebx + 0xc]
push dword [esp + ebp + 0xa8]
call fcn.101f602b
mov edi, eax
test edi, edi
js 0x101e5b27
push dword [esp + ebp + 0x94]
mov ecx, ebx
push dword [esp + ebp + 0xa4]
push 3
call fcn.1015692e
sub ebp, 4
cmp ebp, 0xfffffff8
jge 0x101e5a59
mov ecx, dword [esp + 0x20]
sub ecx, dword [esp + 0x34]
cmp dword [esp + 0x48], esi
jne 0x101e5b35
mov eax, 0x1000adc8
jmp 0x101e5b3f
cmp dword [esp + 0x14], esi
jne 0x101e5b6d
push ebx
call fcn.101d8208
jmp 0x101e5b6d
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
add eax, dword [esp + 0x40]
cmp ecx, dword [ebx + 0x20]
jne 0x101e5b5b
cmp byte [eax], 0
je 0x101e5b6d
push dword [esp + 0xbc]
push eax
push ecx
mov ecx, ebx
call fcn.1015692e
jmp 0x101e5b6b
push dword [esp + 0xbc]
push eax
push ecx
mov ecx, ebx
call fcn.1015692e
mov edi, eax
mov ecx, dword [esp + esi*4 + 0x5c]
test ecx, ecx
je 0x101e5b7b
mov eax, dword [ecx]
push 1
call dword [eax]
inc esi
cmp esi, 3
jl 0x101e5b6d
cmp dword [esp + 0x38], 0
je 0x101e5bb2
mov ebp, dword [esp + 0x28]
push dword [ebp + 4]
mov ecx, ebx
call fcn.101e5ec6
test eax, eax
je 0x101e5bb2
lea eax, [esp + 0x2c]
push eax
push dword [ebp + 4]
lea ecx, [ebx + 0xc]
call fcn.10041b42
push eax
mov ecx, ebx
call fcn.101e5fa9
lea ecx, [esp + 0x3c]
call fcn.1021a777
lea ecx, [esp + 0x68]
call fcn.1021aa1b
mov ecx, dword [esp + 0xa4]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10001e57
add esp, 0x98
ret 0x1c