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

Disassembly:
sub esp, 0x48
push ebx
push ebp
mov ebp, dword [esp + 0x54]
movaps xmm0, xmm3
push esi
movsd qword [esp + 0x44], xmm0
mov ebx, edx
mov eax, dword [esp + 0x44]
push edi
mov edi, ecx
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x4c]
or eax, ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x54], edi
jne 0x495f7e
xor ecx, ecx
mov eax, ebx
test ebp, ebp
setne cl
sub eax, edi
add ecx, 5
add ecx, ebp
cmp eax, ecx
jge 0x495f56
mov edx, 0x84
mov eax, ebx
jmp 0x4964ed
mov byte [edi], 0x30
inc edi
test ebp, ebp
je 0x495f70
push ebp
mov byte [edi], 0x2e
inc edi
push 0x30
push edi
call fcn.00640240
add esp, 0xc
add edi, ebp
mov dword [edi], 0x30302b65
lea eax, [edi + 4]
jmp 0x4964eb
mov esi, ecx
mov dword [esp + 0x2c], 9
and esi, 0xfffff
shr ecx, 0x14
mov dword [esp + 0x24], esi
test ecx, ecx
jne 0x495fbf
mov dword [esp + 0x20], 0xfffffbce
mov edx, ecx
mov eax, dword [esp + 0x20]
mov esi, ecx
inc ebp
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ecx
jmp 0x4961ac
mov eax, dword [esp + 0x28]
lea edx, [ecx - 0x433]
or esi, 0x100000
mov dword [esp + 0x34], eax
xor ecx, ecx
mov dword [esp + 0x30], esi
inc ebp
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
mov esi, ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
cmp edx, 0xffffffcc
jl 0x4961a0
test edx, edx
jns 0x49601b
mov dword [esp + 0x40], ecx
inc ecx
push 0x78
pop eax
mov dword [esp + 0x2c], ecx
jmp 0x496070
add edx, 0xf
shr edx, 4
mov eax, edx
mov dword [esp + 0x40], edx
shl eax, 4
add eax, 0x78
mov dword [esp + 0x44], eax
imul eax, edx, 0x134410
xor edx, edx
shr eax, 0x12
add eax, 0x19
div dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
sub eax, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
js 0x4961a0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
sub eax, edx
add eax, 8
mov dword [esp + 0x30], esi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x34]
mov edx, eax
shld dword [esp + 0x30], edx, 8
lfence
shl edx, 8
mov dword [esp + 0x44], edx
imul edx, ecx, 9
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x40]
push dword [esp + 0x30]
mov edx, dword [esp + 0x4c]
push dword [esp + 0x48]
movzx eax, word [eax*2 + 0x733d30]
add eax, ecx
imul ecx, eax, 0x18
add ecx, 0x6fac80
call fcn.00495c87
mov edx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], edx
pop ecx
pop ecx
test eax, eax
je 0x496114
lea esi, [eax + 9]
push 9
pop eax
cmp esi, ebp
ja 0x496198
mov ecx, ebx
sub ecx, edi
cmp ecx, eax
jl 0x495f4a
mov ecx, dword [esp + 0x1c]
mov edx, edi
call fcn.0049b586
push 9
pop eax
add edi, eax
xor ecx, ecx
jmp 0x496173
xor ecx, ecx
mov esi, ecx
mov dword [esp + 0x14], esi
test edx, edx
je 0x49617d
mov ecx, edx
call fcn.00495aa0
mov esi, eax
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x14], esi
add eax, esi
mov dword [esp + 0x18], eax
cmp esi, ebp
ja 0x49619e
cmp dword [esp + 0x38], 0
jbe 0x496162
mov ecx, ebx
lea eax, [esi + 1]
sub ecx, edi
cmp ecx, eax
jl 0x495f4a
push edi
mov ecx, esi
lfence
call fcn.00495e39
pop ecx
add edi, esi
jmp 0x496170
cmp edi, ebx
je 0x495f4a
mov al, dl
add al, 0x30
mov byte [edi], al
xor ecx, ecx
inc edi
mov dword [esp + 0x10], esi
mov esi, ecx
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x2c]
push 9
dec eax
pop edx
sub dword [esp + 0x34], edx
mov dword [esp + 0x2c], eax
test eax, eax
js 0x4961a0
mov ecx, eax
jmp 0x4960ae
mov esi, eax
mov dword [esp + 0x14], esi
xor ecx, ecx
mov eax, dword [esp + 0x20]
test eax, eax
jns 0x496313
lfence
test esi, esi
jne 0x496313
cdq
and edx, 0xf
add edx, eax
sar edx, 4
neg edx
lfence
mov dword [esp + 0x2c], edx
movzx eax, byte [edx + 0x734000]
mov dword [esp + 0x34], eax
cmp eax, 0xc8
jae 0x496313
imul eax, eax, 9
mov dword [esp + 0x30], eax
movzx eax, byte [edx + 0x734000]
movzx edx, word [edx*2 + 0x733db0]
sub edx, eax
mov eax, dword [esp + 0x2c]
add edx, dword [esp + 0x34]
mov dword [esp + 0x48], edx
movzx eax, word [eax*2 + 0x733db2]
cmp edx, eax
jae 0x496249
imul ecx, dword [esp + 0x48], 0x18
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push 8
pop edx
sub edx, dword [esp + 0x2c]
add ecx, 0x701f40
shld eax, esi, 8
shl edx, 4
sub edx, dword [esp + 0x20]
shl esi, 8
push eax
push esi
lfence
call fcn.00495c87
mov esi, dword [esp + 0x1c]
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
test eax, eax
je 0x4962aa
add eax, 9
mov dword [esp + 0x48], eax
push 9
cmp eax, ebp
ja 0x496310
mov eax, ebx
sub eax, edi
pop edx
cmp eax, edx
jl 0x495f4a
mov edx, edi
call fcn.0049b586
push 9
pop eax
add edi, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
xor ecx, ecx
mov eax, dword [esp + 0x30]
inc dword [esp + 0x34]
push 9
pop edx
add eax, edx
mov dword [esp + 0x30], eax
cmp eax, 0x708
jge 0x496313
mov edx, dword [esp + 0x2c]
jmp 0x4961e6
test ecx, ecx
je 0x496287
call fcn.00495aa0
mov esi, eax
sub eax, dword [esp + 0x30]
push 0xa
pop edx
sub eax, edx
mov dword [esp + 0x18], eax
cmp esi, ebp
ja 0x496313
cmp dword [esp + 0x38], 0
jbe 0x4962f0
mov ecx, ebx
lea eax, [esi + 1]
sub ecx, edi
cmp ecx, eax
jl 0x495f4a
mov edx, dword [esp + 0x1c]
mov ecx, esi
push edi
lfence
call fcn.00495e39
pop ecx
add edi, esi
jmp 0x4962fe
cmp edi, ebx
je 0x495f4a
mov al, cl
add al, 0x30
mov byte [edi], al
xor ecx, ecx
mov dword [esp + 0x10], esi
mov esi, ecx
inc edi
mov dword [esp + 0x14], esi
jmp 0x496289
pop eax
mov esi, eax
mov ecx, ebp
xor edx, edx
sub ecx, dword [esp + 0x10]
test esi, esi
push 5
cmovne edx, dword [esp + 0x20]
and dword [esp + 0x44], 0
mov eax, edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x4c], edx
pop eax
cmp esi, ecx
jbe 0x4963cd
sub esi, ecx
je 0x4963d1
push 0xa
mov eax, edx
pop ebx
xor edx, edx
div ebx
mov ecx, edx
mov dword [esp + 0x40], ecx
sub esi, 1
jne 0x49634d
mov ebx, dword [esp + 0x50]
push 5
mov dword [esp + 0x30], eax
pop eax
cmp ecx, eax
mov ecx, dword [esp + 0x14]
jne 0x4963cd
sub ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
lea ecx, [eax + ebp]
neg ecx
test ecx, ecx
jle 0x49639d
cmp ecx, 0x3c
jge 0x496399
push esi
push dword [esp + 0x2c]
call fcn.00495c55
pop ecx
pop ecx
test al, al
jne 0x49639d
xor al, al
jmp 0x49639f
mov al, 1
test ebp, ebp
jns 0x4963bf
test al, al
je 0x4963bd
push esi
push dword [esp + 0x2c]
call fcn.00495ba2
neg ebp
pop ecx
pop ecx
cmp eax, ebp
jb 0x4963bd
mov al, 1
jmp 0x4963bf
xor al, al
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
movzx ebp, al
inc ebp
jmp 0x4963d9
mov edx, dword [esp + 0x2c]
cmp eax, dword [esp + 0x40]
sbb ebp, ebp
neg ebp
cmp dword [esp + 0x10], 0
je 0x49640e
mov eax, ebx
sub eax, edi
cmp eax, ecx
jl 0x495f4a
test edx, edx
jne 0x4963fe
push ecx
push 0x30
push edi
call fcn.00640240
add esp, 0xc
jmp 0x496408
push edi
lfence
call fcn.0049b5f7
pop ecx
add edi, dword [esp + 0x14]
jmp 0x496447
cmp dword [esp + 0x38], 0
jbe 0x496439
mov esi, dword [esp + 0x14]
mov ecx, ebx
sub ecx, edi
lea eax, [esi + 1]
cmp ecx, eax
jl 0x495f4a
push edi
mov ecx, esi
lfence
call fcn.00495e39
inc edi
pop ecx
add edi, esi
jmp 0x496447
cmp edi, ebx
je 0x495f4a
add dl, 0x30
mov byte [edi], dl
inc edi
test ebp, ebp
je 0x496484
mov edx, dword [esp + 0x54]
mov eax, edi
cmp edi, edx
je 0x49646c
dec eax
mov cl, byte [eax]
cmp cl, 0x2e
je 0x496468
cmp cl, 0x39
jne 0x496476
xor ebp, ebp
mov byte [eax], 0x30
inc ebp
cmp eax, edx
jne 0x496455
mov esi, dword [esp + 0x18]
mov byte [eax], 0x31
inc esi
jmp 0x496488
cmp ebp, 1
je 0x496480
test cl, 1
je 0x496484
inc cl
mov byte [eax], cl
mov esi, dword [esp + 0x18]
mov eax, esi
mov ecx, ebx
cdq
xor eax, edx
sub eax, edx
xor edx, edx
cmp eax, 0x64
setge dl
sub ecx, edi
add edx, 4
cmp ecx, edx
jl 0x495f4a
test esi, esi
mov byte [edi], 0x65
sets cl
lea ecx, [ecx*2 + 0x2b]
mov byte [edi + 1], cl
cmp eax, 0x64
jl 0x4964da
push 0xa
cdq
pop esi
idiv esi
add dl, 0x30
mov ax, word [eax*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 2], ax
mov byte [edi + 4], dl
add edi, 5
jmp 0x4964e9
mov ax, word [eax*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 2], ax
add edi, 4
mov eax, edi
xor edx, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret