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

Disassembly:
sub esp, 0x14
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
push ebx
push ebp
mov ebp, dword [esp + 0x28]
mov ebx, 1
push esi
push edi
push dword [esp + 0x54]
mov edi, dword [esp + 0x38]
lea esi, [eax + eax]
mov eax, dword [esp + 0x54]
mov ecx, ebp
push 1
push edx
push esi
lea eax, [eax + ebp*4]
shl ebx, cl
push eax
push ebx
push edi
mov dword [esp + 0x6c], eax
call fcn.101005a0
add esp, 0x1c
cmp dword [esp + 0x58], 0
jne 0x101014a4
push dword [esp + 0x54]
push 1
push dword [esp + 0x4c]
push esi
push dword [esp + 0x60]
push ebx
push dword [esp + 0x50]
call fcn.101005a0
add esp, 0x1c
cmp dword [esp + 0x58], 0
mov eax, dword [esp + 0x38]
push ebx
push dword [esp + 0x48]
cmovne eax, edi
push eax
push edi
call fcn.10100c70
push dword [esp + 0x64]
push dword [esp + 0x58]
push esi
push ebx
push edi
call fcn.101007d0
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x78]
push ecx
lea eax, [eax + ecx*4]
lea esi, [eax + 4]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x60]
mov dword [eax], esi
mov eax, ecx
shl eax, 6
mov dword [esp + 0x80], eax
sub eax, ebp
push eax
push dword [edi]
push esi
call fcn.10100a30
push dword [esp + 0x78]
push esi
call fcn.10101230
mov ebp, 1
add esp, 0x3c
cmp ebx, ebp
jle 0x10101560
mov eax, dword [esp + 0x38]
add edi, 4
sub eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
mov esi, dword [edi - 4]
mov ecx, ebx
push dword [esp + 0x44]
sub ecx, ebp
mov dword [eax + edi], esi
imul ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x5c]
sub eax, ecx
sub eax, dword [esp + 0x34]
push eax
push dword [edi]
push esi
call fcn.10100a30
push dword [esp + 0x54]
push esi
call fcn.10101230
mov eax, dword [esp + 0x4c]
lea edi, [edi + 4]
inc ebp
add esp, 0x18
cmp ebp, ebx
jl 0x10101521
mov ebp, dword [esp + 0x44]
lea eax, [ebp + 1]
test eax, eax
je 0x10101575
mov edi, dword [esp + 0x54]
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x48]
lea eax, [ebx - 1]
mov edx, eax
mov dword [esp + 0x10], eax
imul edx, ecx
lea esi, [edx + ebp]
lea ebx, [esi + 1]
mov dword [esp + 0x58], ebx
test ebx, ebx
je 0x101015a5
mov edi, dword [esp + 0x40]
xor eax, eax
mov ecx, ebx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x4c], eax
test eax, eax
js 0x10101831
mov eax, dword [esp + 0x54]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
lea eax, [ecx + esi*4]
mov dword [esp + 0x50], eax
lea ecx, [ecx + edx*4]
mov eax, 1
mov dword [esp + 0x34], ecx
mov esi, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], esi
nop
mov edx, dword [esp + 0x44]
mov edi, esi
and edi, dword [esp + 0x10]
lea esi, [edx + 1]
lea ebx, [eax + edx]
test esi, esi
je 0x1010162f
mov edx, dword [esp + 0x38]
lea eax, [edi*4]
push esi
mov dword [esp + 0x1c], eax
push dword [eax + edx]
push ecx
push ecx
call fcn.1006fc40
add esp, 0x10
test eax, eax
je 0x1010162f
mov ecx, dword [esp + 0x34]
nop dword [eax]
cmp esi, ebx
jge 0x10101674
inc dword [ecx + esi*4]
mov eax, dword [ecx + esi*4]
inc esi
test eax, eax
je 0x10101620
xor eax, eax
shl edi, 2
mov ecx, dword [esp + 0x1c]
add ebp, eax
mov eax, dword [esp + 0x4c]
inc eax
mov dword [ecx], eax
mov eax, dword [esp + 0x44]
mov ecx, eax
test eax, eax
js 0x101016fb
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
mov edi, dword [edi + edx]
sub edi, dword [esp + 0x54]
nop
mov edx, dword [edi + eax]
cmp edx, dword [eax]
jne 0x1010167f
sub eax, 4
sub ecx, 1
jns 0x10101660
jmp 0x101016fb
mov edi, dword [esp + 0x18]
mov eax, 1
jmp 0x10101634
jbe 0x101016fb
mov edi, dword [esp + 0x34]
mov ecx, dword [edi]
lea eax, [ecx - 1]
mov dword [edi], eax
cmp ecx, 1
jae 0x101016b5
mov esi, 1
mov edx, esi
cmp ebx, esi
jle 0x101016b7
mov ecx, dword [edi + edx*4]
lea eax, [ecx - 1]
mov dword [edi + edx*4], eax
inc edx
cmp ecx, 1
jae 0x101016b5
cmp edx, ebx
jl 0x101016a0
jmp 0x101016b7
xor esi, esi
mov edx, dword [esp + 0x50]
sub ebp, esi
mov ecx, dword [edx]
lea eax, [ecx - 1]
mov dword [edx], eax
cmp ecx, 1
jae 0x101016f7
mov ebx, dword [esp + 0x30]
mov edi, 1
mov esi, edi
cmp ebx, edi
jle 0x101016f9
add edx, 4
nop dword [eax + eax]
mov ecx, dword [edx]
lea edx, [edx + 4]
inc esi
lea eax, [ecx - 1]
mov dword [edx - 4], eax
cmp ecx, 1
jae 0x101016f7
cmp esi, ebx
jl 0x101016e0
jmp 0x101016f9
xor edi, edi
sub ebp, edi
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x14]
dec ebx
mov eax, dword [esp + 0x30]
inc esi
mov ecx, dword [esp + 0x34]
lea edx, [edi*4]
sub dword [esp + 0x50], edx
add eax, edi
sub ecx, edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
test ebx, ebx
jns 0x101015e0
cmp ebp, 0xffffffff
jne 0x1010179e
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x2c]
sub esi, edi
mov ebp, dword [esp + 0x40]
push 1
push edi
lea ebx, [esi*4]
add ebx, ebp
push ebx
push ebx
call fcn.100e98f0
add esp, 0x10
test eax, eax
je 0x10101795
push 1
lea eax, [edi + 1]
lea ecx, [ebx - 4]
push eax
push ecx
push ecx
call fcn.100ef4f0
mov ebx, dword [esp + 0x68]
push 1
push 1
lea eax, [ebx*4 - 4]
add eax, ebp
push eax
push eax
call fcn.100ef4f0
add esp, 0x20
jmp 0x1010183d
mov ebx, dword [esp + 0x58]
jmp 0x1010183d
mov ebx, dword [esp + 0x58]
cmp ebp, 1
jne 0x10101831
mov edi, dword [esp + 0x2c]
lea esi, [edi + edi]
cmp ebx, esi
jl 0x10101801
mov ecx, dword [esp + 0x40]
mov eax, ebx
sub eax, esi
lea ebx, [ecx + eax*4]
mov eax, dword [ebx]
add eax, ebp
mov dword [ebx], eax
cmp eax, ebp
jae 0x101017fb
mov ebp, 1
mov edx, ebp
cmp esi, ebp
jle 0x101017f7
lea eax, [ebx + 4]
nop dword [eax]
mov ecx, dword [eax]
lea eax, [eax + 4]
inc ecx
inc edx
mov dword [eax - 4], ecx
cmp ecx, 1
jae 0x101017f5
cmp edx, esi
jl 0x101017e0
jmp 0x101017f7
xor ebp, ebp
test ebp, ebp
jne 0x101017c1
mov ebx, dword [esp + 0x58]
jmp 0x10101835
mov ebp, dword [esp + 0x40]
mov esi, ebx
sub esi, edi
lea edx, [esi*4]
add edx, ebp
mov ecx, dword [edx]
lea eax, [ecx - 1]
mov dword [edx], eax
cmp ecx, 1
jae 0x1010183d
nop
mov ecx, dword [edx + 4]
lea edx, [edx + 4]
lea eax, [ecx - 1]
mov dword [edx], eax
test ecx, ecx
je 0x10101820
jmp 0x1010183d
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x40]
mov esi, ebx
sub esi, edi
lea eax, [edi + edi]
sub ebx, eax
mov dword [esp + 0x58], ebx
test ebx, ebx
jle 0x10101886
push ebx
mov ebx, dword [esp + 0x2c]
lea eax, [edi*8]
add eax, ebp
mov esi, edi
push eax
push ebp
push ebx
call fcn.1006fc40
mov ecx, dword [esp + 0x68]
push eax
mov eax, edi
sub eax, ecx
push eax
lea eax, [ecx*4]
add eax, ebp
push eax
lea eax, [ebx + ecx*4]
push eax
call fcn.100e98f0
add esp, 0x20
mov ebp, eax
jmp 0x10101897
mov ebx, dword [esp + 0x28]
push edi
push ebp
push ebx
call fcn.1006fda0
add esp, 0xc
xor ebp, ebp
mov eax, dword [esp + 0x40]
push esi
lea eax, [eax + edi*4]
push eax
push edi
push ebx
push ebx
call fcn.100e8640
add esp, 0x14
sub ebp, eax
jns 0x101018c4
push 1
push edi
push ebx
push ebx
call fcn.100e98f0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x14
ret