Function at 0x41c799
Capabilities:
Get geographical location

Disassembly:
push esi
mov esi, dword [esp + 8]
push edi
mov edi, 0x428458
push edi
push esi
call fcn.00420390
test eax, eax
pop ecx
pop ecx
je 0x41ca4b
push ebx
lea ebx, [eax + 1]
push edi
push ebx
mov byte [eax], 0
call fcn.00420390
test eax, eax
pop ecx
pop ecx
je 0x41ca4a
push ebp
push esi
mov byte [eax], 0
lea ebp, [eax + 1]
call fcn.0041c707
mov edi, eax
test edi, edi
pop ecx
jne 0x41c7f2
push esi
call fcn.0041c740
mov edi, eax
test edi, edi
pop ecx
je 0x41ca49
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
push str.FULLNAME
push ebx
call esi
test eax, eax
jne 0x41c80c
add edi, 8
jmp 0x41ca29
push str.BIRTHDAY
push ebx
call esi
test eax, eax
jne 0x41c820
add edi, 0xc
jmp 0x41ca29
push 0x4291e0
push ebx
call esi
test eax, eax
jne 0x41c84d
mov al, byte [ebp]
cmp al, 0x4d
jne 0x41c83c
mov byte [edi + 0x10], 1
jmp 0x41ca49
cmp al, 0x46
jne 0x41ca49
mov byte [edi + 0x10], 2
jmp 0x41ca49
push str.LANGUAGE
push ebx
call esi
test eax, eax
jne 0x41c861
add edi, 0x14
jmp 0x41ca29
push str.COUNTRY
push ebx
call esi
test eax, eax
jne 0x41c875
add edi, 0x18
jmp 0x41ca29
push str.CITY
push ebx
call esi
test eax, eax
jne 0x41c889
add edi, 0x20
jmp 0x41ca29
push str.PHONE_HOME
push ebx
call esi
test eax, eax
jne 0x41c89d
add edi, 0x24
jmp 0x41ca29
push str.PHONE_OFFICE
push ebx
call esi
test eax, eax
jne 0x41c8b1
add edi, 0x28
jmp 0x41ca29
push str.PHONE_MOBILE
push ebx
call esi
test eax, eax
jne 0x41c8c5
add edi, 0x2c
jmp 0x41ca29
push str.HOMEPAGE
push ebx
call esi
test eax, eax
jne 0x41c8d9
add edi, 0x30
jmp 0x41ca29
push str.ABOUT
push ebx
call esi
test eax, eax
jne 0x41c8ed
add edi, 0x34
jmp 0x41ca29
push str.IS_VIDEO_CAPABLE
push ebx
call esi
test eax, eax
jne 0x41c908
cmp byte [ebp], 0x54
sete al
mov byte [edi + 0x38], al
jmp 0x41ca49
push str.IS_VOICEMAIL_CAPABLE
push ebx
call esi
test eax, eax
jne 0x41c923
cmp byte [ebp], 0x54
sete al
mov byte [edi + 0x39], al
jmp 0x41ca49
push str.BUDDYSTATUS
push ebx
call esi
test eax, eax
jne 0x41c96a
mov al, byte [ebp]
cmp al, 0x30
jne 0x41c93f
mov byte [edi + 0x3a], 0
jmp 0x41ca49
cmp al, 0x31
jne 0x41c94c
mov byte [edi + 0x3a], 1
jmp 0x41ca49
cmp al, 0x32
jne 0x41c959
mov byte [edi + 0x3a], 2
jmp 0x41ca49
cmp al, 0x33
jne 0x41ca49
mov byte [edi + 0x3a], 3
jmp 0x41ca49
push str.ISAUTHORIZED
push ebx
call esi
test eax, eax
jne 0x41c985
cmp byte [ebp], 0x54
sete al
mov byte [edi + 0x3b], al
jmp 0x41ca49
push str.ISBLOCKED
push ebx
call esi
test eax, eax
jne 0x41c9a0
cmp byte [ebp], 0x54
sete al
mov byte [edi + 0x3c], al
jmp 0x41ca49
push str.ONLINESTATUS
push ebx
call esi
test eax, eax
jne 0x41ca1a
push str.UNKNOWN
push ebp
call esi
test eax, eax
jne 0x41c9c0
mov byte [edi + 0x3d], al
jmp 0x41ca49
push str.OFFLINE
push ebp
call esi
test eax, eax
jne 0x41c9d2
mov byte [edi + 0x3d], 1
jmp 0x41ca49
push str.ONLINE
push ebp
call esi
test eax, eax
jne 0x41c9e4
mov byte [edi + 0x3d], 2
jmp 0x41ca49
push str.AWAY
push ebp
call esi
test eax, eax
jne 0x41c9f6
mov byte [edi + 0x3d], 3
jmp 0x41ca49
push 0x4290fc
push ebp
call esi
test eax, eax
jne 0x41ca08
mov byte [edi + 0x3d], 4
jmp 0x41ca49
push 0x4290f8
push ebp
call esi
test eax, eax
jne 0x41ca49
mov byte [edi + 0x3d], 5
jmp 0x41ca49
push str.MOOD_TEXT
push ebx
call esi
test eax, eax
jne 0x41ca33
add edi, 0x48
push ebp
push edi
call fcn.00412c4c
pop ecx
jmp 0x41ca48
push str.NROF_AUTHED_BUDDIES
push ebx
call esi
test eax, eax
jne 0x41ca49
push ebp
call fcn.0042046e
mov dword [edi + 0x4c], eax
pop ecx
pop ebp
pop ebx
pop edi
pop esi
ret