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

Disassembly:
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 8]
sub esp, 0x90
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0xa4]
push ecx
push edx
push eax
call fcn.00496340
add esp, 0x10
test eax, eax
je 0x45c5a5
mov eax, 1
add esp, 0x90
ret
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
push ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x4c]
push ebp
mov ebp, dword [esp + 0x38]
push esi
push edi
mov edi, dword [esp + 0x50]
sub ecx, edi
mov esi, ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x5c]
sub edx, ebx
mov dword [esp + 0x18], edx
mov edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0xb0]
imul eax, edx
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xa8]
lea eax, [eax + ebp*4]
add eax, dword [ecx + 8]
mov ecx, dword [esp + 0x10]
imul ecx, ebx
lea ecx, [ecx + edi*4]
mov edi, dword [esp + 0xb0]
add ecx, dword [edi + 8]
mov bl, byte [esp + 0x3c]
test bl, bl
mov dword [esp + 0x20], edx
je 0x45c752
mov edi, esi
sar edi, 3
mov dword [esp + 0x14], edi
mov edi, esi
and edi, 7
mov ebx, edi
sub ebx, dword [esp + 0x98]
add ebx, ebp
lea edx, [edx + ebx*4]
mov ebx, edi
sub ebx, esi
test edi, edi
mov esi, dword [esp + 0x10]
lea ebx, [esi + ebx*4]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ebx
jne 0x45c6c5
test esi, esi
jle 0x45c80b
mov edi, esi
mov esi, dword [esp + 0x14]
test esi, esi
jle 0x45c6b1
mov ebp, dword [eax]
mov dword [ecx], ebp
mov ebp, dword [eax + 4]
mov dword [ecx + 4], ebp
mov ebp, dword [eax + 8]
mov dword [ecx + 8], ebp
mov ebp, dword [eax + 0xc]
mov dword [ecx + 0xc], ebp
mov ebp, dword [eax + 0x10]
mov dword [ecx + 0x10], ebp
mov ebp, dword [eax + 0x14]
mov dword [ecx + 0x14], ebp
mov ebp, dword [eax + 0x18]
mov dword [ecx + 0x18], ebp
mov ebp, dword [eax + 0x1c]
mov dword [ecx + 0x1c], ebp
add ecx, 0x20
add eax, 0x20
dec esi
jne 0x45c676
mov esi, dword [esp + 0x14]
add ecx, ebx
add eax, edx
dec edi
jne 0x45c672
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret
test esi, esi
jle 0x45c80b
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x14]
test esi, esi
jle 0x45c717
lea esp, [esp]
mov ebp, dword [eax]
mov dword [ecx], ebp
mov ebp, dword [eax + 4]
mov dword [ecx + 4], ebp
mov ebp, dword [eax + 8]
mov dword [ecx + 8], ebp
mov ebp, dword [eax + 0xc]
mov dword [ecx + 0xc], ebp
mov ebp, dword [eax + 0x10]
mov dword [ecx + 0x10], ebp
mov ebp, dword [eax + 0x14]
mov dword [ecx + 0x14], ebp
mov ebp, dword [eax + 0x18]
mov dword [ecx + 0x18], ebp
mov ebp, dword [eax + 0x1c]
mov dword [ecx + 0x1c], ebp
add ecx, 0x20
add eax, 0x20
dec esi
jne 0x45c6e0
test edi, edi
jle 0x45c736
mov esi, eax
mov edx, ecx
sub esi, ecx
mov ebx, edi
mov ebp, dword [esi + edx]
mov dword [edx], ebp
add edx, 4
dec ebx
jne 0x45c723
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
add ecx, ebx
add eax, edx
dec esi
mov dword [esp + 0x10], esi
jne 0x45c6d1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret
mov edi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x80]
shl edi, 2
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x70]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x78]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x88]
mov ebx, edx
imul ebx, dword [esp + 0x8c]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x18]
test edi, edi
jle 0x45c80b
mov dword [esp + 0x14], edi
jmp 0x45c7b0
mov edx, dword [esp + 0x20]
mov edi, edi
add ebp, dword [esp + 0x1c]
mov dword [esp + 0x18], ebp
js 0x45c7c4
add eax, edx
sub ebp, dword [esp + 0x2c]
mov dword [esp + 0x18], ebp
mov edi, dword [esp + 0x24]
xor edx, edx
test esi, esi
mov dword [esp + 0x30], eax
jle 0x45c7f3
add edi, dword [esp + 0x38]
js 0x45c7e1
mov ebp, dword [esp + 0x34]
add eax, 4
sub edi, ebp
mov ebp, dword [eax]
mov dword [ecx + edx*4], ebp
add eax, dword [esp + 0x28]
inc edx
cmp edx, esi
jl 0x45c7d2
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x10]
lea eax, [edx + ebx]
mov edx, dword [esp + 0x14]
add ecx, edi
dec edx
mov dword [esp + 0x14], edx
jne 0x45c7aa
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret