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

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0xa4
mov eax, dword [0x5756ec]
mov dword [ebp - 0x84], eax
mov eax, 0
mov dword [ebp - 0xa0], 0
mov eax, 0xffffffff
mov dword [ebp - 0x8c], 0xffffffff
mov eax, 0
mov dword [ebp - 0x58], 0
mov eax, 0
mov dword [ebp - 0x4c], 0
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.OLEAUT32.DLL_VariantInit]
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.OLEAUT32.DLL_VariantInit]
mov eax, 0xb
xchg edx, eax
lea eax, [ebp - 0x30]
mov dword [eax], edx
mov eax, 0
xchg edx, eax
lea eax, [ebp - 0x30]
mov dword [eax + 8], edx
mov eax, dword [ebp + 8]
mov edx, dword [0x56f67c]
cmp eax, edx
jne 0x4972d1
mov dword [ebp - 0xc], 0x5822a8
mov eax, 0xa
xchg edx, eax
lea eax, [ebp - 0x40]
mov dword [eax], edx
jmp 0x49749c
mov eax, dword [ebp + 8]
mov edx, dword [0x56f688]
cmp eax, edx
jne 0x4972f5
mov dword [ebp - 0xc], str.HEAD
mov eax, 0xa
xchg edx, eax
lea eax, [ebp - 0x40]
mov dword [eax], edx
jmp 0x49749c
xor eax, eax
inc eax
je 0x49748e
mov eax, dword [ebp + 8]
mov edx, dword [0x56f684]
cmp eax, edx
jne 0x497317
mov dword [ebp - 0xc], str.POST
jmp 0x49739e
mov eax, dword [0x5776a8]
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0xc]
mov edx, eax
mov eax, dword [ebp + 8]
shl eax, 4
add eax, edx
sub eax, 0x10
mov dword [ebp - 0xac], eax
push dword [ebp - 0xac]
call fcn.0044e28d
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0xac]
call fcn.0042f712
mov eax, 7
xchg edx, eax
lea eax, [ebp - 0x6c]
mov dword [eax], edx
mov eax, 0
xchg edx, eax
lea eax, [ebp - 0x6c]
mov dword [eax + 4], edx
mov eax, 0
xchg edx, eax
lea eax, [ebp - 0x6c]
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x6c]
push eax
call fcn.00432d0a
push eax
call dword [sym.imp.MSVCRT.DLL__wcsupr]
add esp, 4
mov dword [ebp - 0xc], eax
mov eax, 0
mov edx, dword [ebp + 0x14]
cmp eax, edx
jne 0x4973ba
mov eax, 0xa
xchg edx, eax
lea eax, [ebp - 0x40]
mov dword [eax], edx
jmp 0x49748c
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0x29
jne 0x497458
push dword [ebp + 0x14]
call fcn.00465716
mov dword [ebp - 0xa4], eax
push dword [ebp + 0x14]
call fcn.004656d5
mov dword [ebp - 0x8c], eax
push dword [ebp - 0x8c]
push 0
push 0x11
call dword [sym.imp.OLEAUT32.DLL_SafeArrayCreateVector]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0xa0]
call dword [sym.imp.OLEAUT32.DLL_SafeArrayAccessData]
push dword [ebp - 0x8c]
push dword [ebp - 0xa4]
push dword [ebp - 0x58]
call dword [sym.imp.MSVCRT.DLL_memcpy]
add esp, 0xc
push dword [ebp - 0xa0]
call dword [sym.imp.OLEAUT32.DLL_SafeArrayUnaccessData]
mov eax, 0x2000
or eax, 0x11
mov edx, eax
lea eax, [ebp - 0x40]
mov dword [eax], edx
mov eax, dword [ebp - 0xa0]
xchg edx, eax
lea eax, [ebp - 0x40]
mov dword [eax + 8], edx
jmp 0x49748c
mov eax, 8
xchg edx, eax
lea eax, [ebp - 0x40]
mov dword [eax], edx
xor eax, eax
push eax
lea eax, [ebp - 0x8c]
push eax
push dword [ebp + 0x14]
call fcn.00432d34
push eax
call dword [sym.imp.OLEAUT32.DLL_SysAllocString]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
xchg edx, eax
lea eax, [ebp - 0x40]
mov dword [eax + 8], edx
jmp 0x49749c
call 0x497493
pop eax
push eax
push 0x64
call fcn.004255d6
mov dword [ebp - 0x44], 0x5822c4
mov eax, 0
mov dword [ebp - 0x48], 0
lea eax, [ebp - 0x20]
push eax
push str.WinHttp.WinHttpRequest.5.1
call dword [sym.imp.OLE32.DLL_CLSIDFromProgID]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0
jl 0x4974e5
push dword [ebp - 0x44]
push dword [0x57723c]
push 1
push 0
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.OLE32.DLL_CoCreateInstance]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0
jl 0x497567
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
push dword [ebp - 0xc]
call dword [sym.imp.OLEAUT32.DLL_SysAllocString]
mov dword [ebp - 0x50], eax
push dword [ebp + 0xc]
call fcn.00432d0a
push eax
call dword [sym.imp.OLEAUT32.DLL_SysAllocString]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x30]
mov eax, dword [eax + 0xc]
push eax
lea eax, [ebp - 0x30]
mov eax, dword [eax + 8]
push eax
lea eax, [ebp - 0x30]
mov eax, dword [eax + 4]
push eax
lea eax, [ebp - 0x30]
mov eax, dword [eax]
push eax
push dword [ebp - 0x54]
push dword [ebp - 0x50]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x24]
call eax
mov dword [ebp - 0x10], eax
push dword [ebp - 0x50]
call dword [sym.imp.OLEAUT32.DLL_SysFreeString]
push dword [ebp - 0x54]
call dword [sym.imp.OLEAUT32.DLL_SysFreeString]
mov eax, dword [ebp - 0x10]
cmp eax, 0
jl 0x4976aa
mov eax, dword [ebp + 0x10]
cmp eax, 0
je 0x497631
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0xc]
xchg edx, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
xchg edx, eax
xchg edx, eax
shl eax, 4
add eax, edx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x74], eax
jmp 0x497625
push dword [ebp - 0x70]
call fcn.0044fa31
push eax
call fcn.00432d0a
push eax
call dword [sym.imp.OLEAUT32.DLL_SysAllocString]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x70]
add eax, 0x10
mov dword [ebp - 0x70], eax
push dword [ebp - 0x70]
call fcn.00432d0a
push eax
call dword [sym.imp.OLEAUT32.DLL_SysAllocString]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x70]
add eax, 0x10
mov dword [ebp - 0x70], eax
push dword [ebp - 0x50]
push dword [ebp - 0x54]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x28]
call eax
push dword [ebp - 0x50]
call dword [sym.imp.OLEAUT32.DLL_SysFreeString]
push dword [ebp - 0x54]
call dword [sym.imp.OLEAUT32.DLL_SysFreeString]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x74]
cmp eax, edx
jb 0x4975bc
jmp 0x497670
push str.application_x_www_form_urlencoded
push str.Content_Type
push dword [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.004971e2
push str.UTF_8
push str.Accept_Charset
push dword [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.004971e2
push str.Mozilla_5.0__Windows_NT_6.1__Win64__x64_
push str.User_Agent
push dword [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.004971e2
lea eax, [ebp - 0x40]
mov eax, dword [eax + 0xc]
push eax
lea eax, [ebp - 0x40]
mov eax, dword [eax + 8]
push eax
lea eax, [ebp - 0x40]
mov eax, dword [eax + 4]
push eax
lea eax, [ebp - 0x40]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x34]
call eax
mov dword [ebp - 0x10], eax
jmp 0x4976b5
mov eax, dword [ebp - 0x84]
jmp 0x497904
mov eax, 0
mov edx, dword [ebp - 0xa0]
cmp eax, edx
sete al
xor ah, ah
cwde
xor al, 1
cmp eax, 0
je 0x4976dd
push dword [ebp - 0xa0]
call dword [sym.imp.OLEAUT32.DLL_SafeArrayDestroy]
mov eax, dword [ebp - 0x10]
cmp eax, 0
jl 0x4977a6
mov eax, dword [ebp + 0x20]
cmp eax, 0
je 0x49777b
push 3
call fcn.00441712
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x38]
call eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0
jl 0x497754
push dword [ebp - 0x8c]
push dword [ebp - 0x88]
call fcn.0044d326
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x30]
call eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0
jl 0x49777b
push dword [ebp - 0x58]
call fcn.00497029
push eax
push dword [ebp - 0x88]
call fcn.00440c7e
push dword [ebp - 0x58]
call dword [sym.imp.OLEAUT32.DLL_SysFreeString]
mov eax, dword [ebp - 0x4c]
cmp eax, 0
je 0x49778e
push dword [ebp - 0x4c]
call dword [sym.imp.OLEAUT32.DLL_SysFreeString]
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x44]
call eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0
jl 0x4978e3
lea eax, [ebp - 0x40]
mov eax, dword [eax + 8]
mov dword [ebp - 0x80], eax
mov eax, 0x2000
or eax, 0x11
push eax
pop edx
xchg edx, eax
lea eax, [ebp - 0x40]
mov eax, dword [eax]
xchg edx, eax
cmp eax, edx
jne 0x4977ed
push dword [ebp - 0x80]
call dword [sym.imp.OLEAUT32.DLL_SafeArrayGetDim]
mov edx, eax
mov eax, 1
cmp eax, edx
jne 0x4977ed
jmp 0x4977f1
xor eax, eax
jmp 0x4977f4
xor eax, eax
inc eax
cmp eax, 0
je 0x4978a2
mov eax, 0
mov dword [ebp - 0x78], 0
mov eax, 0
mov dword [ebp - 0x7c], 0
lea eax, [ebp - 0x78]
push eax
push 1
push dword [ebp - 0x80]
call dword [sym.imp.OLEAUT32.DLL_SafeArrayGetLBound]
lea eax, [ebp - 0x7c]
push eax
push 1
push dword [ebp - 0x80]
call dword [sym.imp.OLEAUT32.DLL_SafeArrayGetUBound]
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x80]
call dword [sym.imp.OLEAUT32.DLL_SafeArrayAccessData]
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
sub eax, edx
inc eax
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x49786b
push dword [ebp - 0x8c]
push dword [ebp - 0x58]
call fcn.00467125
jmp 0x497893
mov eax, dword [ebp + 0x1c]
cmp eax, 0
je 0x497885
push dword [ebp - 0x8c]
push dword [ebp - 0x58]
call fcn.00496152
jmp 0x497893
push dword [ebp - 0x8c]
push dword [ebp - 0x58]
call fcn.00495ed5
mov dword [ebp - 0x84], eax
push dword [ebp - 0x80]
call dword [sym.imp.OLEAUT32.DLL_SafeArrayUnaccessData]
lea eax, [ebp - 0x40]
mov eax, dword [eax]
and eax, 0x2000
cmp eax, 0
jle 0x4978bc
push dword [ebp - 0x80]
call dword [sym.imp.OLEAUT32.DLL_SafeArrayDestroy]
mov eax, dword [ebp + 0x20]
cmp eax, 0
je 0x4978e3
push dword [ebp - 0x84]
push dword [ebp - 0x88]
call fcn.00440c7e
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x48]
cmp eax, 0
je 0x4978fe
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebp - 0x84]
leave
ret 0x1c