Function at 0x403c37
Capabilities:
Parse url
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
add esp, reloc.gdi32.dll_SetWorldTransform
push edi
push ebx
mov dword [ebp - 0x54], 0
xor ebx, ebx
push reloc.gdi32.dll_SetWorldTransform
call fcn.00401888
mov dword [ebp - 0x40], eax
push reloc.gdi32.dll_SetWorldTransform
call fcn.00401888
mov dword [ebp - 0x48], eax
push reloc.gdi32.dll_SetWorldTransform
call fcn.00401888
mov dword [ebp - 0x44], eax
push reloc.gdi32.dll_SetWorldTransform
call fcn.00401888
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], 0x1000
lea edi, [ebp - 0x3c]
mov ecx, reloc.shlwapi.dll_PathGetDriveNumberW
xor eax, eax
rep stosb byte es:[edi], al
mov dword [ebp - reloc.shlwapi.dll_PathGetDriveNumberW], 0x3c
push dword [ebp - 0x40]
pop dword [ebp - 0x2c]
push dword [ebp - 0x48]
pop dword [ebp - 0x10]
mov dword [ebp - 0x28], 0xfff
mov dword [ebp - 0xc], 0xfff
lea eax, [ebp - 0x3c]
push eax
push reloc.gdi32.dll_SetWorldTransform
push 0
push dword [ebp + 8]
call sub.wininet.dll_InternetCrackUrlA
and eax, eax
je reloc.gdi32.dll_SetWorldTransform
cmp dword [ebp - 0x2c], 0
jne reloc.gdi32.dll_SetWorldTransform
jmp reloc.gdi32.dll_SetWorldTransform
mov dword [ebp - 0x50], 0xfff
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x44]
push reloc.gdi32.dll_SetWorldTransform
lea eax, [ebp - 0x3c]
push eax
call sub.wininet.dll_InternetCreateUrlA
and eax, eax
jne reloc.gdi32.dll_SetWorldTransform
jmp reloc.gdi32.dll_SetWorldTransform
mov eax, dword [ebp - 0x48]
mov byte [eax], 0
lea edi, [ebp - 0x3c]
mov ecx, reloc.shlwapi.dll_PathGetDriveNumberW
xor eax, eax
rep stosb byte es:[edi], al
mov dword [ebp - reloc.shlwapi.dll_PathGetDriveNumberW], 0x3c
push dword [ebp - 0x48]
pop dword [ebp - 0x10]
mov dword [ebp - 0x28], 0xfff
mov dword [ebp - 0xc], 0xfff
lea eax, [ebp - 0x3c]
push eax
push 0
push 0
push dword [ebp - 0x44]
call sub.wininet.dll_InternetCrackUrlA
and eax, eax
je reloc.gdi32.dll_SetWorldTransform
cmp dword [ebp - 0x2c], 0
jne reloc.gdi32.dll_SetWorldTransform
jmp reloc.gdi32.dll_SetWorldTransform
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x58]
push 0
call sub.urlmon.dll_ObtainUserAgentString
test eax, eax
js reloc.gdi32.dll_SetWorldTransform
push dword [ebp - 0x58]
push dword [ebp + 0x10]
push dword [ebp - 0x40]
push dword [ebp - 0x48]
push reloc.shlwapi.dll_SHRegGetBoolUSValueA
push dword [ebp - 0x44]
call sub.user32.dll_wsprintfA
add esp, 0x18
jmp reloc.gdi32.dll_SetWorldTransform
push reloc.shlwapi.dll_StrTrimW
push dword [ebp + 0x10]
push dword [ebp - 0x40]
push dword [ebp - 0x48]
push reloc.shlwapi.dll_SHRegGetBoolUSValueA
push dword [ebp - 0x44]
call sub.user32.dll_wsprintfA
add esp, 0x18
movzx eax, word [ebp - 0x24]
push eax
push 0
push dword [ebp - 0x40]
call fcn.0040380c
and eax, eax
jne reloc.gdi32.dll_SetWorldTransform
jmp reloc.gdi32.dll_SetWorldTransform
mov dword [ebp - 0x4c], eax
push dword [ebp - 0x4c]
call fcn.00403c09
push dword [ebp - 0x44]
call sub.kernel32.dll_lstrlenA
push eax
push dword [ebp - 0x44]
push dword [ebp - 0x4c]
call fcn.00403890
and eax, eax
jne reloc.gdi32.dll_SetWorldTransform
jmp reloc.gdi32.dll_SetWorldTransform
cmp dword [ebp + 0x10], 0
je reloc.gdi32.dll_SetWorldTransform
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0x4c]
call fcn.00403890
and eax, eax
jne reloc.gdi32.dll_SetWorldTransform
jmp reloc.gdi32.dll_SetWorldTransform
mov ebx, eax
and ebx, ebx
je reloc.gdi32.dll_SetWorldTransform
lea eax, [ebp - 0x54]
push eax
push dword [ebp + 0x14]
push dword [ebp - 0x4c]
call fcn.00403a84
mov ebx, eax
push dword [ebp - 0x4c]
call sub.wsock32.dll_closesocket
push dword [ebp - 0x40]
call fcn.00401871
push dword [ebp - 0x44]
call fcn.00401871
push dword [ebp - 0x48]
call fcn.00401871
push dword [ebp - 0x58]
call fcn.00401871
cmp dword [ebp - 0x54], 0
je reloc.gdi32.dll_SetWorldTransform
push dword [ebp - 0x54]
call fcn.00401871
mov eax, ebx
pop ebx
pop edi
leave
ret 0x10