Function at 0x41c37f
Capabilities:
Get geographical location

Disassembly:
push ecx
push ecx
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x1c]
push edi
call fcn.004279a0
inc eax
push eax
call fcn.0043be5a
mov ebp, eax
push edi
push ebp
mov dword [esp + 0x24], ebp
call fcn.00428660
xor ebx, ebx
add esp, 0x10
cmp edi, ebx
jne 0x41c3af
mov byte [ebp], bl
push ebp
call fcn.00434465
mov dword [esp], str.reached_the_limit
push ebp
call fcn.00428a40
test eax, eax
pop ecx
pop ecx
jne 0x41c666
push str.access_denied
push ebp
call fcn.00428a40
test eax, eax
pop ecx
pop ecx
jne 0x41c666
push str.limit_reached
push ebp
call fcn.00428a40
test eax, eax
pop ecx
pop ecx
jne 0x41c666
push str.you_have_exceeded
push ebp
call fcn.00428a40
test eax, eax
pop ecx
pop ecx
jne 0x41c666
push ebx
push 1
push str.descr:
push edi
call fcn.0040665f
add esp, 0x10
cmp eax, ebx
jne 0x41c42a
push str.__QUERY_ERROR
jmp 0x41c66b
mov ebp, dword [esp + 0x20]
push 0xff
push eax
lea esi, [ebp + 2]
push esi
call fcn.00427a30
push 0xd
push esi
mov byte [ebp + 0x101], bl
call fcn.00428980
add esp, 0x14
cmp eax, ebx
jne 0x41c460
push 0xa
push esi
call fcn.00428980
cmp eax, ebx
pop ecx
pop ecx
je 0x41c462
mov byte [eax], bl
push ebx
push 1
push str.netname:
push edi
call fcn.0040665f
mov ebp, eax
add esp, 0x10
cmp ebp, ebx
je 0x41c500
push ebp
call fcn.004279a0
inc eax
push eax
call fcn.0043be5a
mov edi, eax
push ebp
push edi
call fcn.00428660
push 0xd
push edi
call fcn.00428980
add esp, 0x18
cmp eax, ebx
jne 0x41c4b0
push 0xa
push edi
call fcn.00428980
cmp eax, ebx
pop ecx
pop ecx
je 0x41c4b2
mov byte [eax], bl
push esi
call fcn.004279a0
mov ebp, 0xfc
sub ebp, eax
cmp ebp, 0xff
pop ecx
jae 0x41c4d6
push edi
call fcn.004279a0
cmp eax, ebp
pop ecx
jbe 0x41c4d6
mov byte [edi + ebp], bl
push 0x458bd8
push esi
call fcn.00428670
push edi
push esi
call fcn.00428670
push 0x458bd4
push esi
call fcn.00428670
push edi
call fcn.0043be55
mov edi, dword [esp + 0x38]
add esp, 0x1c
push ebx
push 1
mov ebp, str.address:
push ebp
push edi
call fcn.0040665f
mov edi, eax
add esp, 0x10
cmp edi, ebx
je 0x41c5fb
push edi
call fcn.004279a0
inc eax
push eax
call fcn.0043be5a
mov esi, eax
push edi
push esi
call fcn.00428660
push str._r_n_r_n
push esi
call fcn.00428a40
add esp, 0x18
cmp eax, ebx
jne 0x41c555
push 0x458bf8
push esi
call fcn.00428a40
cmp eax, ebx
pop ecx
pop ecx
je 0x41c5ad
mov byte [eax], bl
push 1
push 1
push ebp
push esi
call fcn.0040665f
add esp, 0x10
cmp eax, ebx
mov dword [esp + 0x10], eax
je 0x41c5ad
push 0xd
push esi
call fcn.00428980
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
jne 0x41c58d
push 0xa
push esi
call fcn.00428980
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x41c557
push dword [esp + 0x10]
call fcn.004279a0
inc eax
push eax
push dword [esp + 0x18]
lea eax, [edi + 1]
push eax
call fcn.00427d70
add esp, 0x10
mov byte [edi], 0x20
jmp 0x41c557
push 0xd
push esi
call fcn.00428980
cmp eax, ebx
pop ecx
pop ecx
jne 0x41c5c9
push 0xa
push esi
call fcn.00428980
cmp eax, ebx
pop ecx
pop ecx
je 0x41c5cb
mov byte [eax], bl
push esi
call fcn.004279a0
cmp eax, 0xff
pop ecx
jbe 0x41c5df
mov byte [esi + 0xff], bl
mov edi, dword [esp + 0x20]
lea eax, [edi + 0x102]
push esi
push eax
call fcn.00428660
push esi
call fcn.0043be55
add esp, 0xc
jmp 0x41c5ff
mov edi, dword [esp + 0x20]
push ebx
push 1
push str.country:
push dword [esp + 0x28]
call fcn.0040665f
add esp, 0x10
cmp eax, ebx
je 0x41c63c
mov cl, byte [eax + 2]
cmp cl, 0xd
je 0x41c624
cmp cl, 0xa
jne 0x41c63c
push 2
push eax
lea eax, [edi + 0x210]
push eax
call fcn.00427a30
add esp, 0xc
mov byte [edi + 0x212], bl
push ebx
push 1
push str.inetnum:
push dword [esp + 0x28]
call fcn.0040665f
add esp, 0x10
cmp eax, ebx
je 0x41c65d
push edi
push eax
call fcn.0041bb96
pop ecx
pop ecx
mov ebp, dword [esp + 0x14]
xor ebx, ebx
inc ebx
jmp 0x41c68d
push str.__QUERY_LIMIT
mov esi, dword [esp + 0x24]
lea eax, [esi + 2]
push eax
call fcn.00428660
pop ecx
pop ecx
add esi, 0x102
push str.whois.ripe.net
push esi
call fcn.00428660
pop ecx
pop ecx
push ebp
call fcn.0043be55
pop ecx
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
pop ecx
pop ecx
ret