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

Disassembly:
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
sub esp, 0xa4
push ebx
xor ebx, ebx
cmp ecx, 0x10
sete bl
push esi
push edi
xor edi, edi
inc ebx
imul ebx, edx
cmp eax, edi
jne 0x4202e0
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xc8]
mov eax, dword [esi]
push edi
push ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0xc8]
push eax
push edx
mov edx, dword [esp + 0xcc]
push ecx
push edx
push esi
call fcn.0041f660
add esp, 0x20
pop edi
pop esi
pop ebx
add esp, 0xa4
ret
mov eax, dword [esp + 0xb4]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, edi
push ebp
mov ebp, dword [eax + 4]
jl 0x42033b
cmp ebp, edi
jl 0x42033b
je 0x42030e
mov eax, 0x7fffffff
cdq
idiv ebp
xor ecx, ecx
cmp esi, eax
setle cl
mov eax, ecx
cmp eax, edi
je 0x42033b
imul esi, ebp
cmp esi, edi
jl 0x42033b
cmp ebx, edi
jl 0x42033b
je 0x420330
mov eax, 0x7fffffff
cdq
idiv ebx
xor edx, edx
cmp esi, eax
setle dl
mov eax, edx
cmp eax, edi
je 0x42033b
imul esi, ebx
cmp esi, 0x7fffffff
jle 0x420341
mov dword [esp + 0x10], edi
jmp 0x42034e
push esi
call fcn.0042372d
add esp, 4
mov dword [esp + 0x10], eax
mov eax, 4
mov ecx, 2
mov edx, 8
mov esi, 1
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], esi
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], esi
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x24], edi
lea ecx, [ecx]
mov esi, dword [esp + edi + 0x60]
mov eax, dword [esp + edi + 0x7c]
mov ecx, dword [esp + 0xb8]
mov ecx, dword [ecx]
mov dword [esp + 0x28], eax
mov edx, esi
sub edx, eax
mov eax, dword [ecx]
lea eax, [edx + eax - 1]
xor edx, edx
div esi
mov edx, dword [ecx + 4]
mov esi, dword [esp + edi + 0x44]
mov ebp, eax
mov eax, dword [esp + edi + 0x98]
sub edx, eax
mov dword [esp + 0x34], eax
lea eax, [edx + esi - 1]
xor edx, edx
div esi
test ebp, ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x1c], eax
je 0x4205a7
test eax, eax
je 0x4205a7
mov esi, dword [ecx + 8]
mov ecx, dword [esp + 0xc8]
imul esi, ebp
mov edx, dword [esp + 0xcc]
imul esi, ecx
push edx
mov edx, dword [esp + 0xc0]
push ecx
mov ecx, dword [esp + 0xc8]
add esi, 7
push eax
sar esi, 3
inc esi
imul esi, eax
mov eax, dword [esp + 0xd0]
push ebp
push eax
mov eax, dword [esp + 0xcc]
push ecx
push edx
push eax
mov dword [esp + 0x4c], esi
call fcn.0041f660
add esp, 0x20
test eax, eax
je 0x4205d5
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x20], eax
jle 0x420574
mov ecx, ebp
imul ecx, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], ecx
test ebp, ebp
jle 0x42055b
mov ecx, dword [esp + edi + 0x44]
mov edx, dword [esp + 0x34]
imul ecx, eax
mov eax, dword [esp + edi + 0x60]
add ecx, edx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], ecx
xor edx, edx
mov dword [esp + 0x18], ebp
lea esp, [esp]
mov edi, dword [esp + 0xb8]
mov esi, dword [edi + 0xc]
mov edi, dword [edi]
mov edi, dword [edi]
imul edi, dword [esp + 0x38]
add edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x10]
add edi, edx
imul edi, ebx
add edi, ebp
mov ecx, ebx
mov ebp, ecx
shr ecx, 2
add esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
add eax, ebx
add edx, esi
dec ecx
mov dword [esp + 0x18], ecx
jne 0x420500
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
add edx, ecx
inc eax
mov dword [esp + 0x14], edx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
jl 0x4204d1
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx + 0xc]
push edx
call fcn.00423779
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
add ecx, esi
add esp, 4
sub eax, esi
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add edi, 4
cmp edi, 0x1c
mov dword [esp + 0x24], edi
jl 0x420400
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x10]
pop ebp
pop edi
pop esi
mov dword [ecx + 0xc], edx
mov eax, 1
pop ebx
add esp, 0xa4
ret
mov eax, dword [esp + 0x10]
push eax
call fcn.00423779
add esp, 4
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xa4
ret