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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x464
mov eax, dword [0x474004]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x400
push 0
lea eax, [ebp - 0x404]
push eax
call fcn.0040d4e0
add esp, 0xc
mov dword [ebp - 0x408], 1
push 0
push 0
push 0
push 0
push str.Mozilla_5.0__Windows_NT_10.0__Win64__x64__AppleWebKit_537.36__KHTML__like_Gecko__Chrome_102.0.0.0_Safari_537.36
call dword [0x476598]
mov dword [ebp - 0x440], eax
cmp dword [ebp - 0x440], 0
je 0x40372b
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x414], ecx
mov edx, dword [ebp - 0x414]
add edx, 1
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0x414]
mov cl, byte [eax]
mov byte [ebp - 0x409], cl
add dword [ebp - 0x414], 1
cmp byte [ebp - 0x409], 0
jne 0x403361
mov edx, dword [ebp - 0x414]
sub edx, dword [ebp - 0x444]
mov dword [ebp - 0x448], edx
mov eax, dword [ebp - 0x448]
lea eax, [eax + eax + 2]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00401ac0
add esp, 4
mov dword [ebp - 0x44c], eax
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], 0
jmp 0x4033e1
mov ecx, dword [ebp - 0x434]
add ecx, 1
mov dword [ebp - 0x434], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x418]
add eax, 1
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x418]
mov dl, byte [ecx]
mov byte [ebp - 0x40a], dl
add dword [ebp - 0x418], 1
cmp byte [ebp - 0x40a], 0
jne 0x4033f9
mov eax, dword [ebp - 0x418]
sub eax, dword [ebp - 0x450]
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x454]
lea edx, [ecx + ecx + 2]
cmp dword [ebp - 0x434], edx
jae 0x40344f
xor eax, eax
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x438]
mov word [edx + ecx*2], ax
jmp 0x4033d2
mov eax, dword [ebp + 8]
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0x41c]
add ecx, 1
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x41c]
mov al, byte [edx]
mov byte [ebp - 0x40b], al
add dword [ebp - 0x41c], 1
cmp byte [ebp - 0x40b], 0
jne 0x403467
mov ecx, dword [ebp - 0x41c]
sub ecx, dword [ebp - 0x458]
mov dword [ebp - 0x460], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x420], edx
mov eax, dword [ebp - 0x420]
add eax, 1
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x420]
mov dl, byte [ecx]
mov byte [ebp - 0x40c], dl
add dword [ebp - 0x420], 1
cmp byte [ebp - 0x40c], 0
jne 0x4034af
mov eax, dword [ebp - 0x420]
sub eax, dword [ebp - 0x45c]
mov dword [ebp - 0x464], eax
mov ecx, dword [ebp - 0x460]
lea edx, [ecx + ecx + 2]
push edx
mov eax, dword [ebp - 0x438]
push eax
mov ecx, dword [ebp - 0x464]
add ecx, 1
push ecx
mov edx, dword [ebp + 8]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0x4000000
push 0
push 0
mov eax, dword [ebp - 0x438]
push eax
mov ecx, dword [ebp - 0x440]
push ecx
call dword [0x476580]
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x430], 0
cmp dword [ebp - 0x43c], 0
je 0x40372b
lea edx, [ebp - 0x408]
push edx
push 0x3ff
lea eax, [ebp - 0x404]
push eax
mov ecx, dword [ebp - 0x43c]
push ecx
call dword [0x47657c]
mov edx, dword [ebp - 0x408]
sub edx, 4
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x404]
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x428]
mov dword [ecx], edx
push 4
push 0x3000
mov eax, dword [ebp - 0x428]
add eax, dword [0x47658c]
push eax
push 0
call dword [0x476590]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0
jne 0x4035c6
or eax, 0xffffffff
jmp 0x40372e
mov dword [ebp - 0x410], 0
jmp 0x4035e1
mov eax, dword [ebp - 0x410]
add eax, 1
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0x428]
add ecx, dword [0x47658c]
cmp dword [ebp - 0x410], ecx
jae 0x403634
mov edx, dword [ebp - 0x410]
cmp edx, dword [0x47658c]
jae 0x403623
call fcn.004122b0
cdq
mov ecx, 0xfc
idiv ecx
add edx, 3
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x410]
mov byte [ecx + eax], dl
jmp 0x403632
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x410]
mov byte [edx + eax], 0
jmp 0x4035d2
mov dword [ebp - 0x424], 4
jmp 0x40364f
mov ecx, dword [ebp - 0x424]
add ecx, 1
mov dword [ebp - 0x424], ecx
mov edx, dword [ebp - 0x424]
cmp edx, dword [ebp - 0x408]
jae 0x403683
mov eax, dword [0x47658c]
mov ecx, dword [ebp - 0x424]
lea edx, [ecx + eax - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x424]
mov al, byte [ebp + eax - 0x404]
mov byte [ecx + edx], al
jmp 0x403640
mov ecx, dword [ebp - 0x430]
cmp ecx, dword [ebp - 0x428]
jae 0x40372b
cmp dword [ebp - 0x408], 0
jbe 0x40372b
lea edx, [ebp - 0x408]
push edx
push 0x3ff
lea eax, [ebp - 0x404]
push eax
mov ecx, dword [ebp - 0x43c]
push ecx
call dword [0x47657c]
mov dword [ebp - 0x42c], 0
jmp 0x4036dd
mov edx, dword [ebp - 0x42c]
add edx, 1
mov dword [ebp - 0x42c], edx
mov eax, dword [ebp - 0x42c]
cmp eax, dword [ebp - 0x408]
jae 0x403714
mov ecx, dword [ebp - 0x430]
add ecx, dword [0x47658c]
add ecx, dword [ebp - 0x42c]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov edx, dword [ebp - 0x42c]
mov dl, byte [ebp + edx - 0x404]
mov byte [eax + ecx], dl
jmp 0x4036ce
mov eax, dword [ebp - 0x430]
add eax, dword [ebp - 0x408]
mov dword [ebp - 0x430], eax
jmp 0x403683
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00406930
mov esp, ebp
pop ebp
ret