Function at 0x422c00
Capabilities:
Accept command line arguments
Get common file path
Get geographical location
Get session user name

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x69
push 0
push 0
dec ecx
jne 0x422c08
push ecx
push ebx
push esi
mov ebx, eax
xor eax, eax
push ebp
push 0x423392
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x270]
push eax
call fcn.00406fdc
push 0x4233a8
lea eax, [ebp - 0x274]
push eax
movzx eax, word [ebp - 0x270]
mov cl, 0x30
mov edx, 4
call fcn.00408ce8
push dword [ebp - 0x274]
push 0x4233c8
lea eax, [ebp - 0x278]
push eax
movzx eax, word [ebp - 0x26e]
mov cl, 0x30
mov edx, 2
call fcn.00408ce8
push dword [ebp - 0x278]
push 0x4233c8
lea eax, [ebp - 0x27c]
push eax
movzx eax, word [ebp - 0x26a]
mov cl, 0x30
mov edx, 2
call fcn.00408ce8
push dword [ebp - 0x27c]
push 0x4233d4
lea eax, [ebp - 0x280]
push eax
movzx eax, word [ebp - 0x268]
mov cl, 0x30
mov edx, 2
call fcn.00408ce8
push dword [ebp - 0x280]
push 0x4233e0
lea eax, [ebp - 0x284]
push eax
movzx eax, word [ebp - 0x266]
mov cl, 0x30
mov edx, 2
call fcn.00408ce8
push dword [ebp - 0x284]
push 0x4233ec
mov eax, ebx
mov edx, 0xb
call fcn.00404a00
push dword [ebx]
push 0x4233f8
lea eax, [ebp - 0x288]
call fcn.0041bc8c
push dword [ebp - 0x288]
push 0x4233ec
mov eax, ebx
mov edx, 4
call fcn.00404a00
lea eax, [ebp - 8]
call fcn.00422b10
cmp dword [ebp - 8], 0
je 0x422d4a
push dword [ebx]
push 0x423418
push dword [ebp - 8]
push 0x4233ec
mov eax, ebx
mov edx, 4
call fcn.00404a00
mov dword [ebp - 0xc], 0x104
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x11d]
push eax
call fcn.00406e1c
push dword [ebx]
push 0x423438
lea eax, [ebp - 0x28c]
lea edx, [ebp - 0x11d]
mov ecx, 0x105
call fcn.004048f0
push dword [ebp - 0x28c]
push 0x4233ec
push 0x423458
lea eax, [ebp - 0x2ac]
call fcn.004099d0
push dword [ebp - 0x290]
push 0x423478
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp - 0x2d0]
call fcn.004099d0
mov eax, dword [ebp - 0x2c8]
mov cl, 0x30
mov edx, 1
call fcn.00408ce8
push dword [ebp - 0x2b0]
push 0x4233ec
mov eax, ebx
mov edx, 9
call fcn.00404a00
push 0x104
lea eax, [ebp - 0x11d]
push eax
push 0x1001
push 0x800
call fcn.00406fe4
test eax, eax
jle 0x422e32
push dword [ebx]
push 0x423488
lea eax, [ebp - 0x2d4]
lea edx, [ebp - 0x11d]
mov ecx, 0x105
call fcn.004048f0
push dword [ebp - 0x2d4]
push 0x4233ec
mov eax, ebx
mov edx, 4
call fcn.00404a00
lea eax, [ebp - 8]
call fcn.00422658
cmp dword [ebp - 8], 0
je 0x422e5b
push dword [ebx]
push 0x4234a8
push dword [ebp - 8]
push 0x4233ec
mov eax, ebx
mov edx, 4
call fcn.00404a00
push dword [ebx]
push 0x4234c8
lea eax, [ebp - 0x2d8]
call fcn.00422a2c
push dword [ebp - 0x2d8]
mov eax, ebx
mov edx, 3
call fcn.00404a00
lea eax, [ebp - 0x2f8]
call fcn.004099d0
cmp byte [ebp - 0x2e8], 0
je 0x422eff
push dword [ebx]
push 0x4234e8
lea eax, [ebp - 0x2fc]
push eax
mov ax, 1
call fcn.00409cb8
movzx eax, ax
mov cl, 0x30
mov edx, 2
call fcn.00408ce8
push dword [ebp - 0x2fc]
push 0x423508
lea eax, [ebp - 0x300]
push eax
mov ax, 2
call fcn.00409cb8
movzx eax, ax
mov cl, 0x30
mov edx, 2
call fcn.00408ce8
push dword [ebp - 0x300]
push 0x423514
push 0x4233ec
mov eax, ebx
mov edx, 7
call fcn.00404a00
push 0x423520
call fcn.00407004
mov esi, eax
push 0x423530
push esi
call fcn.0040701c
mov dword [ebp - 4], eax
push 0x104
lea eax, [ebp - 0x11d]
push eax
call fcn.004070a4
push dword [ebx]
push 0x42354c
push ebp
lea edx, [ebp - 0x304]
mov al, byte [ebp - 0x11d]
call fcn.004228d0
pop ecx
push dword [ebp - 0x304]
mov eax, ebx
mov edx, 3
call fcn.00404a00
lea edx, [ebp - 8]
xor eax, eax
call fcn.0041bb64
mov eax, dword [ebp - 8]
mov al, byte [eax]
call fcn.004082e4
push eax
mov al, byte [ebp - 0x11d]
call fcn.004082e4
pop edx
cmp dl, al
je 0x422fa6
push dword [ebx]
push 0x4233d4
push ebp
lea edx, [ebp - 0x308]
mov eax, dword [ebp - 8]
mov al, byte [eax]
call fcn.004228d0
pop ecx
push dword [ebp - 0x308]
mov eax, ebx
mov edx, 3
call fcn.00404a00
push dword [ebx]
push 0x4233ec
push 0x42356c
lea eax, [ebp - 0x30c]
push eax
call fcn.00406f7c
mov cl, 0x30
mov edx, 1
call fcn.00408d78
push dword [ebp - 0x30c]
push 0x4233ec
mov eax, ebx
mov edx, 5
call fcn.00404a00
cmp byte [0x4f5878], 0
je 0x423023
call fcn.00402ae8
test eax, eax
jle 0x423023
push dword [ebx]
push 0x42358c
call fcn.00406f64
mov edx, eax
lea eax, [ebp - 0x310]
call fcn.00404878
push dword [ebp - 0x310]
push 0x4233ec
mov eax, ebx
mov edx, 4
call fcn.00404a00
push dword [ebx]
push 0x4235ac
lea edx, [ebp - 0x318]
xor eax, eax
call fcn.0041bb64
mov eax, dword [ebp - 0x318]
lea edx, [ebp - 0x314]
call fcn.0041bb94
push dword [ebp - 0x314]
push 0x4233ec
mov eax, ebx
mov edx, 4
call fcn.00404a00
push 0x104
lea eax, [ebp - 0x11d]
push eax
mov eax, dword [0x4f8718]
push eax
call fcn.00406fec
lea edx, [ebp - 0x31c]
xor eax, eax
call fcn.0041bb64
mov eax, dword [ebp - 0x31c]
push eax
lea eax, [ebp - 0x320]
lea edx, [ebp - 0x11d]
mov ecx, 0x105
call fcn.004048f0
mov eax, dword [ebp - 0x320]
pop edx
call fcn.00408364
test al, al
jne 0x4230e4
push dword [ebx]
push 0x4235cc
lea eax, [ebp - 0x324]
lea edx, [ebp - 0x11d]
mov ecx, 0x105
call fcn.004048f0
push dword [ebp - 0x324]
push 0x4233ec
mov eax, ebx
mov edx, 4
call fcn.00404a00
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x11d]
push eax
call fcn.00406f1c
mov esi, eax
cmp esi, 0xffffffff
je 0x4232f1
push esi
call fcn.00406f14
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x24c]
push eax
call fcn.00406f04
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x24c]
push eax
call fcn.00406f0c
lea edx, [ebp - 0x328]
xor eax, eax
call fcn.0041bb64
mov eax, dword [ebp - 0x328]
push eax
lea eax, [ebp - 0x32c]
lea edx, [ebp - 0x11d]
mov ecx, 0x105
call fcn.004048f0
mov eax, dword [ebp - 0x32c]
pop edx
call fcn.00408364
test al, al
je 0x423176
mov eax, ebx
mov edx, 0x4235ec
call fcn.00404948
jmp 0x423182
mov eax, ebx
mov edx, 0x42360c
call fcn.00404948
push dword [ebx]
lea eax, [ebp - 0x330]
push eax
movzx eax, word [ebp - 0x270]
mov cl, 0x30
mov edx, 4
call fcn.00408ce8
push dword [ebp - 0x330]
push 0x4233c8
lea eax, [ebp - 0x334]
push eax
movzx eax, word [ebp - 0x26e]
mov cl, 0x30
mov edx, 2
call fcn.00408ce8
push dword [ebp - 0x334]
push 0x4233c8
lea eax, [ebp - 0x338]
push eax
movzx eax, word [ebp - 0x26a]
mov cl, 0x30
mov edx, 2
call fcn.00408ce8
push dword [ebp - 0x338]
push 0x4233d4
lea eax, [ebp - 0x33c]
push eax
movzx eax, word [ebp - 0x268]
mov cl, 0x30
mov edx, 2
call fcn.00408ce8
push dword [ebp - 0x33c]
push 0x4233e0
lea eax, [ebp - 0x340]
push eax
movzx eax, word [ebp - 0x266]
mov cl, 0x30
mov edx, 2
call fcn.00408ce8
push dword [ebp - 0x340]
push 0x4233ec
mov eax, ebx
mov edx, 0xb
call fcn.00404a00
cmp dword [0x4f5894], 0
je 0x42325c
mov eax, dword [0x4f5894]
cmp dword [eax], 0
jne 0x4232c0
lea eax, [ebp - 0x344]
lea edx, [ebp - 0x11d]
mov ecx, 0x105
call fcn.004048f0
mov eax, dword [ebp - 0x344]
call fcn.00409dd0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0
jne 0x42328d
cmp dword [ebp - 0x18], 0
je 0x4232f1
push dword [ebx]
push 0x42362c
push dword [ebp - 0x14]
push dword [ebp - 0x18]
lea eax, [ebp - 0x348]
call fcn.00409ebc
push dword [ebp - 0x348]
push 0x4233ec
mov eax, ebx
mov edx, 4
call fcn.00404a00
jmp 0x4232f1
push dword [ebx]
push 0x42362c
lea eax, [ebp - 0x34c]
mov edx, dword [0x4f5894]
mov edx, dword [edx]
call fcn.00404878
push dword [ebp - 0x34c]
push 0x4233ec
mov eax, ebx
mov edx, 4
call fcn.00404a00
push dword [ebx]
push 0x42364c
push 0x42366c
push 0x4233ec
mov eax, ebx
mov edx, 4
call fcn.00404a00
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x423399
lea eax, [ebp - 0x34c]
mov edx, 0x15
call fcn.004046ac
lea eax, [ebp - 0x2f8]
mov edx, dword [0x4098f0]
call fcn.00405188
lea eax, [ebp - 0x2d8]
mov edx, 2
call fcn.004046ac
lea eax, [ebp - 0x2d0]
mov edx, dword [0x4098f0]
call fcn.00405188
lea eax, [ebp - 0x2b0]
call fcn.00404688
lea eax, [ebp - 0x2ac]
mov edx, dword [0x4098f0]
call fcn.00405188
lea eax, [ebp - 0x28c]
mov edx, 7
call fcn.004046ac
lea eax, [ebp - 8]
call fcn.00404688
ret