Function at 0x449910
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48f27c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1684
call fcn.0046b3f0
push edi
mov al, byte [0x498ce8]
mov byte [ebp - 0x514], al
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x513]
rep stosd dword es:[edi], eax
push 0x105
lea ecx, [ebp - 0x514]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
lea edx, [ebp - 0x514]
push edx
call fcn.0046d460
add esp, 8
mov byte [eax], 0
mov al, byte [0x498ce9]
mov byte [ebp - 0x624], al
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x623]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x514]
push ecx
push 0x498cec
lea edx, [ebp - 0x624]
push edx
call fcn.0046b198
add esp, 0xc
mov dword [ebp - 0x51c], 0
mov dword [ebp - 0x518], 0
mov al, byte [0x498cfb]
mov byte [ebp - 0x122c], al
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x122b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0046b430
add esp, 4
test eax, eax
jne 0x4499f2
xor eax, eax
jmp 0x449f93
mov edx, dword [ebp + 0xc]
push edx
call fcn.0046b430
add esp, 4
cmp eax, 0xc
je 0x449a5e
push 0x498cfc
lea eax, [ebp - 0x163c]
push eax
call fcn.00410600
add esp, 8
mov dword [ebp - 0x1660], eax
mov ecx, dword [ebp - 0x1660]
mov dword [ebp - 0x1664], ecx
mov dword [ebp - 4], 0
push 0
push 0
mov ecx, dword [ebp - 0x1664]
call fcn.0040ee50
push eax
call fcn.00485c96
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x163c]
call fcn.00407ac0
xor eax, eax
jmp 0x449f93
push 4
lea edx, [ebp - 0xa28]
push edx
push 3
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 0x498d18
lea eax, [ebp - 0xa28]
push eax
call fcn.0047231a
add esp, 8
test eax, eax
je 0x449abb
push str.888888888888
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00449fb0
add esp, 0xc
mov dword [ebp - 0x51c], eax
cmp dword [ebp - 0x51c], 0
je 0x449abb
mov eax, dword [ebp - 0x51c]
jmp 0x449f93
mov al, byte [0x498d29]
mov byte [ebp - 0x40c], al
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x40b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, byte [0x498d2a]
mov byte [ebp - 0xa24], cl
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0xa23]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0xa2c], 0
lea edx, [ebp - 0xe2c]
push edx
call fcn.00418f10
add esp, 4
mov dword [ebp - 0xa2c], eax
mov dword [ebp - 0x1230], 0
jmp 0x449b30
mov eax, dword [ebp - 0x1230]
add eax, 1
mov dword [ebp - 0x1230], eax
mov ecx, dword [ebp - 0x1230]
cmp ecx, dword [ebp - 0xa2c]
jge 0x449d6a
mov edx, dword [ebp - 0x1230]
shl edx, 4
movzx eax, byte [ebp + edx - 0xe27]
add eax, 8
and eax, 0xff
push eax
mov ecx, dword [ebp - 0x1230]
shl ecx, 4
movzx edx, byte [ebp + ecx - 0xe28]
add edx, 8
and edx, 0xff
push edx
mov eax, dword [ebp - 0x1230]
shl eax, 4
movzx ecx, byte [ebp + eax - 0xe29]
add ecx, 8
and ecx, 0xff
push ecx
mov edx, dword [ebp - 0x1230]
shl edx, 4
movzx eax, byte [ebp + edx - 0xe2a]
add eax, 8
and eax, 0xff
push eax
mov ecx, dword [ebp - 0x1230]
shl ecx, 4
movzx edx, byte [ebp + ecx - 0xe2b]
add edx, 8
and edx, 0xff
push edx
mov eax, dword [ebp - 0x1230]
shl eax, 4
movzx ecx, byte [ebp + eax - 0xe2c]
add ecx, 8
and ecx, 0xff
push ecx
push str._02x_02x_02x_02x_02x_02x
lea edx, [ebp - 0x40c]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x20
lea eax, [ebp - 0x40c]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00449fb0
add esp, 0xc
mov dword [ebp - 0x51c], eax
mov al, byte [0x498d45]
mov byte [ebp - 0x1634], al
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x1633]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea ecx, [ebp - 0x40c]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x1634]
push eax
call fcn.0044a360
add esp, 0xc
mov dword [ebp - 0x1638], eax
cmp dword [ebp - 0x1638], 0
je 0x449d51
cmp dword [ebp - 0x51c], 0
je 0x449cc7
movsx ecx, byte [ebp - 0x1634]
cmp ecx, 0x2d
jne 0x449cbc
push 0x498d48
lea edx, [ebp - 0x1640]
push edx
call fcn.00410600
add esp, 8
mov dword [ebp - 0x1668], eax
push 0x10
mov ecx, dword [ebp - 0x1668]
call fcn.0040ee50
push eax
lea eax, [ebp - 0x1633]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x1640]
call fcn.00407ac0
xor eax, eax
jmp 0x449f93
mov eax, dword [ebp - 0x51c]
jmp 0x449f93
movsx ecx, byte [ebp - 0x1634]
cmp ecx, 0x2d
jne 0x449cfa
push 0x400
lea edx, [ebp - 0x1633]
push edx
lea eax, [ebp - 0xa24]
push eax
call fcn.0046c430
add esp, 0xc
mov byte [ebp - 0x625], 0
jmp 0x449b21
lea ecx, [ebp - 0x40c]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x1634]
push eax
call fcn.00449fb0
add esp, 0xc
mov dword [ebp - 0x51c], eax
cmp dword [ebp - 0x51c], 0
je 0x449d4c
lea ecx, [ebp - 0x624]
push ecx
lea edx, [ebp - 0x1634]
push edx
push 0x498d64
push 0x498d6c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [ebp - 0x51c]
jmp 0x449f93
jmp 0x449b21
cmp dword [ebp - 0x51c], 0
je 0x449d65
mov eax, dword [ebp - 0x51c]
jmp 0x449f93
jmp 0x449b21
movsx eax, byte [ebp - 0xa24]
test eax, eax
je 0x449e64
push 0x498d74
lea ecx, [ebp - 0xa28]
push ecx
call fcn.0047231a
add esp, 8
test eax, eax
je 0x449e1d
push 0x498d78
lea edx, [ebp - 0x1644]
push edx
call fcn.00410600
add esp, 8
mov dword [ebp - 0x166c], eax
mov eax, dword [ebp - 0x166c]
mov dword [ebp - 0x1670], eax
mov dword [ebp - 4], 1
push 0x498d94
lea ecx, [ebp - 0x1648]
push ecx
call fcn.00410600
add esp, 8
mov dword [ebp - 0x1674], eax
push 0x10
mov ecx, dword [ebp - 0x1670]
call fcn.0040ee50
push eax
mov ecx, dword [ebp - 0x1674]
call fcn.0040ee50
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x1648]
call fcn.00407ac0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1644]
call fcn.00407ac0
jmp 0x449e5f
push 0x498db0
lea edx, [ebp - 0x164c]
push edx
call fcn.00410600
add esp, 8
mov dword [ebp - 0x1678], eax
push 0x10
mov ecx, dword [ebp - 0x1678]
call fcn.0040ee50
push eax
lea eax, [ebp - 0xa24]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x164c]
call fcn.00407ac0
jmp 0x449f91
push 0x498dcc
lea ecx, [ebp - 0xa28]
push ecx
call fcn.0047231a
add esp, 8
test eax, eax
jne 0x449f0b
push 0x498dd0
lea edx, [ebp - 0x1650]
push edx
call fcn.00410600
add esp, 8
mov dword [ebp - 0x167c], eax
mov eax, dword [ebp - 0x167c]
mov dword [ebp - 0x1680], eax
mov dword [ebp - 4], 2
push 0x498df0
lea ecx, [ebp - 0x1654]
push ecx
call fcn.00410600
add esp, 8
mov dword [ebp - 0x1684], eax
push 0x10
mov ecx, dword [ebp - 0x1680]
call fcn.0040ee50
push eax
mov ecx, dword [ebp - 0x1684]
call fcn.0040ee50
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x1654]
call fcn.00407ac0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1650]
call fcn.00407ac0
jmp 0x449f91
push 0x498e84
lea edx, [ebp - 0x1658]
push edx
call fcn.00410600
add esp, 8
mov dword [ebp - 0x1688], eax
mov eax, dword [ebp - 0x1688]
mov dword [ebp - 0x168c], eax
mov dword [ebp - 4], 3
push str.Sorry._Registration_Failed_
lea ecx, [ebp - 0x165c]
push ecx
call fcn.00410600
add esp, 8
mov dword [ebp - 0x1690], eax
push 0x10
mov ecx, dword [ebp - 0x168c]
call fcn.0040ee50
push eax
mov ecx, dword [ebp - 0x1690]
call fcn.0040ee50
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x165c]
call fcn.00407ac0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1658]
call fcn.00407ac0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
mov esp, ebp
pop ebp
ret