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

Disassembly:
sub esp, 0x90
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0xb4]
call fcn.0049d800
mov ebp, dword [esp + 0x94]
add esp, 0x14
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
sub ecx, ebp
shl ecx, 0xd
sub edx, ebp
mov esi, dword [esp + 0x90]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x8c]
sub ecx, dword [esp + 0x84]
shl edx, 0xd
shl ecx, 0xd
sub ecx, edx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x9c]
sub edx, dword [esp + 0x94]
sar ecx, 3
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x94]
sub ecx, esi
shl edx, 0xd
shl ecx, 0xd
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x98]
sub ecx, esi
mov ebx, dword [esp + 0x7c]
shl ecx, 0xd
sub edx, ecx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x64]
sub ecx, dword [esp + 0x60]
sar edx, 3
sub ebx, dword [esp + 0x74]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x6c]
sub edx, dword [esp + 0x64]
shl ecx, 0xd
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x68]
sub ecx, dword [esp + 0x60]
shl edx, 0xd
shl ecx, 0xd
sub edx, ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x60]
sar edx, 3
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x74]
sub edx, dword [esp + 0x70]
shl edx, 0xd
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x78]
sub edx, dword [esp + 0x70]
shl edx, 0xd
shl ebx, 0xd
sub ebx, edx
shl ebp, 0x10
shl esi, 0x10
shl ecx, 0x10
sar ebx, 3
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x5c], ebx
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa8]
movzx edi, ah
shr edi, 1
and edi, 7
movzx eax, al
shr eax, 1
shl edi, 8
and eax, 7
add edi, eax
shl edx, 0x10
shl edi, 5
add edi, dword [0xc27e98]
mov dword [esp + 0x20], edx
mov dword [esp + 0x3c], 8
nop dword [eax]
nop word [eax + eax]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], 8
mov ecx, dword [0xc27e90]
mov edx, esi
movsx eax, byte [edi]
sar edx, 0x10
movsx edx, word [ecx + edx*2]
mov ecx, esi
add esi, dword [esp + 0x18]
imul edx, eax
sar ecx, 8
and ecx, 0xffffff00
sar eax, 2
sar edx, 2
and edx, 0xffffff00
add edx, ecx
mov ecx, ebp
sar ecx, 0x10
add eax, ecx
test eax, 0xff00
je 0x49dc25
test eax, eax
jns 0x49dc18
xor eax, eax
jmp 0x49dc25
cmp eax, 0xff
mov ecx, 0xff
cmovg eax, ecx
add edx, eax
mov eax, 0x47fff
cmp edx, 0x48000
cmovge edx, eax
add ebp, dword [esp + 0x14]
mov eax, dword [0xc280cc]
xor ecx, ecx
test edx, edx
cmovns ecx, edx
mov edx, dword [esp + 0x24]
add edi, 4
movzx ecx, byte [ecx + eax]
mov eax, edx
add ecx, dword [0xc27e94]
sar eax, 0xb
and eax, 0xffffff80
movzx ecx, byte [eax + ecx]
mov eax, dword [esp + 0x10]
sar eax, 8
and eax, 0xffffff00
mov al, byte [ecx + eax + 0x59f6c8]
mov ecx, dword [esp + 0x34]
add edx, ecx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x38]
add dword [esp + 0x10], edx
mov byte [ebx], al
inc ebx
sub dword [esp + 0x28], 1
jne 0x49dbd0
mov eax, dword [esp + 0x48]
add ebx, 0xf8
add dword [esp + 0x1c], eax
add edi, 0x3e0
mov eax, dword [esp + 0x4c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
add dword [esp + 0x14], eax
add ecx, dword [esp + 0x58]
add edx, dword [esp + 0x5c]
add ebp, dword [esp + 0x40]
add esi, dword [esp + 0x44]
mov eax, dword [esp + 0x54]
add dword [esp + 0x18], eax
sub dword [esp + 0x3c], 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], esi
jne 0x49dbc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret