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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x98]
cmp eax, dword [ecx + 8]
jbe 0x4f3e84
sub esp, 0x118
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 4], eax
call fcn.004f3e90
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
test cl, cl
je 0x4f3e16
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x10c], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004f40d0
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test al, al
je 0x4f3e16
mov eax, ecx
neg ecx
test edx, edx
je 0x4f32f7
cmp byte [ebx], 0x2c
jne 0x4f3360
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], ecx
mov eax, dword [esp + 0x128]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x140], eax
mov dword [esp + 0x14c], 0x7fffffff
mov dword [esp + 0x148], 0xffffffff
mov byte [esp + 0x150], 0
mov byte [esp + 0x151], 1
add esp, 0x118
ret
mov dword [esp + 0x94], eax
mov dword [esp + 0x38], ecx
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.004f3e90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
movzx edx, byte [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
test dl, dl
je 0x4f3db2
mov dword [esp + 0x114], ecx
mov dword [esp + 0x90], eax
test ebx, ebx
je 0x4f33ac
cmp byte [ebp], 0x2c
jne 0x4f33c1
mov esi, dword [esp + 0x94]
add esi, 0xfffff1f0
xchg esi, ebx
neg ebx
xchg esi, ebx
jmp 0x4f33f2
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.004f40d0
movzx edx, byte [esp + 0x14]
mov esi, dword [esp + 8]
xchg esi, ebx
neg ebx
xchg esi, ebx
mov ebp, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x114]
test dl, dl
je 0x4f3db2
mov dword [esp + 0x94], esi
test ebx, ebx
jne 0x4f3426
call fcn.00508440
mov ebp, dword [esp]
mov ebx, dword [esp + 4]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x114]
mov esi, dword [esp + 0x94]
test ebx, ebx
jbe 0x4f3e7a
movzx edx, byte [ebp]
cmp dl, 0x2c
je 0x4f34a0
cmp dl, 0x3b
je 0x4f34a0
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x148], 0
mov byte [esp + 0x150], 0
mov byte [esp + 0x151], 0
add esp, 0x118
ret
lea edi, [esp + 0xe4]
xor eax, eax
call fcn.0045222b
lea edi, [esp + 0xd0]
call fcn.0045222b
lea ecx, [ebx - 1]
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
add ecx, ebp
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.004f45c0
movzx ecx, byte [esp + 0x24]
mov byte [esp + 0x2b], cl
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
lea edi, [esp + 0xf8]
lea esi, [esp + 8]
call fcn.0045270e
lea edi, [esp + 0xe4]
lea esi, [esp + 0xf8]
call fcn.0045270e
movzx ecx, byte [esp + 0x2b]
test cl, cl
je 0x4f3d4e
test edx, edx
je 0x4f3d4e
cmp byte [ebx], 0x2c
jne 0x4f3d4e
lea eax, [edx - 1]
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 1
add eax, ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004f45c0
movzx eax, byte [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x8c], ecx
lea edi, [esp + 0xf8]
lea esi, [esp + 8]
call fcn.0045270e
lea edi, [esp + 0xd0]
lea esi, [esp + 0xf8]
call fcn.0045270e
test al, al
je 0x4f3cea
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x4f3cea
mov eax, dword [esp + 0x12c]
add eax, 0x1ad9c900
mov edx, dword [esp + 0x130]
adc edx, 0x7ffffffe
mov dword [esp + 4], edx
mov dword [esp], eax
mov byte [esp + 8], 0
call fcn.004f1f20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x34], eax
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 0x88], eax
mov edx, ecx
add ecx, 0xd116ebf
adc eax, 0x44
mov ebp, eax
shr eax, 1
mov esi, eax
mov eax, 0xa3d70a3e
mov edi, edx
mul esi
shr edx, 7
mov dword [esp + 0x84], edx
imul eax, edx, 0x190
sub ebp, eax
mov eax, ebp
mov esi, 0xa3d70a
mul esi
mov dword [esp + 0x80], eax
mov esi, ecx
shr ecx, 1
mov eax, ecx
mov ebx, 0xa3d70a3e
mov ecx, edx
mul ebx
shr edx, 7
mov dword [esp + 0x7c], edx
imul eax, edx, 0x190
sub esi, eax
lea eax, [ebp + ebp*2]
shl eax, 5
add eax, esi
shr eax, 1
mov ebp, eax
mov eax, ebx
mov esi, edx
mul ebp
shr edx, 7
mov dword [esp + 0x78], edx
add esi, 0
mov ebp, dword [esp + 0x80]
add ebp, esi
add edx, ebp
mov dword [esp + 0x30], edx
mov eax, 0x190
mul edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov eax, 0x23ab1
mov ebx, dword [esp + 0x30]
mul ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x7c]
add ebx, 0
mov ebx, dword [esp + 0x84]
adc ebx, 0
mov edx, dword [esp + 0x80]
add edx, esi
adc ecx, ebx
mov edx, dword [esp + 0x78]
add edx, ebp
adc ecx, 0
mov dword [esp + 0x68], ecx
imul edx, ecx, 0x190
mov ebx, dword [esp + 0x74]
add edx, ebx
mov ebx, dword [esp + 0x70]
sub edi, ebx
mov dword [esp + 0x84], edi
mov ebx, dword [esp + 0x88]
sbb ebx, edx
mov dword [esp + 0x88], ebx
add edi, 0xd116ebf
adc ebx, 0x44
mov dword [esp + 0xcc], ebx
shr ebx, 1
mov eax, ebx
mov ecx, 0xa3d70a3e
mul ecx
shr edx, 5
mov dword [esp + 0x80], edx
imul eax, edx, 0x64
mov ebp, dword [esp + 0xcc]
sub ebp, eax
mov eax, ebp
mov esi, 0x28f5c28
mul esi
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
mov esi, edi
shr edi, 1
mov eax, ecx
mul edi
shr edx, 5
mov dword [esp + 0x74], edx
imul eax, edx, 0x64
sub esi, eax
lea eax, [ebp + ebp*2]
shl eax, 5
add eax, esi
shr eax, 1
mov ebp, eax
mov eax, ecx
mov ecx, edx
mul ebp
shr edx, 5
add ecx, 0
mov ebp, dword [esp + 0x78]
mov esi, ebp
add ebp, ecx
mov edi, edx
add edx, ebp
mov dword [esp + 0x30], edx
mov eax, 0x64
mul edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x70], eax
mov eax, 0x8eac
mov ebx, dword [esp + 0x30]
mul ebx
mov dword [esp + 0xc8], edx
mov dword [esp + 0xc4], eax
mov ebx, dword [esp + 0x74]
add ebx, 0
mov ebx, dword [esp + 0x80]
adc ebx, 0
add esi, ecx
mov ecx, dword [esp + 0x7c]
adc ecx, ebx
add edi, ebp
adc ecx, 0
mov dword [esp + 0xcc], ecx
imul ebx, ecx, 0x64
mov ebp, dword [esp + 0x78]
add ebx, ebp
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x70]
sub ebp, esi
mov dword [esp + 0x84], ebp
mov esi, dword [esp + 0x88]
sbb esi, ebx
mov dword [esp + 0x88], esi
mov ebx, ebp
add ebp, 0xd116ebf
adc esi, 0x44
mov dword [esp + 0xc0], esi
shr ebp, 2
shl esi, 0x1e
or esi, ebp
mov dword [esp + 0x80], esi
mov ebp, eax
mov eax, 0x5b5
mul esi
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
shl esi, 2
mov dword [esp + 0x74], esi
sub ebx, esi
mov dword [esp + 0x70], ebx
add ebx, 0xd116ebf
mov eax, 0x16d
mul ebx
mov dword [esp + 0xbc], edx
mov dword [esp + 0xb8], eax
mov ebx, dword [esp + 0x3c]
add ebx, ebp
mov dword [esp + 0xb4], ebx
mov edx, dword [esp + 0x78]
add edx, ebx
mov dword [esp + 0xb0], edx
add eax, edx
mov dword [esp + 0xac], eax
mov eax, 0x15180
mov edx, dword [esp + 0xac]
mul edx
mov dword [esp + 0xac], edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x130]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x15180
call fcn.0044d570
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa4], ecx
nop
mov edx, dword [esp + 0x34]
mov dword [esp], edx
lea edi, [esp + 4]
lea esi, [esp + 0xe4]
call fcn.0045270e
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], ecx
call fcn.004f4da0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0xd0]
call fcn.0045270e
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x18], ecx
call fcn.004f4da0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xa0], eax
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x8c]
mov ebx, edx
sar edx, 0x1f
mov dword [esp + 0x9c], edx
cmp edx, eax
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ebx, ecx
xchg edi, ebx
seta bl
xchg edi, ebx
mov eax, dword [esp + 0x60]
imul eax, eax, 0x15180
mov dword [esp + 0x98], eax
sar eax, 0x1f
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x98]
add ecx, edx
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0xa4]
adc edx, eax
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x68]
imul eax, eax, 0x23ab1
mov ecx, dword [esp + 0x6c]
add eax, ecx
mov ecx, dword [esp + 0xcc]
imul ecx, ecx, 0x8eac
mov edx, dword [esp + 0xc8]
add ecx, edx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xc4]
add edx, ebx
adc ecx, eax
mov eax, dword [esp + 0xc0]
shr eax, 2
mov edx, eax
shl eax, 2
mov ebx, dword [esp + 0x80]
shr ebx, 0x1e
or ebx, eax
mov eax, dword [esp + 0x84]
mov ebp, dword [esp + 0x74]
sub eax, ebp
mov eax, dword [esp + 0x88]
sbb eax, ebx
mov ebx, dword [esp + 0x70]
add ebx, 0xd116ebf
adc eax, 0x44
imul edx, edx, 0x5b5
mov ebx, dword [esp + 0x7c]
add edx, ebx
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0xb4]
add ebx, ebp
adc edx, ecx
imul eax, eax, 0x16d
mov ecx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb0]
add ecx, ebx
adc eax, edx
imul eax, eax, 0x15180
mov ecx, dword [esp + 0xac]
add eax, ecx
mov ecx, dword [esp + 0x58]
mov edx, ecx
add ecx, 0xe5263700
mov ebx, eax
adc eax, 0x80000001
and edi, esi
movzx ebp, byte [esp + 0x2b]
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x4f3ab6
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0xa0]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0x10c]
mov dword [esp + 0x110], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x114]
mov dword [esp + 0x10c], ebp
mov ebp, dword [esp + 0x40]
jmp 0x4f3b02
mov ebp, dword [esp + 0x9c]
mov esi, dword [esp + 0x8c]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0x114]
mov dword [esp + 0x110], ebp
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x40], ebp
xchg edi, eax
mov byte [esp + 0x2a], al
xchg edi, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x84], ebx
mov ecx, dword [esp + 0x50]
cmp ebp, ecx
setg al
xchg edi, ebx
sete bl
xchg edi, ebx
mov ebx, dword [esp + 0x4c]
cmp ebx, esi
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, edi
or ebp, eax
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4f3c6d
mov eax, dword [esp + 0x48]
cmp eax, ecx
setl cl
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov edi, dword [esp + 0x44]
cmp ebx, edi
setae bl
and ebx, ebp
or ebx, ecx
test bl, bl
je 0x4f3be4
add edi, edx
mov ecx, dword [esp + 0x84]
adc eax, ecx
add edi, 0xe5263700
adc eax, 0x80000001
add edx, 0xe7076a80
adc ecx, 0x80000001
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0x134], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x138], ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x144], eax
mov dword [esp + 0x140], edi
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x148], edx
movzx eax, byte [esp + 0x2a]
mov byte [esp + 0x150], al
mov byte [esp + 0x151], 1
add esp, 0x118
ret
add esi, edx
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x40]
adc ebx, ecx
add esi, 0xe5263700
adc ebx, 0x80000001
add edx, edi
adc ecx, eax
add edx, 0xe5263700
adc ecx, 0x80000001
mov eax, dword [esp + 0x110]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x144], ebx
mov dword [esp + 0x140], esi
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x148], edx
movzx eax, byte [esp + 0x2a]
xor eax, 1
mov byte [esp + 0x150], al
mov byte [esp + 0x151], 1
add esp, 0x118
ret
add edx, esi
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x40]
adc eax, ecx
add edx, 0xe5263700
adc eax, 0x80000001
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x134], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x13c], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x144], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x14c], eax
mov dword [esp + 0x148], edx
movzx eax, byte [esp + 0x2a]
mov byte [esp + 0x150], al
mov byte [esp + 0x151], 1
add esp, 0x118
ret
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x148], 0
mov byte [esp + 0x150], 0
mov byte [esp + 0x151], 0
add esp, 0x118
ret
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x148], 0
mov byte [esp + 0x150], 0
mov byte [esp + 0x151], 0
add esp, 0x118
ret
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x148], 0
mov byte [esp + 0x150], 0
mov byte [esp + 0x151], 0
add esp, 0x118
ret
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x148], 0
mov byte [esp + 0x150], 0
mov byte [esp + 0x151], 0
add esp, 0x118
ret
xor eax, eax
mov ecx, eax
call fcn.004520a0
nop
call fcn.00450c10
jmp fcn.004f3260