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

Disassembly:
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
sub esp, 0x94
push esi
mov esi, dword [esp + 0xa0]
lea eax, [esp + 0x34]
push eax
push ecx
push esi
push edx
call fcn.0048a000
add esp, 0x10
test eax, eax
je 0x473077
mov eax, 1
pop esi
add esp, 0x94
ret
mov esi, dword [esi + 0xc]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
mov dword [esp + 8], esi
imul eax, dword [esp + 8]
mov esi, dword [esp + 0xa8]
mov esi, dword [esi + 0xc]
mov edx, dword [esp + 0x54]
push ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x10], esi
lea esi, [eax + ebx*4]
mov eax, dword [esp + 0xa4]
add esi, dword [eax + 8]
mov eax, dword [esp + 0x10]
push ebp
mov ebp, dword [esp + 0x54]
imul eax, ebp
push edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x5c]
sub ecx, edi
lea edi, [eax + edi*4]
mov eax, dword [esp + 0xb4]
sub edx, ebp
mov ebp, dword [eax + 8]
mov al, byte [esp + 0x40]
add edi, ebp
test al, al
je 0x473315
mov eax, ecx
sar eax, 3
mov dword [esp + 0x10], eax
mov ebp, ecx
and ebp, 7
mov eax, ebp
sub eax, dword [esp + 0x4c]
add eax, ebx
mov ebx, dword [esp + 0x14]
lea eax, [ebx + eax*4]
mov dword [esp + 0x14], eax
mov eax, ebp
sub eax, ecx
test ebp, ebp
mov ecx, dword [esp + 0x18]
lea eax, [ecx + eax*4]
mov dword [esp + 0x18], eax
jne 0x473205
test edx, edx
jle 0x4733f9
lea ebx, [ebx]
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x4731e5
mov ebp, dword [esp + 0x10]
lea eax, [edi + 5]
lea ecx, [esi + 5]
mov bl, byte [ecx - 3]
mov byte [eax - 3], bl
mov bl, byte [ecx - 4]
mov byte [eax - 4], bl
mov bl, byte [esi]
mov byte [edi], bl
mov bl, byte [ecx + 1]
mov byte [eax + 1], bl
mov bl, byte [ecx]
mov byte [eax], bl
mov bl, byte [ecx - 1]
mov byte [eax - 1], bl
mov bl, byte [ecx + 5]
mov byte [eax + 5], bl
mov bl, byte [ecx + 4]
mov byte [eax + 4], bl
mov bl, byte [ecx + 3]
mov byte [eax + 3], bl
mov bl, byte [ecx + 9]
mov byte [eax + 9], bl
mov bl, byte [ecx + 8]
mov byte [eax + 8], bl
mov bl, byte [ecx + 7]
mov byte [eax + 7], bl
mov bl, byte [ecx + 0xd]
mov byte [eax + 0xd], bl
mov bl, byte [ecx + 0xc]
mov byte [eax + 0xc], bl
mov bl, byte [ecx + 0xb]
mov byte [eax + 0xb], bl
mov bl, byte [ecx + 0x11]
mov byte [eax + 0x11], bl
mov bl, byte [ecx + 0x10]
mov byte [eax + 0x10], bl
mov bl, byte [ecx + 0xf]
mov byte [eax + 0xf], bl
mov bl, byte [ecx + 0x15]
mov byte [eax + 0x15], bl
mov bl, byte [ecx + 0x14]
mov byte [eax + 0x14], bl
mov bl, byte [ecx + 0x13]
mov byte [eax + 0x13], bl
mov bl, byte [ecx + 0x19]
mov byte [eax + 0x19], bl
mov bl, byte [ecx + 0x18]
mov byte [eax + 0x18], bl
mov bl, byte [ecx + 0x17]
mov byte [eax + 0x17], bl
add edi, 0x20
add eax, 0x20
add esi, 0x20
add ecx, 0x20
dec ebp
jne 0x473146
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add edi, ebx
add esi, ecx
dec edx
jne 0x473130
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 0x94
ret
test edx, edx
jle 0x4733f9
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x4732c6
mov ebx, dword [esp + 0x10]
lea eax, [edi + 5]
lea ecx, [esi + 5]
mov dl, byte [ecx - 3]
mov byte [eax - 3], dl
mov dl, byte [ecx - 4]
mov byte [eax - 4], dl
mov dl, byte [esi]
mov byte [edi], dl
mov dl, byte [ecx + 1]
mov byte [eax + 1], dl
mov dl, byte [ecx]
mov byte [eax], dl
mov dl, byte [ecx - 1]
mov byte [eax - 1], dl
mov dl, byte [ecx + 5]
mov byte [eax + 5], dl
mov dl, byte [ecx + 4]
mov byte [eax + 4], dl
mov dl, byte [ecx + 3]
mov byte [eax + 3], dl
mov dl, byte [ecx + 9]
mov byte [eax + 9], dl
mov dl, byte [ecx + 8]
mov byte [eax + 8], dl
mov dl, byte [ecx + 7]
mov byte [eax + 7], dl
mov dl, byte [ecx + 0xd]
mov byte [eax + 0xd], dl
mov dl, byte [ecx + 0xc]
mov byte [eax + 0xc], dl
mov dl, byte [ecx + 0xb]
mov byte [eax + 0xb], dl
mov dl, byte [ecx + 0x11]
mov byte [eax + 0x11], dl
mov dl, byte [ecx + 0x10]
mov byte [eax + 0x10], dl
mov dl, byte [ecx + 0xf]
mov byte [eax + 0xf], dl
mov dl, byte [ecx + 0x15]
mov byte [eax + 0x15], dl
mov dl, byte [ecx + 0x14]
mov byte [eax + 0x14], dl
mov dl, byte [ecx + 0x13]
mov byte [eax + 0x13], dl
mov dl, byte [ecx + 0x19]
mov byte [eax + 0x19], dl
mov dl, byte [ecx + 0x18]
mov byte [eax + 0x18], dl
mov dl, byte [ecx + 0x17]
mov byte [eax + 0x17], dl
add edi, 0x20
add eax, 0x20
add esi, 0x20
add ecx, 0x20
dec ebx
jne 0x473227
xor ecx, ecx
test ebp, ebp
jle 0x4732ed
mov ebx, esi
lea eax, [edi + 2]
sub ebx, edi
mov dl, byte [ebx + eax]
mov byte [eax], dl
mov dl, byte [esi + ecx*4 + 1]
mov byte [eax - 1], dl
mov dl, byte [esi + ecx*4]
mov byte [eax - 2], dl
inc ecx
add eax, 4
cmp ecx, ebp
jl 0x4732d3
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add edi, edx
add esi, ecx
dec eax
mov dword [esp + 0x1c], eax
jne 0x473211
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 0x94
ret
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x90]
shl eax, 2
test edx, edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], eax
jle 0x4733f9
lea eax, [edi + 1]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
jmp 0x473380
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
js 0x47339e
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
add esi, ebp
sub edx, edi
mov dword [esp + 0x10], edx
test ecx, ecx
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x34], esi
jle 0x4733dd
mov edi, ecx
lea esp, [esp]
add ebp, dword [esp + 0x3c]
js 0x4733bf
mov edx, dword [esp + 0x28]
add esi, 4
sub ebp, edx
mov dl, byte [esi + 2]
mov byte [eax + 1], dl
mov dl, byte [esi + 1]
mov byte [eax], dl
mov dl, byte [esi]
mov byte [eax - 1], dl
add esi, dword [esp + 0x2c]
add eax, 4
dec edi
jne 0x4733b0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
lea esi, [edx + ebx]
mov edx, dword [esp + 0x20]
add eax, edi
dec edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
jne 0x473380
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 0x94
ret