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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xa8]
cmp eax, dword [ecx + 8]
jbe 0x4a22c8
sub esp, 0x128
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
call fcn.004a22e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test dl, dl
jne 0x4a186a
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov byte [esp + 0x160], 0
mov byte [esp + 0x161], 0
add esp, 0x128
ret
mov dword [esp + 0x60], ecx
mov dword [esp + 0x118], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.004a2530
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x14]
mov ebx, dword [esp + 8]
test dl, dl
je 0x4a1806
neg ebx
test eax, eax
jne 0x4a1909
mov eax, dword [esp + 0x118]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ebx
mov eax, dword [esp + 0x134]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], 0xffffffff
mov dword [esp + 0x15c], 0x7fffffff
mov byte [esp + 0x160], 0
mov byte [esp + 0x161], 1
add esp, 0x128
ret
cmp byte [ecx], 0x2c
je 0x4a18a0
mov dword [esp + 0x5c], ebx
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004a22e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x18]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
test dl, dl
je 0x4a221b
mov dword [esp + 0xc4], ebp
mov dword [esp + 0x124], ebx
test eax, eax
jne 0x4a227f
mov esi, dword [esp + 0x5c]
mov edi, ebx
lea ebx, [esi + 0xe10]
test dl, dl
je 0x4a221b
test eax, eax
jne 0x4a1974
mov eax, 0xf
lea ecx, [0x67ca5b]
test eax, eax
jbe 0x4a22be
mov dword [esp + 0xc0], ebx
movzx edx, byte [ecx]
cmp dl, 0x2c
je 0x4a1994
cmp dl, 0x3b
jne 0x4a21b7
mov dword [esp + 0x12c], ecx
lea edi, [esp + 0xd8]
mov edx, eax
xor eax, eax
call fcn.0045cbbb
lea edi, [esp + 0xec]
call fcn.0045cbbb
lea ecx, [edx - 1]
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
mov ebx, dword [esp + 0x12c]
add ecx, ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.004a2780
lea esi, [esp + 8]
mov dword [esp + 0x120], esi
lea edi, [esp + 0x100]
call fcn.0045d09e
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x130], ecx
mov edx, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x24]
lea edi, [esp + 0xd8]
lea esi, [esp + 0x100]
call fcn.0045d09e
test bl, bl
je 0x4a1a26
mov eax, dword [esp + 0x130]
test eax, eax
jne 0x4a1a8a
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov byte [esp + 0x160], 0
mov byte [esp + 0x161], 0
add esp, 0x128
ret
cmp byte [edx], 0x2c
jne 0x4a1a26
dec eax
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 1
add eax, edx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004a2780
lea edi, [esp + 0x100]
mov esi, dword [esp + 0x120]
call fcn.0045d09e
mov eax, dword [esp + 0x20]
movzx ecx, byte [esp + 0x24]
mov byte [esp + 0x2b], cl
lea edi, [esp + 0xec]
lea esi, [esp + 0x100]
call fcn.0045d09e
movzx ecx, byte [esp + 0x2b]
test cl, cl
je 0x4a1ae8
test eax, eax
jle 0x4a1b4c
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov byte [esp + 0x160], 0
mov byte [esp + 0x161], 0
add esp, 0x128
ret
mov eax, dword [esp + 0x13c]
add eax, 0x1ad9c900
mov dword [esp], eax
mov eax, dword [esp + 0x140]
adc eax, 0x7ffffffe
mov dword [esp + 4], eax
mov byte [esp + 8], 0
call fcn.0049f4e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
mov edx, dword [esp + 0x140]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x15180
mov dword [esp + 0xc], 0
call fcn.00454450
mov eax, dword [esp + 0x38]
imul eax, eax, 0x15180
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb8], ecx
add eax, ecx
mov dword [esp + 0x2c], eax
mov ebx, dword [esp + 0x34]
mov ebp, ebx
add ebx, 0xd116ebf
mov dword [esp + 0x3c], ebx
mov esi, dword [esp + 0x14]
mov dword [esp + 0xb4], esi
nop
mov dword [esp], ebx
mov edi, ebp
sar ebp, 0x1f
add edi, 0xd116ebf
adc ebp, 0x44
mov dword [esp + 0xb0], ebp
mov dword [esp + 4], ebp
mov dword [esp + 8], 0x190
mov dword [esp + 0xc], 0
call fcn.00454120
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0x190
mul ecx
mov ebx, dword [esp + 0x3c]
mov ebp, ebx
sub ebx, eax
mov dword [esp + 0x3c], ebx
mov esi, eax
mov eax, 0x23ab1
mov edi, edx
mul ecx
mov dword [esp + 0xac], edx
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], ecx
mov dword [esp], ebx
imul edx, ecx, 0x190
add edx, edi
sub ebp, esi
mov ebp, dword [esp + 0xb0]
sbb ebp, edx
mov dword [esp + 0xb0], ebp
mov dword [esp + 4], ebp
mov dword [esp + 8], 0x64
mov dword [esp + 0xc], 0
call fcn.00454120
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0x64
mul ecx
mov ebx, dword [esp + 0x3c]
mov ebp, ebx
sub ebx, eax
mov dword [esp + 0x3c], ebx
mov esi, eax
mov eax, 0x8eac
mov edi, edx
mul ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0x64]
add ecx, eax
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x9c], eax
imul edx, eax, 0x64
add edx, edi
sub ebp, esi
mov ebp, dword [esp + 0xb0]
sbb ebp, edx
mov dword [esp + 0xb0], ebp
mov edx, ebx
shr ebx, 2
shl ebp, 0x1e
or ebp, ebx
mov dword [esp + 0x98], ebp
mov ebx, ebp
shl ebp, 2
mov dword [esp + 0x94], ebp
sub edx, ebp
mov dword [esp + 0x50], edx
mov eax, 0x5b5
mul ebx
mov dword [esp + 0x90], edx
mov dword [esp + 0x8c], eax
add eax, ecx
mov dword [esp + 0x88], eax
mov eax, 0x16d
mov ecx, dword [esp + 0x50]
mul ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x88]
add eax, ecx
mov dword [esp + 0x68], eax
mov eax, 0x15180
mov ecx, dword [esp + 0x68]
mul ecx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x6c], eax
add eax, 0xe5263700
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
lea ecx, [esp + 4]
mov dword [esp + 0x11c], ecx
mov edi, ecx
lea esi, [esp + 0xd8]
call fcn.0045d09e
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x18], ecx
call fcn.004a2c80
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
mov edi, dword [esp + 0x11c]
lea esi, [esp + 0xec]
call fcn.0045d09e
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x18], ecx
call fcn.004a2c80
mov eax, dword [esp + 0xbc]
mov ecx, eax
sar eax, 0x1f
mov edx, dword [esp + 0xb8]
add ecx, edx
mov ecx, dword [esp + 0xb4]
adc ecx, eax
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x54]
imul eax, eax, 0x23ab1
mov edx, dword [esp + 0xac]
add eax, edx
mov edx, dword [esp + 0x9c]
imul edx, edx, 0x8eac
mov ebx, dword [esp + 0xa8]
add edx, ebx
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0xa4]
add ebx, ebp
adc eax, edx
mov edx, dword [esp + 0xb0]
mov ebx, edx
shr edx, 2
mov ebp, edx
shl edx, 2
mov esi, dword [esp + 0x98]
shr esi, 0x1e
or esi, edx
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x94]
sub edx, edi
sbb ebx, esi
imul edx, ebp, 0x5b5
mov ebp, dword [esp + 0x90]
add edx, ebp
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0xa0]
add ebp, esi
adc edx, eax
imul eax, ebx, 0x16d
mov ebx, dword [esp + 0x84]
add eax, ebx
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x88]
add ebx, ebp
adc eax, edx
imul eax, eax, 0x15180
mov edx, dword [esp + 0x7c]
add eax, edx
mov dword [esp + 0xb8], eax
mov edx, dword [esp + 0x6c]
add edx, 0xe5263700
adc eax, 0x80000001
mov dword [esp + 0x70], eax
mov ebp, dword [esp + 0x74]
mov esi, ebp
sar ebp, 0x1f
mov edi, dword [esp + 0x1c]
mov dword [esp + 0xbc], edi
sar edi, 0x1f
cmp ebp, edi
setg al
sete dl
mov ebx, dword [esp + 0xbc]
cmp esi, ebx
seta cl
and ecx, edx
or ecx, eax
test cl, cl
je 0x4a2147
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0x124]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ebx
mov byte [esp + 0x2a], cl
mov dword [esp + 0x4c], edi
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0x30]
cmp edi, ecx
xchg edi, ebx
setg bl
xchg edi, ebx
sete dl
mov eax, dword [esp + 0x2c]
cmp ebx, eax
seta bl
and ebx, edx
or ebx, edi
test bl, bl
jne 0x4a20b7
cmp ecx, ebp
setg cl
sete dl
cmp eax, esi
setae al
and eax, edx
or eax, ecx
test al, al
je 0x4a1ffc
mov eax, dword [esp + 0x6c]
mov ecx, eax
add eax, esi
mov edx, eax
add eax, 0xe5263700
mov ebx, ecx
add ecx, 0xe7076a80
mov edi, dword [esp + 0x114]
mov dword [esp + 0x144], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x148], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x14c], edi
mov dword [esp + 0x150], eax
add esi, ebx
mov eax, dword [esp + 0xb8]
adc ebp, eax
add edx, 0xe5263700
adc ebp, 0x80000001
mov dword [esp + 0x154], ebp
mov dword [esp + 0x158], ecx
add ebx, 0xe7076a80
adc eax, 0x80000001
mov dword [esp + 0x15c], eax
movzx eax, byte [esp + 0x2a]
mov byte [esp + 0x160], al
mov byte [esp + 0x161], 1
add esp, 0x128
ret
mov dword [esp + 0x58], ebp
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x48]
mov edx, eax
add eax, ecx
mov ebx, eax
add eax, 0xe5263700
mov edi, edx
add edx, esi
mov dword [esp + 0xac], edx
add edx, 0xe5263700
mov ebp, dword [esp + 0x118]
mov dword [esp + 0x144], ebp
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x148], ebp
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x14c], ebp
mov dword [esp + 0x150], eax
add ecx, edi
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x4c]
adc ecx, eax
add ebx, 0xe5263700
adc ecx, 0x80000001
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edx
add edi, esi
mov ecx, dword [esp + 0x58]
adc eax, ecx
mov ecx, dword [esp + 0xac]
add ecx, 0xe5263700
adc eax, 0x80000001
mov dword [esp + 0x15c], eax
movzx eax, byte [esp + 0x2a]
xor eax, 1
mov byte [esp + 0x160], al
mov byte [esp + 0x161], 1
add esp, 0x128
ret
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x48]
mov edx, eax
add eax, ecx
mov ebx, eax
add eax, 0xe5263700
mov ebp, dword [esp + 0x114]
mov dword [esp + 0x144], ebp
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x148], ebp
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x14c], ebp
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x150], ebp
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x154], ebp
mov dword [esp + 0x158], eax
add edx, ecx
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x4c]
adc eax, ecx
add ebx, 0xe5263700
adc eax, 0x80000001
mov dword [esp + 0x15c], eax
movzx eax, byte [esp + 0x2a]
mov byte [esp + 0x160], al
mov byte [esp + 0x161], 1
add esp, 0x128
ret
mov ebx, esi
mov esi, dword [esp + 0xbc]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x118]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x60]
mov byte [esp + 0xd0], cl
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x60], ecx
movzx ecx, byte [esp + 0xd0]
mov byte [esp + 0xc8], cl
mov ecx, edi
mov edi, ebp
mov ebp, ecx
movzx ecx, byte [esp + 0xd0]
jmp 0x4a1f16
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov byte [esp + 0x160], 0
mov byte [esp + 0x161], 0
add esp, 0x128
ret
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov byte [esp + 0x160], 0
mov byte [esp + 0x161], 0
add esp, 0x128
ret
cmp byte [ecx], 0x2c
je 0x4a1951
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004a2530
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
movzx edx, byte [esp + 0x14]
neg ebx
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x124]
jmp 0x4a195d
mov ecx, eax
xor eax, eax
call fcn.0045c9a0
nop
call fcn.0045b380
jmp fcn.004a17b0