Function at 0x401a45
Capabilities:
Accept command line arguments
Get geographical location

Disassembly:
sub esp, 0xd24
push ebx
push ebp
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
call fcn.00401016
and byte [esp + 0x30], 0
and dword [esp + 0x18], 0
push 1
mov word [0x407650], ax
pop ebp
push 0
mov dword [esp + 0x14], ebp
call fcn.00402f6f
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, 0x40764c
mov dword [esp], 0x4063f8
push edi
call esi
lea eax, [esp + 0x1c]
push str.joff
push eax
call esi
mov dword [esp + 0x14], ebp
call dword [sym.imp.MSVCRT.dll___p___argc]
cmp dword [eax], ebp
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ebx, 0x4063ec
jle 0x401be5
mov edi, dword [sym.imp.MSVCRT.dll___p___argv]
mov eax, dword [esp + 0x14]
push str._lang
mov esi, eax
shl esi, 2
call edi
mov eax, dword [eax]
push dword [eax + esi]
call dword [sym.imp.MSVCRT.dll_strstr]
pop ecx
test eax, eax
pop ecx
je 0x401b16
push 0x4063e0
call edi
mov eax, dword [eax]
push dword [eax + esi]
call dword [sym.imp.MSVCRT.dll_strstr]
inc eax
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
mov esi, eax
push esi
call fcn.0040107a
add esp, 0x10
test eax, eax
je 0x401bca
mov word [0x407650], si
jmp 0x401bca
push 3
push 0x4063dc
call edi
mov eax, dword [eax]
push dword [eax + esi]
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x401b65
lea eax, [esp + 0x30]
push ebx
push eax
call ebp
call edi
mov eax, dword [eax]
push dword [eax + esi]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
sub eax, 4
push eax
call edi
mov eax, dword [eax]
mov eax, dword [eax + esi]
add eax, 3
push eax
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.MSVCRT.dll_strncat]
add esp, 0xc
jmp 0x401bc2
push 2
push 0x4063d8
call edi
mov eax, dword [eax]
push dword [eax + esi]
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x401b94
lea eax, [esp + 0x30]
push ebx
push eax
call ebp
call edi
mov eax, dword [eax]
mov eax, dword [eax + esi]
inc eax
inc eax
push eax
jmp 0x401bbb
push 0x4063d4
call edi
mov eax, dword [eax]
push dword [eax + esi]
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x401bb4
mov dword [esp + 0x18], 1
jmp 0x401bca
call edi
mov eax, dword [eax]
push dword [eax + esi]
lea eax, [esp + 0x34]
push eax
call ebp
lea eax, [esp + 0x30]
push ebx
push eax
call ebp
inc dword [esp + 0x14]
call dword [sym.imp.MSVCRT.dll___p___argc]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax]
jl 0x401abc
mov edi, 0x40764c
call fcn.004016cf
test eax, eax
jne 0x401c12
lea eax, [esp + 0x30]
push eax
push 0x407448
push dword [esp + 0xd40]
call fcn.0040175a
add esp, 0xc
test eax, eax
jne 0x401c12
push 0xfffffffffffffffe
jmp 0x401c93
lea eax, [esp + 0x430]
push eax
call fcn.004019d6
lea eax, [esp + 0x434]
push eax
push str.JAVA_INSTALLER
push 0x65
push dword [esp + 0xd48]
call fcn.00401598
add esp, 0x14
test eax, eax
je 0x401dcc
lea eax, [esp + 0x934]
push eax
call fcn.00401254
test eax, eax
pop ecx
jne 0x401c5d
and dword [0x406010], eax
xor esi, esi
cmp dword [0x407754], esi
jne 0x401c6f
cmp dword [0x406010], esi
je 0x401c7c
push edi
push 0x407654
call fcn.004024d8
pop ecx
pop ecx
push 0x104
push 0x407448
call fcn.00401857
pop ecx
test eax, eax
pop ecx
jne 0x401c99
push 0xfffffffffffffffd
pop eax
jmp 0x401df3
cmp dword [esp + 0x18], esi
je 0x401cc1
lea eax, [esp + 0x30]
push 0x4063c0
push eax
call dword [sym.imp.MSVCRT.dll_strstr]
pop ecx
test eax, eax
pop ecx
jne 0x401cc1
lea eax, [esp + 0x30]
push str.__qn
push eax
call ebp
xor eax, eax
mov esi, 0x40754c
cmp dword [0x407754], eax
je 0x401d0f
lea eax, [esp + 0x30]
push str._METHOD
push eax
call ebp
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x34]
push eax
call ebp
lea eax, [esp + 0x30]
push ebx
push eax
call ebp
push edi
xor ebx, ebx
push str.Country
push ebx
call fcn.00402ae2
push esi
push str.PostStatusUrl
push ebx
call fcn.00402ae2
add esp, 0x18
jmp 0x401d20
push eax
push str.PostStatusUrl
push eax
call fcn.00402ae2
add esp, 0xc
xor ebx, ebx
mov ax, word [0x407650]
cmp ax, 0x409
jne 0x401d56
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x434]
push eax
push 0x407448
lea eax, [esp + 0x540]
push str.__s___i___s___s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x401d82
movzx eax, ax
lea ecx, [esp + 0x30]
push ecx
push eax
lea eax, [esp + 0x438]
push eax
push 0x407448
lea eax, [esp + 0x544]
push str.__s___i___s__TRANSFORMS:_d__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
lea eax, [esp + 0x534]
push eax
call fcn.00401661
cmp dword [0x407754], ebx
pop ecx
mov dword [esp + 0x10], eax
je 0x401dce
cmp eax, ebx
je 0x401dce
cmp eax, 0xbc2
je 0x401dce
cmp eax, 0x669
je 0x401dce
push eax
push ebx
push ebx
push str.1.5.0_15_b04
push edi
lea eax, [esp + 0x30]
push 0x406350
push eax
push esi
call fcn.00403389
add esp, 0x20
jmp 0x401dce
xor ebx, ebx
push ebx
call fcn.00402f6f
push ebx
push str.VisitorId
push ebx
call fcn.00402ae2
push ebx
push str.Method
push ebx
call fcn.00402ae2
mov eax, dword [esp + 0x2c]
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd24
ret 0x10