Function at 0x4b5f34
Capabilities:
Get geographical location

Disassembly:
pop es
pop es
push esp
arpl word [ebp + 0x46], bp
outsd dx, dword [esi]
jb 0x4b5faa
js 0x4b5f9d
dec ebx
add byte [ebx + ebp*4 + 0x46], ah
add byte [edx], dl
add byte [esi], al
arpl word [ebp + 0x46], bp
outsd dx, dword [esi]
jb 0x4b5fbb
pop es
add byte [eax - 0x67], ah
inc esi
add byte [eax + ebp*8 + 0x46], bl
add byte [eax + ebp*8 + 0x8580046], cl
inc edi
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4307000b], al
popal
jo 0x4b5fe3
imul ebp, dword [edi + 0x6e], 0x44ce24
je 0x4b5f79
add bh, bh
js 0x4b5fea
invalid
dec ebx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x5007000c], al
imul esp, dword [ebx + 0x74], 0xc657275
xchg ebx, eax
inc esi
add byte [edx], bh
add bh, bh
jp 0x4b5f9e
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor ah, 0xff
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0xc], al
or eax, 0x72440a00
popal
inc ebx
jne 0x4b6028
invalid
jae 0x4b6027
jb 0x4b5fb6
int1
inc edx
add byte [eax + 0x28ff0001], cl
ja 0x4b600f
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x5308000e], al
imul edi, dword [edx + 0x65], 0x656c6261
fcom dword [edx]
inc ecx
add byte [eax - 0x6f00ffff], dl
add dword [eax], eax
inc dword [ecx]
call dword [eax + 0x1ff0001]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0d000f], al
outsb dx, byte [esi]
inc ebx
insb byte es:[edi], dx
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
str word [0x6c436e4f]
imul esp, dword [ebx + 0x6b], 0x42737953
je 0x4b6072
cld
pop ebp
dec ebx
add byte [eax - 0x7f00ffff], al
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0e0010], al
outsb dx, byte [esi]
push ebx
push 0x6554776f
jae 0x4b609d
je 0x4b6073
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
push eax
inc edx
add byte [eax + 1], ch
add bh, bh
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
adc dword [eax], eax
or byte [ecx + 0x6e], cl
jne 0x4b60af
push ebp
mov ebp, esp
add esp, 0xfffffff0
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jl 0x4b607f
mov eax, dword [ebp - 4]
cmp eax, dword [ebp + 0xc]
jg 0x4b607f
mov eax, dword [ebp - 8]
cmp eax, dword [ebp + 0x10]
jl 0x4b607f
inc ebp
adc byte [eax + ecx - 0x75], bh
inc ebp
clc
mov eax, dword [ebp - 8]
cmp eax, dword [ebp + 8]
jle 0x4b6083
xor eax, eax
jmp 0x4b6085
mov al, 1
mov byte [ebp - 0xd], al
mov al, byte [ebp - 0xd]
mov esp, ebp
pop ebp
ret 0xc
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x4b6106
add byte [eax], al
add bh, bh
invalid
imul ebp, dword [ebp + 0x69], 0x657a
add byte [eax], al
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x4b6171
add byte [eax], al
add byte [eax], al
ror byte [ecx + 0x16890], cl
add byte [edx + 8], ch
lea eax, [ebp - 0x18]
push eax
push 1
push 0x800
call sub.KERNEL32.DLL_GetLocaleInfoA
test eax, eax
je 0x4b61b9
cmp byte [ebp - 0x18], 0x30
jne 0x4b61b9
cmp byte [ebp - 0x17], 0x38
jne 0x4b61b9
cmp byte [ebp - 0x16], 0x30
jne 0x4b61b9
cmp byte [ebp - 0x15], 0x34
jne 0x4b61b9
cmp byte [ebp - 0x14], 0
jne 0x4b61b9
mov eax, dword [ebp - 4]
mov dword [eax + 0x168], 1
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x160]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1c], eax
mov edx, 0x4b65b0
mov eax, dword [ebp - 0x1c]
call fcn.0044e21c
mov edx, 0xb
mov eax, dword [ebp - 0x1c]
call fcn.0044e294
mov dl, byte [0x4b65b8]
mov eax, dword [ebp - 0x1c]
call fcn.0044e2c0
mov edx, 0xffffff
mov eax, dword [ebp - 0x1c]
call fcn.0044dff4
mov eax, dword [ebp - 4]
mov byte [eax + 0x189], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x188], 0
mov dl, 1
mov eax, dword [0x4b78a4]
call sym.TCP232.exe__Cmbitmap_TCMBitmap__bctr_qqrv
mov edx, dword [ebp - 4]
mov dword [edx + 0x178], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x160]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x178]
mov eax, dword [eax + 0x5c]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x178]
mov eax, dword [eax + 0x5c]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0044e8dc
mov dl, 1
mov eax, dword [0x44cd9c]
call fcn.00450e18
mov edx, dword [ebp - 4]
mov dword [edx + 0x174], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x174]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 4]
mov dword [eax + 0x14], edx
mov dword [eax + 0x10], sym.TCP232.exe__Cmform_TcmForm_onImageChanged_qqrp14System_TObject
xor eax, eax
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x48dc84]
call fcn.0048f344
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
mov dword [edx + ecx*4 + 0x198], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov eax, dword [eax + edx*4 + 0x198]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.0048fabc
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x24]
add eax, 0x80
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x168]
lea edx, [edx + edx*2]
lea edx, [edx*4 + 0x4cba68]
mov ecx, dword [ebp - 0x10]
mov edx, dword [edx + ecx*4]
call fcn.00432470
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.0046e9ac
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.0048fa34
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x30]
mov edx, dword [eax + 0x48]
sub edx, 0x16
mov eax, dword [ebp - 0x10]
shl eax, 2
lea eax, [eax + eax*4]
sub edx, eax
mov eax, dword [ebp - 0x24]
call fcn.0046dfa4
mov edx, 0xf
mov eax, dword [ebp - 0x24]
call fcn.0046dff0
mov edx, 0xf
mov eax, dword [ebp - 0x24]
call fcn.0046e014
mov edx, 7
mov eax, dword [ebp - 0x24]
call fcn.0046dfc8
mov eax, dword [ebp - 0x10]
mov al, byte [eax + 0x4cba80]
mov edx, dword [ebp - 0xc]
cmp al, 7
ja 0x4b6381
and eax, 0x7f
bt dword [edx + 0x228], eax
jae 0x4b63af
mov eax, dword [ebp - 0x10]
mov eax, dword [eax*4 + 0x4cba84]
call fcn.004328cc
push eax
mov eax, dword [0x4cbf4c]
push eax
call sub.USER32.DLL_LoadBitmapA
push eax
mov eax, dword [ebp - 0x24]
call fcn.0048f928
pop edx
call fcn.00454044
jmp 0x4b63b9
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.0046e77c
mov dl, byte [0x4b65bc]
mov eax, dword [ebp - 0x24]
call fcn.0046db88
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x124], eax
mov dword [edx + 0x120], sym.TCP232.exe__Cmform_TcmForm_OnClickSystemButton_qqrp14System_TObject
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jne 0x4b629d
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x22b], 2
jne 0x4b640e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x19c]
add eax, 0x80
mov edx, 0x4b65c8
call fcn.00432470
mov dl, 1
mov eax, dword [0x44d048]
call fcn.00452e70
mov edx, dword [ebp - 4]
mov dword [edx + 0x16c], eax
push 0x4b65d0
mov eax, dword [0x4cbf4c]
push eax
call sub.USER32.DLL_LoadBitmapA
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16c]
call fcn.00454044
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16c]
mov dl, 1
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [ebp - 4]
test byte [eax + 0x1c], 0x10
jne 0x4b6549
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.0046e85c
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 4]
call fcn.0046e88c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x74]
cmp dword [eax + 0xc], 0
jbe 0x4b64bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0046e260
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x30]
mov edx, dword [edx + 0x48]
sub edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x74]
mov ecx, dword [eax + 0xc]
sub ecx, edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x74]
mov edx, 1
call fcn.0046d4d8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
xor edx, edx
call fcn.0045b824
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.0046dd48
push 0x20
push 0x20
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x84]
mov eax, dword [ebp - 4]
call sym.TCP232.exe__Cmform_TcmForm_limit_window_height_qqrv
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.0045b824
mov eax, dword [ebp - 4]
mov si, 0xffff
call fcn.00431acc
cmp byte [eax + 0x22b], 2
jne 0x4b6532
push 0x4b65dc
mov eax, dword [0x4cbf4c]
push eax
call sub.USER32.DLL_LoadBitmapA
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x19c]
call fcn.0048f928
pop edx
call fcn.00454044
mov eax, dword [ebp - 4]
push eax
push sym.TCP232.exe__Cmform_TcmForm_ApplicationHookProc_qqrr17Messages_TMessage
mov eax, dword [0x4cbd44]
mov eax, dword [eax]
call fcn.00461708
jmp 0x4b656a
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.00459760
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0046dd48
mov edx, 0x20
mov eax, dword [ebp - 4]
call fcn.0046e014
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b6587
lea eax, [ebp - 0x28]
call fcn.0043241c
ret