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

Disassembly:
sub esp, 0x34
mov eax, dword [esp + 0x4c]
push ebx
mov ebx, eax
push ebp
mov ebp, eax
push esi
mov esi, dword [esp + 0x5c]
push edi
mov edi, eax
shr eax, 0x18
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x54]
add eax, dword [esp + 0x58]
shr edi, 0x10
mov dword [esp + 0x1c], eax
lea eax, [esi + esi*2]
cdq
and edx, 3
lea ecx, [edx + eax]
mov eax, esi
cdq
and edx, 3
shr ebx, 8
add eax, edx
and edi, 0xff
and ebx, 0xff
and ebp, 0xff
sar ecx, 2
sar eax, 2
cmp dword [esp + 0x50], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x40], ecx
mov dword [esp + 0x60], eax
jle 0x447399
mov esi, ecx
mov edx, ecx
imul esi, edi
imul edx, ebx
mov edi, ecx
imul edi, ebp
mov ebp, dword [esp + 0x48]
mov eax, 0x100
sub eax, ecx
imul ecx, dword [esp + 0x5c]
shl eax, 7
add edx, eax
mov dword [esp + 0x2c], edx
add edi, eax
mov ebx, 0x8000
sub ebx, edx
add ecx, eax
add esi, eax
mov edx, 0x8000
sub edx, edi
mov dword [esp + 0x30], edx
mov eax, 0x8000
sub eax, esi
mov edx, 0x8000
sub edx, ecx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x3c], ecx
lea ecx, [edx*4]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x20], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x50], edx
jmp 0x447248
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
movzx ecx, byte [ebp + 2]
imul eax, ecx
movzx ebx, byte [ebp + 1]
cdq
and edx, 0xff
lea edi, [edx + eax]
mov eax, dword [esp + 0x28]
imul eax, ebx
cdq
and edx, 0xff
sar edi, 8
add edi, esi
lea esi, [edx + eax]
imul edi, ecx
mov eax, dword [esp + 0x30]
sar esi, 8
add esi, dword [esp + 0x2c]
sar edi, 0xf
imul esi, ebx
movzx ebx, byte [ebp]
imul eax, ebx
cdq
and edx, 0xff
lea ecx, [edx + eax]
mov eax, dword [esp + 0x38]
sar ecx, 8
add ecx, dword [esp + 0x34]
sar esi, 0xf
imul ecx, ebx
movzx ebx, byte [ebp + 3]
imul eax, ebx
cdq
and edx, 0xff
add eax, edx
sar eax, 8
add eax, dword [esp + 0x3c]
sar ecx, 0xf
imul eax, ebx
sar eax, 0xf
test ecx, 0xffffff00
je 0x4472e1
xor edx, edx
test ecx, ecx
sets dl
dec edx
and edx, 0xff
jmp 0x4472e3
mov edx, ecx
mov byte [ebp], dl
test esi, 0xffffff00
je 0x4472fe
xor ecx, ecx
test esi, esi
sets cl
dec ecx
and ecx, 0xff
jmp 0x447300
mov ecx, esi
mov byte [ebp + 1], cl
test edi, 0xffffff00
je 0x44731b
xor ecx, ecx
test edi, edi
sets cl
dec ecx
and ecx, 0xff
jmp 0x44731d
mov ecx, edi
mov byte [ebp + 2], cl
test eax, 0xffffff00
je 0x447337
xor ecx, ecx
test eax, eax
sets cl
dec ecx
and ecx, 0xff
jmp 0x447339
mov ecx, eax
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x14]
push eax
mov byte [ebp + 3], cl
mov ecx, dword [esp + 0x60]
push ecx
push ebx
push edi
lea eax, [ebp + edx*4]
push esi
push eax
call fcn.0042c8c0
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
push ecx
push edx
push ebx
push edi
lea ecx, [ebp + eax*4]
push esi
push ecx
call fcn.0042c8c0
add ebp, dword [esp + 0x4c]
add esp, 0x30
dec dword [esp + 0x50]
jne 0x447240
mov ecx, dword [esp + 0x40]
mov ebx, edi
mov edi, esi
jmp 0x44739d
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
push ebx
push edi
push ebp
call fcn.0042c8c0
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret