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

Disassembly:
sub esp, 0x38
push ebx
mov ebx, dword [esp + 0x40]
push ebp
push esi
mov esi, dword [esp + 0x50]
mov ebx, dword [ebx + 0x10]
push edi
mov edi, dword [esp + 0x50]
imul eax, esi, 0x160c
mov dword [esp + 0x18], ebx
add eax, dword [edi + 0x4c]
mov dword [esp + 0x3c], eax
mov ebp, dword [eax + 0x1a4]
imul eax, ebx, 0x210
inc ebp
mov dword [esp + 0x38], ebp
push eax
call fcn.101434b0
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
je 0x1015360d
lea eax, [ebx*4]
push eax
call fcn.101434b0
add esp, 4
mov dword [esp + 0x54], eax
test eax, eax
jne 0x10153617
push dword [esp + 0x50]
call fcn.101434a0
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
push esi
push edi
push dword [esp + 0x54]
call fcn.10153470
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x1015364d
push dword [esp + 0x50]
call fcn.101434a0
mov edx, dword [esp + 0x58]
push edx
call fcn.101434a0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov ecx, dword [esp + 0x50]
xor eax, eax
mov edx, dword [esp + 0x54]
test ebx, ebx
je 0x1015366e
jmp 0x10153660
mov dword [edx + eax*4], ecx
inc eax
add ecx, 0x210
cmp eax, ebx
jb 0x10153660
push edx
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
push eax
push esi
push edi
push dword [esp + 0x78]
call fcn.10152b10
mov eax, dword [esp + 0x40]
xor edx, edx
mov esi, dword [esp + 0x44]
add esp, 0x30
imul eax, ebx
mov dword [esi + 4], 0
mov ebx, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c]
imul ebx, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
or eax, 0xffffffff
inc ecx
div ecx
mov dword [esp + 0x40], ebx
cmp ebx, eax
ja 0x101536ed
imul ecx, ebx
push 2
push ecx
mov dword [esi + 8], ecx
call fcn.10143480
add esp, 8
mov dword [esi + 4], eax
cmp dword [esi + 4], 0
jne 0x10153719
push dword [esp + 0x50]
call fcn.101434a0
push dword [esp + 0x58]
call fcn.101434a0
push ebp
push esi
call fcn.10154130
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
mov edi, dword [esi + 0xc8]
mov ebp, dword [eax + 0x18]
mov eax, dword [esp + 0x20]
mov dword [esi + 0xcc], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0xd0], eax
mov eax, dword [esp + 0x28]
mov dword [esi + 0xd4], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0xd8], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0xc], ebx
xor ebx, ebx
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x30]
mov dword [esi + 0x18], 1
mov dword [esi + 0x10], eax
test ecx, ecx
je 0x101537c5
mov eax, dword [esp + 0x54]
xor esi, esi
mov edx, dword [edi + 0xc]
mov ecx, dword [eax + ebx*4]
mov eax, dword [ebp]
mov dword [edi], eax
mov eax, dword [ebp + 4]
mov dword [edi + 4], eax
cmp dword [edi + 8], esi
jbe 0x101537b2
lea esp, [esp]
mov eax, dword [ecx]
lea ecx, [ecx + 0x10]
mov dword [edx], eax
lea edx, [edx + 0x10]
mov eax, dword [ecx - 0xc]
inc esi
mov dword [edx - 0xc], eax
mov eax, dword [ecx - 8]
mov dword [edx - 8], eax
mov eax, dword [ecx - 4]
mov dword [edx - 4], eax
cmp esi, dword [edi + 8]
jb 0x10153790
mov ecx, dword [esp + 0x18]
inc ebx
add edi, 0x10
add ebp, 0x34
cmp ebx, ecx
jb 0x10153770
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
cmp eax, 1
jbe 0x101538c6
lea ebp, [esi + 0x1b8]
lea edx, [eax - 1]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x4c]
xor ebx, ebx
mov esi, dword [ebp - 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov dword [ebp], eax
mov eax, dword [esp + 0x24]
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [ebp - 0xb8], eax
mov eax, dword [esp + 0x30]
mov dword [ebp - 0xbc], eax
mov eax, dword [esp + 0x40]
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xc0], eax
test ecx, ecx
je 0x10153899
mov ebp, dword [esp + 0x44]
nop
mov eax, dword [esp + 0x54]
xor edi, edi
mov ecx, dword [ebp]
mov edx, dword [esi + 0xc]
mov eax, dword [eax + ebx*4]
mov dword [esi], ecx
mov ecx, dword [ebp + 4]
mov dword [esi + 4], ecx
cmp dword [esi + 8], edi
jbe 0x10153882
lea esp, [esp]
mov ecx, dword [eax]
lea eax, [eax + 0x10]
mov dword [edx], ecx
lea edx, [edx + 0x10]
mov ecx, dword [eax - 0xc]
inc edi
mov dword [edx - 0xc], ecx
mov ecx, dword [eax - 8]
mov dword [edx - 8], ecx
mov ecx, dword [eax - 4]
mov dword [edx - 4], ecx
cmp edi, dword [esi + 8]
jb 0x10153860
mov ecx, dword [esp + 0x18]
inc ebx
add esi, 0x10
add ebp, 0x34
cmp ebx, ecx
jb 0x10153840
mov ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0xc4], eax
add ebp, 0xec
dec edx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], edx
jne 0x101537e3
push dword [esp + 0x50]
call fcn.101434a0
push dword [esp + 0x58]
call fcn.101434a0
mov ecx, dword [esp + 0x24]
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
push ecx
test byte [eax + 0x1608], 4
push dword [esp + 0x14]
push eax
push esi
je 0x10153909
call fcn.10155730
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
call fcn.101556a0
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret