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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x190]
cmp eax, dword [ecx + 8]
jbe 0x49caa5
sub esp, 0x210
mov eax, dword [esp + 0x218]
test eax, eax
je 0x49ca80
mov ecx, dword [esp + 0x214]
movzx edx, byte [ecx]
cmp dl, 0x2d
jne 0x49ca68
sete dl
lea ebx, [eax - 1]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add ebx, ecx
cmp ebp, 1
jne 0x49bdc5
cmp byte [ebx], 0x30
je 0x49ca35
test ebp, ebp
je 0x49c954
mov byte [esp + 0x2e], dl
xor esi, esi
xor edi, edi
jmp 0x49bf87
inc ebp
cmp ebp, eax
jge 0x49bdfa
jae 0x49ca9b
movzx esi, byte [edx + ebp]
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
je 0x49bdfa
add esi, 0xffffffd0
xchg esi, eax
cmp al, 9
xchg esi, eax
ja 0x49bdda
test ebp, ebp
je 0x49c4ed
cmp ebp, eax
ja 0x49ca92
mov dword [esp + 0x68], ebp
mov dword [esp + 0x208], edx
mov dword [esp + 0x8c], eax
movsd qword [esp + 0x90], xmm0
lea eax, [0x552120]
mov dword [esp], eax
mov ecx, dword [0x77f898]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
call fcn.0040ee00
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x208]
add eax, ebx
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
movzx edi, byte [esp + 0x14]
xchg edi, eax
test al, al
xchg edi, eax
je 0x49c391
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x8c], edx
mov dword [esp + 0x20c], eax
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0x7fffffff
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
call fcn.00451cb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
setl al
sete dl
mov ebx, dword [esp + 0x34]
cmp dword [esp + 0x10], ebx
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, edx
or ebp, eax
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x49c2a2
mov eax, ebx
mov edx, dword [esp + 0x3c]
mov ebp, edx
mul edx
mov esi, dword [esp + 0x70]
test esi, esi
xchg edi, ebx
sete bl
xchg edi, ebx
xchg esi, ebx
setg bl
xchg esi, ebx
xchg esi, eax
mov byte [esp + 0x2f], al
xchg esi, eax
mov esi, dword [esp + 0x6c]
test esi, esi
xchg esi, ebx
seta bl
xchg esi, ebx
imul ecx, ebp
add ecx, edx
mov edx, dword [esp + 0x40]
imul ebx, edx
add ecx, ebx
and esi, edi
movzx ebx, byte [esp + 0x2f]
or ebx, esi
test bl, bl
jne 0x49c106
mov edx, dword [esp + 0x74]
add eax, edx
mov edx, dword [esp + 0x78]
adc ecx, edx
test ecx, ecx
setl dl
test eax, eax
setb bl
test ecx, ecx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x49c017
mov edx, dword [esp + 0x20c]
mov ebx, dword [esp + 0x8c]
movzx edx, byte [esp + 0x2e]
mov ebp, ebx
mov ebx, dword [esp + 0x20c]
mov esi, ecx
mov edi, eax
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x214]
test ebp, ebp
je 0x49c914
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], edi
movzx edx, byte [ebx]
cmp dl, 0x2e
jne 0x49c825
mov dword [esp + 0x8c], ebp
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0049ba50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x18]
test ebp, ebp
jne 0x49c736
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ecx
test eax, eax
je 0x49bfe7
cmp byte [edx], 0x2e
je 0x49c6d5
mov ebp, eax
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x6c], eax
movsd xmm0, qword [0x5be280]
mov eax, ebp
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x8c]
cmp edi, ebp
je 0x49c5dc
xor ebp, ebp
jmp 0x49bddb
lea eax, [esp + 0x180]
mov dword [esp], eax
lea eax, [0x576675]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov ecx, dword [esp + 0x214]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x218]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
call fcn.00445020
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
lea edx, [0x582657]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x17
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00444fc0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x204], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x60], ecx
lea edx, [0x556340]
mov dword [esp], edx
call fcn.0040b1d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x60]
mov dword [edi + 4], eax
mov eax, dword [0x795b00]
test eax, eax
jne 0x49c0f8
mov eax, dword [esp + 0x204]
mov dword [edi], eax
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], 0
lea eax, [0x5c0850]
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], edi
add esp, 0x210
ret
mov eax, dword [esp + 0x204]
call fcn.0045a0f0
jmp 0x49c0c7
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
call fcn.004518d0
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x98], xmm0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
call fcn.004518d0
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x90]
divsd xmm0, xmm1
movsd xmm1, qword [esp + 0x98]
mulsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.00451830
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x84]
add eax, ecx
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x88]
adc edx, ecx
test edx, edx
setl cl
test eax, eax
setb bl
test edx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x49c1b3
mov ecx, edx
jmp 0x49bf2c
lea eax, [esp + 0x1a0]
mov dword [esp], eax
lea eax, [0x576675]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov ecx, dword [esp + 0x214]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x218]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
call fcn.00445020
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
lea edx, [0x582657]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x17
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00444fc0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1ec], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
lea edx, [0x556340]
mov dword [esp], edx
call fcn.0040b1d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x4c]
mov dword [edi + 4], eax
mov eax, dword [0x795b00]
test eax, eax
jne 0x49c294
mov eax, dword [esp + 0x1ec]
mov dword [edi], eax
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], 0
lea eax, [0x5c0850]
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], edi
add esp, 0x210
ret
mov eax, dword [esp + 0x1ec]
call fcn.0045a0f0
jmp 0x49c263
lea eax, [esp + 0x1c0]
mov dword [esp], eax
lea eax, [0x576675]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov ecx, dword [esp + 0x214]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x218]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
call fcn.00445020
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
lea edx, [0x582657]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x17
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00444fc0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1f4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], ecx
lea edx, [0x556340]
mov dword [esp], edx
call fcn.0040b1d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x50]
mov dword [edi + 4], eax
mov eax, dword [0x795b00]
test eax, eax
jne 0x49c383
mov eax, dword [esp + 0x1f4]
mov dword [edi], eax
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], 0
lea eax, [0x5c0850]
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], edi
add esp, 0x210
ret
mov eax, dword [esp + 0x1f4]
call fcn.0045a0f0
jmp 0x49c352
lea eax, [esp + 0xc0]
mov dword [esp], eax
lea eax, [0x576675]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
call fcn.00445020
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1e0], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x30], ecx
lea edx, [esp + 0xa0]
mov dword [esp], edx
lea edx, [0x576675]
mov dword [esp + 4], edx
mov dword [esp + 8], 1
mov ebx, dword [esp + 0x214]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x218]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 1
call fcn.00445020
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
lea edx, [0x58072e]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x13
mov edx, dword [esp + 0x1e0]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], edx
lea edx, [0x57c837]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 0xd
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
call fcn.00445080
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1f8], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x64], ecx
lea edx, [0x556340]
mov dword [esp], edx
call fcn.0040b1d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x64]
mov dword [edi + 4], eax
mov eax, dword [0x795b00]
test eax, eax
jne 0x49c4df
mov eax, dword [esp + 0x1f8]
mov dword [edi], eax
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], 0
lea eax, [0x5c0850]
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], edi
add esp, 0x210
ret
mov eax, dword [esp + 0x1f8]
call fcn.0045a0f0
jmp 0x49c4ae
lea eax, [esp + 0xe0]
mov dword [esp], eax
lea eax, [0x576675]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov ecx, dword [esp + 0x214]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x218]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
call fcn.00445020
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
lea edx, [0x585697]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1f
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00444fc0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1e4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x58], ecx
lea edx, [0x556340]
mov dword [esp], edx
call fcn.0040b1d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x58]
mov dword [edi + 4], eax
mov eax, dword [0x795b00]
test eax, eax
jne 0x49c5ce
mov eax, dword [esp + 0x1e4]
mov dword [edi], eax
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], 0
lea eax, [0x5c0850]
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], edi
add esp, 0x210
ret
mov eax, dword [esp + 0x1e4]
call fcn.0045a0f0
jmp 0x49c59d
xchg esi, eax
test al, al
xchg esi, eax
jne 0x49c010
lea eax, [esp + 0x100]
mov dword [esp], eax
lea eax, [0x576675]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov ecx, dword [esp + 0x214]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x218]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
call fcn.00445020
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
lea edx, [0x582657]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x17
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00444fc0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1e8], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x48], ecx
lea edx, [0x556340]
mov dword [esp], edx
call fcn.0040b1d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x48]
mov dword [edi + 4], eax
mov eax, dword [0x795b00]
test eax, eax
jne 0x49c6c7
mov eax, dword [esp + 0x1e8]
mov dword [edi], eax
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], 0
lea eax, [0x5c0850]
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], edi
add esp, 0x210
ret
mov eax, dword [esp + 0x1e8]
call fcn.0045a0f0
jmp 0x49c696
mov dword [esp + 0x80], eax
lea ecx, [eax - 1]
mov dword [esp + 0x7c], ecx
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
add ecx, edx
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.0049bbf0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
cmp ecx, eax
xchg esi, ebx
setne bl
xchg esi, ebx
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x34]
jmp 0x49bffd
lea eax, [esp + 0x120]
mov dword [esp], eax
lea eax, [0x576675]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov ecx, dword [esp + 0x214]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x218]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
call fcn.00445020
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
lea edx, [0x582657]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x17
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00444fc0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1f0], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], ecx
lea edx, [0x556340]
mov dword [esp], edx
call fcn.0040b1d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [0x795b00]
test eax, eax
jne 0x49c817
mov eax, dword [esp + 0x1f0]
mov dword [edi], eax
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], 0
lea eax, [0x5c0850]
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], edi
add esp, 0x210
ret
mov eax, dword [esp + 0x1f0]
call fcn.0045a0f0
jmp 0x49c7e6
cmp dl, 0x30
jb 0x49c833
cmp dl, 0x39
jbe 0x49bfa3
lea edx, [esp + 0x140]
mov dword [esp], edx
lea edx, [0x576675]
mov dword [esp + 4], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 1
call fcn.00445020
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
lea edx, [0x582657]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x17
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00444fc0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x200], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], ecx
lea edx, [0x556340]
mov dword [esp], edx
call fcn.0040b1d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x54]
mov dword [edi + 4], eax
mov eax, dword [0x795b00]
test eax, eax
jne 0x49c906
mov eax, dword [esp + 0x200]
mov dword [edi], eax
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], 0
lea eax, [0x5c0850]
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], edi
add esp, 0x210
ret
mov eax, dword [esp + 0x200]
call fcn.0045a0f0
jmp 0x49c8d5
test dl, dl
je 0x49c94e
xor eax, eax
sub eax, edi
mov ecx, 0
sbb ecx, esi
mov dword [esp + 0x21c], eax
mov dword [esp + 0x220], ecx
mov dword [esp + 0x224], 0
mov dword [esp + 0x228], 0
add esp, 0x210
ret
mov ecx, esi
mov eax, edi
jmp 0x49c923
lea edx, [esp + 0x160]
mov dword [esp], edx
lea edx, [0x576675]
mov dword [esp + 4], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 1
call fcn.00445020
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
lea edx, [0x582657]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x17
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00444fc0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1fc], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x5c], ecx
lea edx, [0x556340]
mov dword [esp], edx
call fcn.0040b1d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x5c]
mov dword [edi + 4], eax
mov eax, dword [0x795b00]
test eax, eax
jne 0x49ca27
mov eax, dword [esp + 0x1fc]
mov dword [edi], eax
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], 0
lea eax, [0x5c0850]
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], edi
add esp, 0x210
ret
mov eax, dword [esp + 0x1fc]
call fcn.0045a0f0
jmp 0x49c9f6
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0
mov dword [esp + 0x228], 0
add esp, 0x210
ret
cmp dl, 0x2b
jne 0x49ca75
cmp dl, 0x2d
jmp 0x49bda5
mov ebp, eax
mov ebx, ecx
xor edx, edx
jmp 0x49bdb7
mov ecx, dword [esp + 0x214]
mov ebp, eax
mov ebx, ecx
xor edx, edx
jmp 0x49bdb7
mov ecx, ebp
mov edx, eax
call fcn.0045a190
mov ecx, eax
mov eax, ebp
call fcn.0045a170
nop
call fcn.00458ba0
jmp fcn.0049bd60