Function at 0x62c470
Capabilities:
Reference http user-agent string

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x62c9e9
sub esp, 0x2c
mov edx, dword [esp + 0x38]
cmp edx, 1
jb 0x62c9dc
lea eax, [edx - 1]
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 1
mov ebx, dword [esp + 0x34]
add eax, ebx
cmp edx, 1
je 0x62c7bb
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0062edd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x62c797
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
cmp eax, 0x66
jg 0x62c56d
cmp eax, 0x37
jg 0x62c527
cmp eax, 0x30
je 0x62c51a
cmp eax, 0x31
jl 0x62c710
test ebx, ebx
je 0x62c814
movzx esi, byte [ebp]
xchg esi, eax
cmp al, 0x30
xchg esi, eax
jb 0x62c814
xchg esi, eax
cmp al, 0x37
xchg esi, eax
ja 0x62c814
add eax, 0xffffffd0
mov ecx, 1
jmp 0x62c9a5
cmp eax, 0x61
je 0x62c551
cmp eax, 0x66
jne 0x62c710
mov dword [esp + 0x3c], 0xc
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
add esp, 0x2c
ret
mov dword [esp + 0x3c], 7
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
add esp, 0x2c
ret
cmp eax, 0x72
jg 0x62c5b8
cmp eax, 0x6e
je 0x62c59c
cmp eax, 0x72
jne 0x62c710
mov dword [esp + 0x3c], 0xd
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
add esp, 0x2c
ret
mov dword [esp + 0x3c], 0xa
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
add esp, 0x2c
ret
cmp eax, 0x74
je 0x62c77b
cmp eax, 0x76
je 0x62c75f
cmp eax, 0x78
jne 0x62c710
test ebx, ebx
je 0x62c814
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.0062edd0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x62c6e4
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
cmp eax, 0x7b
jne 0x62c60d
xor eax, eax
xor ecx, ecx
jmp 0x62c8a8
lea ecx, [eax - 0x30]
cmp ecx, 9
jbe 0x62c634
lea ecx, [eax - 0x61]
cmp ecx, 5
ja 0x62c622
lea ecx, [eax - 0x57]
jmp 0x62c634
lea ecx, [eax - 0x41]
cmp ecx, 5
ja 0x62c62f
lea ecx, [eax - 0x37]
jmp 0x62c634
mov ecx, 0xffffffff
mov dword [esp + 0x1c], ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0062edd0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x62c6b8
mov eax, dword [esp + 8]
lea ebx, [eax - 0x30]
cmp ebx, 9
jbe 0x62c677
lea ebx, [eax - 0x61]
cmp ebx, 5
ja 0x62c665
lea ebx, [eax - 0x57]
jmp 0x62c677
lea ebx, [eax - 0x41]
cmp ebx, 5
ja 0x62c672
lea ebx, [eax - 0x37]
jmp 0x62c677
mov ebx, 0xffffffff
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
test ebp, ebp
jl 0x62c687
test ebx, ebx
jge 0x62c68e
mov ebx, eax
jmp 0x62c814
shl ebp, 4
lea ecx, [ebx + ebp]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
add esp, 0x2c
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
add esp, 0x2c
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
add esp, 0x2c
ret
cmp eax, 0x80
jge 0x62c814
lea esi, [eax - 0x30]
cmp esi, 9
jbe 0x62c814
lea esi, [eax - 0x41]
cmp esi, 0x19
jbe 0x62c814
lea esi, [eax - 0x61]
cmp esi, 0x19
jbe 0x62c814
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
add esp, 0x2c
ret
mov dword [esp + 0x3c], 0xb
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
add esp, 0x2c
ret
mov dword [esp + 0x3c], 9
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
add esp, 0x2c
ret
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
add esp, 0x2c
ret
lea eax, [0x70b8e0]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x27
lea ecx, [0x74a439]
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
lea ecx, [0x7b14e8]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
add esp, 0x2c
ret
mov ecx, dword [esp + 0x38]
mov edx, ecx
sub ecx, ebx
cmp edx, ecx
jb 0x62c894
mov dword [esp + 0x28], ecx
lea eax, [0x70b8e0]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x17
lea ecx, [0x7420a7]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x62c85c
mov ecx, dword [esp + 0x34]
jmp 0x62c867
call fcn.00468e60
mov ecx, dword [esp + 0x34]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
lea ecx, [0x7b14e8]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
add esp, 0x2c
ret
call fcn.00468ef0
mov esi, dword [esp + 0x20]
inc esi
mov ecx, eax
mov eax, esi
mov edx, ebp
mov ebp, ebx
mov ebx, edx
test ebp, ebp
je 0x62c985
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0062edd0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x62c959
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
cmp eax, 0x7d
je 0x62c929
lea esi, [eax - 0x30]
cmp esi, 9
jbe 0x62c908
lea esi, [eax - 0x61]
cmp esi, 5
ja 0x62c8f6
lea esi, [eax - 0x57]
jmp 0x62c908
lea esi, [eax - 0x41]
cmp esi, 5
ja 0x62c903
lea esi, [eax - 0x37]
jmp 0x62c908
mov esi, 0xffffffff
test esi, esi
jl 0x62c814
mov eax, dword [esp + 0x24]
shl eax, 4
add eax, esi
cmp eax, 0x10ffff
jle 0x62c899
jmp 0x62c814
mov eax, dword [esp + 0x20]
test eax, eax
je 0x62c814
mov eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
add esp, 0x2c
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
add esp, 0x2c
ret
mov ebx, ebp
jmp 0x62c814
movzx edx, dl
dec ebx
mov esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
inc ecx
lea eax, [edx + eax*8 - 0x30]
add ebp, esi
cmp ecx, 3
jge 0x62c9bc
test ebx, ebx
je 0x62c9bc
movzx edx, byte [ebp]
cmp dl, 0x30
jb 0x62c9bc
cmp dl, 0x37
jbe 0x62c98c
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
add esp, 0x2c
ret
mov eax, 1
xor ecx, ecx
call fcn.00468f30
nop
call fcn.00467a60
jmp fcn.0062c470