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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x3c]
cmp eax, dword [ecx + 8]
jbe 0x499f60
sub esp, 0xbc
mov ebp, dword [esp + 0xd4]
mov esi, dword [esp + 0xc0]
cmp ebp, esi
jne 0x499baf
nop
nop
mov edi, dword [esp + 0xd8]
mov eax, ebp
mov ebp, dword [esp + 0xc4]
mov ecx, edi
sub edi, ebp
mov edx, esi
mov esi, dword [esp + 0xdc]
mov ebx, ebp
mov ebp, dword [esp + 0xc8]
sub esi, ebp
mov ebp, dword [esp + 0xcc]
add edi, ebp
mov dword [esp + 8], edi
mov edi, dword [esp + 0xd0]
add esi, edi
cmp ebp, ebx
jg 0x4999df
mov esi, 1
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0xc8]
jmp 0x499bdf
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0xc8]
cmp edi, esi
jg 0x499a0a
mov dword [esp + 0x88], eax
mov eax, 1
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x88]
jmp 0x499bdf
mov ebp, dword [esp + 8]
cmp ecx, ebp
jl 0x499a27
mov ebp, 1
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0xcc]
jmp 0x499bdf
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x4c]
cmp esi, edi
jl 0x499a59
mov ebp, 1
mov dword [esp + 0x48], ebp
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
mov edi, dword [esp + 0xd0]
jmp 0x499bdf
cmp ebx, ebp
jge 0x499b8f
mov ebp, dword [esp + 0xcc]
cmp ebp, ecx
jle 0x499b76
mov ebp, dword [esp + 0xc8]
cmp ebp, edi
jge 0x499b5b
mov edi, dword [esp + 0xd0]
cmp edi, esi
jle 0x499b36
cmp ebp, esi
jg 0x499a98
jne 0x499b09
cmp ebx, ecx
jle 0x499ae5
mov esi, dword [esp + 0xcc]
dec esi
mov dword [esp + 0x30], esi
lea esi, [ebx - 1]
dec edi
dec ebp
mov dword [esp + 0xa8], eax
mov eax, 0xffffffff
mov dword [esp + 0x48], eax
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0xdc]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xa0], eax
mov eax, ebp
mov ebp, edi
mov edi, eax
mov eax, dword [esp + 0xa8]
jmp 0x499b2b
mov dword [esp + 0xb0], eax
mov eax, 1
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb0]
jmp 0x499b2b
mov dword [esp + 0x98], eax
mov eax, 1
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x98]
mov esi, ebp
mov ebp, dword [esp + 0x3c]
jmp 0x499bdf
mov dword [esp + 0x90], eax
mov eax, 1
mov dword [esp + 0x48], eax
mov esi, ebp
mov ebp, dword [esp + 0xcc]
mov eax, dword [esp + 0x90]
jmp 0x499bdf
mov edi, 1
mov dword [esp + 0x48], edi
mov esi, ebp
mov ebp, dword [esp + 0xcc]
mov edi, dword [esp + 0xd0]
jmp 0x499bdf
mov edi, 1
mov dword [esp + 0x48], edi
mov esi, dword [esp + 0xc8]
mov edi, dword [esp + 0xd0]
jmp 0x499bdf
mov ebp, 1
mov dword [esp + 0x48], ebp
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
mov edi, dword [esp + 0xd0]
jmp 0x499bdf
mov eax, ebp
mov ecx, dword [esp + 0xd8]
mov edx, esi
mov ebx, 1
mov dword [esp + 0x48], ebx
mov esi, dword [esp + 0xc8]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xcc]
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0xdc]
add edi, esi
mov ebp, dword [esp + 0xc8]
sub edi, ebp
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0xe8]
add edi, esi
sub edi, ebp
lea ebp, [ecx + ebx]
mov ecx, edi
mov edi, dword [esp + 0xc4]
sub ebp, edi
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0xe4]
add ebp, ebx
sub ebp, edi
mov dword [esp + 0x44], ebp
mov edi, dword [esp + 0x3c]
sub edi, ebx
mov ebp, dword [esp + 0x1c]
add edi, ebp
mov dword [esp + 0x54], edi
nop
mov edi, dword [edx + 0x14]
sub esi, edi
imul esi, dword [edx + 0xc]
mov edi, dword [edx + 0x10]
sub ebx, edi
lea edi, [esi + ebx*4]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x80]
jmp 0x499ca8
mov ebx, dword [edx + 0xc]
mov esi, dword [esp + 0x48]
imul ebx, esi
mov edi, dword [esp + 0x50]
add edi, ebx
mov ebx, dword [esp + 0x38]
add ebx, esi
mov edx, dword [esp + 0x2c]
add edx, esi
add ecx, esi
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x38]
cmp esi, ebp
je 0x499cd1
mov dword [esp + 0x10], ecx
mov dword [esp + 0x50], edi
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x78]
jmp 0x499de3
add esp, 0xbc
ret
mov dword [esp + 0x70], ecx
mov esi, dword [esp + 0xb8]
movzx edi, byte [ebp + esi]
movzx edx, byte [ebp + esi + 1]
mov dword [esp + 0x6c], edx
movzx eax, byte [ebp + esi + 2]
mov dword [esp + 0x68], eax
movzx ebx, byte [ebp + esi + 3]
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x40]
imul ebx, eax
mov dword [esp + 0x60], ebx
mov eax, 0x80008001
mul ebx
shr edx, 0xf
lea eax, [edx - 0xffff]
neg eax
imul edi, eax
mov edx, edi
shl edi, 8
add edx, edi
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x40]
imul edi, ebx
add edx, edi
mov edi, eax
mov eax, edx
mov ecx, 0x80008001
mul ecx
shr edx, 0x17
mov byte [esi + ebp], dl
mov eax, dword [esp + 0x6c]
imul eax, edi
mov edx, eax
shl eax, 8
add eax, edx
mov edx, dword [esp + 0x70]
imul edx, ebx
add eax, edx
mul ecx
shr edx, 0x17
mov byte [esi + ebp + 1], dl
mov eax, dword [esp + 0x68]
imul eax, edi
mov edx, eax
shl eax, 8
add eax, edx
mov edx, dword [esp + 0x58]
imul edx, ebx
add eax, edx
mul ecx
shr edx, 0x17
mov byte [esi + ebp + 2], dl
mov eax, dword [esp + 0x64]
imul edi, eax
mov eax, edi
shl edi, 8
add eax, edi
mov edx, dword [esp + 0x60]
add eax, edx
mul ecx
shr edx, 0x17
mov byte [esi + ebp + 3], dl
mov eax, dword [esp + 0x48]
lea edi, [ebp + eax*4]
mov edx, dword [esp + 0x14]
lea ebp, [eax + edx]
mov edx, dword [esp + 0x24]
lea ebx, [edx + eax]
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0xc0]
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x10]
mov edx, esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x54]
cmp esi, ebp
je 0x499c6f
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ebx
mov ebp, dword [esp + 0xe0]
mov edi, dword [ebp + 4]
mov esi, dword [ebp]
mov dword [esp + 0xb8], esi
mov esi, dword [ebp + 0x14]
sub ecx, esi
imul ecx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
sub ebx, esi
lea esi, [ebx + ecx]
cmp edi, esi
jbe 0x499f56
mov edi, dword [esp + 0xb8]
movzx esi, byte [esi + edi]
mov edi, esi
shl esi, 8
or esi, edi
mov dword [esp + 0x40], esi
mov ecx, dword [eax + 4]
mov edi, dword [eax]
mov dword [esp + 0xb8], edi
mov ebp, dword [eax + 0x14]
mov esi, dword [esp + 0x2c]
sub esi, ebp
imul esi, dword [eax + 0xc]
mov ebp, dword [eax + 0x10]
mov edi, dword [esp + 0x14]
sub edi, ebp
lea ebp, [esi + edi*4]
cmp ecx, ebp
jbe 0x499f4f
mov dword [esp + 0x74], esi
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0xb8]
movzx ebp, byte [esi + ebp]
mov dword [esp + 0x70], ebp
mov ebp, dword [esp + 0x74]
lea ebp, [ebp + edi*4 + 1]
cmp ecx, ebp
jbe 0x499f48
mov ebp, dword [esp + 0xc]
movzx ebp, byte [esi + ebp + 1]
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0x74]
lea ebp, [ebp + edi*4 + 2]
cmp ecx, ebp
jbe 0x499f41
mov ebp, dword [esp + 0xc]
movzx ebp, byte [esi + ebp + 2]
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x74]
lea ebp, [ebp + edi*4 + 3]
cmp ecx, ebp
jbe 0x499f3a
mov ebp, dword [esp + 0xc]
movzx ebp, byte [esi + ebp + 3]
mov esi, dword [esp + 0x70]
mov edi, esi
shl esi, 8
or esi, edi
mov dword [esp + 0x34], esi
mov edi, dword [esp + 0x6c]
mov ecx, edi
shl edi, 8
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x68]
shl edi, 8
mov esi, dword [esp + 0x68]
or edi, esi
mov dword [esp + 0x58], edi
mov esi, ebp
shl ebp, 8
or ebp, esi
mov dword [esp + 0x5c], ebp
mov esi, dword [edx]
mov dword [esp + 0xb8], esi
mov edi, dword [edx + 8]
mov ebp, dword [esp + 0x28]
lea esi, [ebp + 4]
cmp edi, esi
jb 0x499f31
cmp ebp, esi
jbe 0x499cd8
mov eax, ebp
mov ecx, esi
call fcn.00452c80
mov edx, esi
mov ebx, edi
call fcn.00452c60
mov eax, ebp
call fcn.00452bc0
mov eax, ebp
call fcn.00452bc0
mov eax, ebp
call fcn.00452bc0
mov eax, ebp
call fcn.00452bc0
mov eax, esi
mov ecx, edi
call fcn.00452bc0
nop
call fcn.00451710
jmp fcn.00499950