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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x49874c
sub esp, 0x60
nop
nop
nop
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
sub ebp, esi
mov edi, dword [esp + 0x74]
mov eax, ebp
mov ebp, dword [esp + 0x6c]
sub edi, ebp
mov ecx, edi
mov edi, dword [esp + 0x64]
mov edx, esi
mov esi, dword [edi + 0x14]
mov ebx, ebp
sub ebp, esi
mov esi, dword [edi + 0xc]
mov dword [esp + 0x48], esi
imul ebp, esi
mov edi, dword [edi + 0x10]
sub edx, edi
lea ebp, [ebp + edx*4]
mov edi, dword [esp + 0x78]
mov edx, ebp
mov ebp, dword [edi + 0x14]
mov esi, dword [esp + 0x80]
sub esi, ebp
mov ebp, dword [edi + 0xc]
mov dword [esp + 0x44], ebp
imul esi, ebp
mov edi, dword [edi + 0x10]
mov ebp, dword [esp + 0x7c]
sub ebp, edi
lea ebp, [esi + ebp*4]
mov esi, dword [esp + 0x80]
cmp ebx, esi
jl 0x498495
jne 0x4984b1
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x7c]
cmp esi, edi
jg 0x4984b1
shl eax, 2
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x44]
xor edi, edi
mov ebx, 4
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x44]
jmp 0x4984ec
lea edi, [ecx - 1]
mov esi, dword [esp + 0x48]
mov ebx, edi
imul edi, esi
add edi, edx
mov edx, edi
mov edi, dword [esp + 0x44]
imul ebx, edi
add ebp, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
xchg edi, ebx
neg ebx
xchg edi, ebx
mov ebx, edi
lea edi, [eax - 1]
shl edi, 2
mov eax, 0xfffffffc
mov eax, 0xfffffffc
mov dword [esp + 0x28], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edi
jmp 0x49850f
mov ebp, dword [esp + 0x1c]
add edx, ebp
mov edi, dword [esp + 0x30]
add edi, ebx
dec ecx
mov esi, ebp
mov ebp, edi
mov edi, dword [esp + 0x24]
test ecx, ecx
jle 0x49859e
mov dword [esp + 0x30], ebp
mov esi, dword [esp + 0x64]
mov edi, dword [esi + 4]
mov ebp, dword [esi]
mov esi, dword [esi + 8]
cmp edx, edi
ja 0x498742
sub esi, edx
mov dword [esp + 0x2c], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edx
add ebp, esi
mov dword [esp + 0x54], ebp
mov esi, dword [esp + 0x78]
mov ebp, dword [esi + 4]
mov edi, dword [esi]
mov dword [esp + 0x5c], edi
mov esi, dword [esi + 8]
mov edi, dword [esp + 0x30]
cmp edi, ebp
ja 0x498739
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], edx
sub esi, edi
mov dword [esp + 0x3c], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edi
mov ebp, dword [esp + 0x5c]
add ebp, esi
mov dword [esp + 0x58], ebp
mov esi, dword [esp + 0x28]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x4c]
jmp 0x498678
add esp, 0x60
ret
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x38]
movzx ebx, byte [ecx + edi]
imul ebx, ebp
mov dword [esp + 0x40], ebx
shl ebx, 8
mov edx, dword [esp + 0x40]
add edx, ebx
mov ebx, eax
mov eax, 0x80008001
mul edx
shr edx, 0xf
mov eax, dword [esp + 0x34]
add eax, edx
shr eax, 8
mov byte [edi + ecx], al
movzx eax, byte [ecx + edi + 1]
imul eax, ebp
mov edx, eax
shl eax, 8
add eax, edx
mov edx, eax
mov eax, 0x80008001
mul edx
shr edx, 0xf
mov eax, dword [esp + 0x18]
add eax, edx
shr eax, 8
mov byte [edi + ecx + 1], al
movzx eax, byte [ecx + edi + 2]
imul eax, ebp
mov edx, eax
shl eax, 8
add eax, edx
mov edx, 0x80008001
mul edx
shr edx, 0xf
mov eax, dword [esp + 0x14]
add eax, edx
shr eax, 8
mov byte [edi + ecx + 2], al
movzx eax, byte [ecx + edi + 3]
imul ebp, eax
mov eax, ebp
shl ebp, 8
add eax, ebp
mov edx, 0x80008001
mul edx
shr edx, 0xf
mov eax, dword [esp + 8]
add eax, edx
shr eax, 8
mov byte [edi + ecx + 3], al
mov eax, dword [esp + 0x28]
add ecx, eax
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x58]
mov eax, ebx
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
cmp eax, edi
je 0x4984fa
lea esi, [edi + 4]
mov ebp, dword [esp + 0x3c]
cmp ebp, esi
jb 0x498730
cmp edi, esi
ja 0x498727
mov dword [esp + 0x48], esi
mov ebp, dword [esp + 0x58]
movzx esi, byte [edi + ebp]
mov dword [esp + 0x40], esi
shl esi, 8
mov ebp, dword [esp + 0x40]
add ebp, esi
mov dword [esp + 0x34], ebp
mov esi, dword [esp + 0x58]
movzx ebp, byte [edi + esi + 1]
mov dword [esp + 0x40], ebp
shl ebp, 8
mov esi, dword [esp + 0x40]
add ebp, esi
mov dword [esp + 0x18], ebp
mov esi, dword [esp + 0x58]
movzx ebp, byte [edi + esi + 2]
mov dword [esp + 0x40], ebp
shl ebp, 8
mov esi, dword [esp + 0x40]
add ebp, esi
mov dword [esp + 0x14], ebp
mov esi, dword [esp + 0x58]
movzx esi, byte [edi + esi + 3]
mov dword [esp + 0x40], esi
shl esi, 8
mov ebp, dword [esp + 0x40]
lea edi, [esi + ebp]
mov dword [esp + 8], edi
lea ebp, [esi + ebp - 0xffff]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x48]
cmp esi, edi
jae 0x4985a2
mov edx, edi
mov ebx, esi
call fcn.00452c60
mov eax, edi
mov ecx, esi
call fcn.00452c80
mov edx, esi
mov ebx, ebp
call fcn.00452c60
mov eax, edi
mov ecx, ebp
call fcn.00452c20
mov eax, edx
mov ecx, edi
call fcn.00452c20
nop
call fcn.00451710
jmp fcn.00498400