Function at 0x43cff0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cabf0
mov eax, dword fs:[0]
push eax
sub esp, 0x164
mov eax, dword [0x6385e0]
xor eax, ebp
mov dword [ebp - 0x8c], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [ebp + 8], 0
jne 0x43d030
xor al, al
jmp 0x43d6f7
lea ecx, [ebp - 0x1c]
call fcn.004b34a0
mov dword [ebp - 4], 0
push 0x6000bc
mov ecx, dword [ebp + 0xc]
call fcn.004b4b00
movzx eax, al
test eax, eax
je 0x43d062
push 0x6000c0
lea ecx, [ebp - 0x1c]
call fcn.004b38f0
jmp 0x43d06e
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004b3890
mov edx, dword [ebp + 8]
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x15c]
add eax, 2
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x15c]
mov dx, word [ecx]
mov word [ebp - 0x162], dx
add dword [ebp - 0x15c], 2
cmp word [ebp - 0x162], 0
jne 0x43d086
mov eax, dword [ebp - 0x15c]
sub eax, dword [ebp - 0x160]
sar eax, 1
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x1c]
call fcn.00404b70
cmp dword [ebp - 0x10], eax
jge 0x43d0f7
mov byte [ebp - 0x12d], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov al, byte [ebp - 0x12d]
jmp 0x43d6f7
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x1c]
call fcn.00404b70
cmp dword [ebp - 0x24], eax
jge 0x43d623
mov edx, dword [ebp - 0x24]
push edx
lea ecx, [ebp - 0x1c]
call fcn.004b3df0
mov word [ebp - 0x50], ax
mov dword [ebp - 0x68], 0
push 0x5ffc9c
lea ecx, [ebp - 0x60]
call fcn.004b3550
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.00404b70
cmp dword [ebp - 0x24], eax
jge 0x43d1cb
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x16c]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004b3df0
mov word [ebp - 0x64], ax
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
movzx eax, word [ebp - 0x50]
movzx ecx, word [ebp - 0x64]
cmp eax, ecx
je 0x43d1ac
mov edx, dword [ebp - 0x24]
sub edx, 1
mov dword [ebp - 0x24], edx
jmp 0x43d1cb
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + eax*2 - 2]
push edx
lea ecx, [ebp - 0x60]
call fcn.004b3a80
mov eax, dword [ebp - 0x68]
add eax, 1
mov dword [ebp - 0x68], eax
jmp 0x43d161
cmp dword [ebp - 0x68], 0
jg 0x43d203
mov byte [ebp - 0x12e], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call fcn.004b3860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov al, byte [ebp - 0x12e]
jmp 0x43d6f7
movzx ecx, word [ebp - 0x50]
cmp ecx, 0x79
jne 0x43d30b
cmp dword [ebp - 0x68], 1
jge 0x43d248
mov byte [ebp - 0x12f], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call fcn.004b3860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov al, byte [ebp - 0x12f]
jmp 0x43d6f7
push 0
lea edx, [ebp - 0x54]
push edx
lea eax, [ebp - 0x60]
push eax
call fcn.004110f0
add esp, 0xc
movzx ecx, al
test ecx, ecx
jne 0x43d290
mov byte [ebp - 0x130], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call fcn.004b3860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov al, byte [ebp - 0x130]
jmp 0x43d6f7
cmp dword [ebp - 0x68], 2
jne 0x43d306
mov dword [ebp - 0x70], 0
lea edx, [ebp - 0x70]
push edx
push 0
push 0
push 0xa0000030
push 2
push 0x409
call dword [sym.imp.KERNEL32.dll_GetCalendarInfoW]
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 2
jne 0x43d306
mov eax, dword [ebp - 0x70]
sub eax, 0x63
xor edx, edx
mov ecx, 0x64
div ecx
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x70]
xor edx, edx
mov ecx, 0x64
div ecx
mov dword [ebp - 0x78], edx
mov edx, dword [ebp - 0x54]
cmp edx, dword [ebp - 0x74]
jle 0x43d2fa
mov eax, dword [ebp - 0x70]
sub eax, 0x63
sub eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x54]
mov dword [ebp - 0x54], eax
jmp 0x43d306
mov ecx, dword [ebp - 0x70]
sub ecx, dword [ebp - 0x78]
add ecx, dword [ebp - 0x54]
mov dword [ebp - 0x54], ecx
jmp 0x43d612
movzx edx, word [ebp - 0x50]
cmp edx, 0x4d
jne 0x43d43d
cmp dword [ebp - 0x68], 3
jl 0x43d3f2
mov eax, dword [ebp - 0x68]
sub eax, 3
neg eax
sbb eax, eax
and eax, 0xfffffff4
add eax, 0x44
mov dword [ebp - 0x7c], eax
mov byte [ebp - 0x7d], 0
mov dword [ebp - 0x84], 0
jmp 0x43d354
mov ecx, dword [ebp - 0x84]
add ecx, 1
mov dword [ebp - 0x84], ecx
cmp dword [ebp - 0x84], 0xc
jge 0x43d3bb
push 0xa0
lea edx, [ebp - 0x12c]
push edx
mov eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0x84]
push eax
push 0x409
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x43d391
jmp 0x43d3bb
lea ecx, [ebp - 0x12c]
push ecx
lea ecx, [ebp - 0x60]
call fcn.004b4b00
movzx edx, al
test edx, edx
je 0x43d3b9
mov eax, dword [ebp - 0x84]
add eax, 1
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x7d], 1
jmp 0x43d3bb
jmp 0x43d345
movzx ecx, byte [ebp - 0x7d]
test ecx, ecx
jne 0x43d3f0
mov byte [ebp - 0x131], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call fcn.004b3860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov al, byte [ebp - 0x131]
jmp 0x43d6f7
jmp 0x43d438
push 0
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x60]
push eax
call fcn.004110f0
add esp, 0xc
movzx ecx, al
test ecx, ecx
jne 0x43d438
mov byte [ebp - 0x132], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call fcn.004b3860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov al, byte [ebp - 0x132]
jmp 0x43d6f7
jmp 0x43d612
movzx edx, word [ebp - 0x50]
cmp edx, 0x64
jne 0x43d4ca
cmp dword [ebp - 0x68], 3
jle 0x43d47f
mov byte [ebp - 0x133], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call fcn.004b3860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov al, byte [ebp - 0x133]
jmp 0x43d6f7
push 0
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x60]
push ecx
call fcn.004110f0
add esp, 0xc
movzx edx, al
test edx, edx
jne 0x43d4c5
mov byte [ebp - 0x134], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call fcn.004b3860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov al, byte [ebp - 0x134]
jmp 0x43d6f7
jmp 0x43d612
movzx eax, word [ebp - 0x50]
cmp eax, 0x68
jne 0x43d51e
push 0
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x60]
push edx
call fcn.004110f0
add esp, 0xc
movzx eax, al
test eax, eax
jne 0x43d519
mov byte [ebp - 0x135], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call fcn.004b3860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov al, byte [ebp - 0x135]
jmp 0x43d6f7
jmp 0x43d612
movzx ecx, word [ebp - 0x50]
cmp ecx, 0x48
jne 0x43d572
push 0
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x60]
push eax
call fcn.004110f0
add esp, 0xc
movzx ecx, al
test ecx, ecx
jne 0x43d56d
mov byte [ebp - 0x136], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call fcn.004b3860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov al, byte [ebp - 0x136]
jmp 0x43d6f7
jmp 0x43d612
movzx edx, word [ebp - 0x50]
cmp edx, 0x6d
jne 0x43d5c3
push 0
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x60]
push ecx
call fcn.004110f0
add esp, 0xc
movzx edx, al
test edx, edx
jne 0x43d5c1
mov byte [ebp - 0x137], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call fcn.004b3860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov al, byte [ebp - 0x137]
jmp 0x43d6f7
jmp 0x43d612
movzx eax, word [ebp - 0x50]
cmp eax, 0x73
jne 0x43d612
push 0
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x60]
push edx
call fcn.004110f0
add esp, 0xc
movzx eax, al
test eax, eax
jne 0x43d612
mov byte [ebp - 0x138], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call fcn.004b3860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov al, byte [ebp - 0x138]
jmp 0x43d6f7
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call fcn.004b3860
jmp 0x43d128
xor ecx, ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
mov dx, word [ebp - 0x54]
mov word [ebp - 0x40], dx
mov ax, word [ebp - 0x30]
mov word [ebp - 0x3e], ax
mov cx, word [ebp - 0x20]
mov word [ebp - 0x3a], cx
mov dx, word [ebp - 0x4c]
mov word [ebp - 0x38], dx
mov ax, word [ebp - 0x44]
mov word [ebp - 0x36], ax
mov cx, word [ebp - 0x48]
mov word [ebp - 0x34], cx
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
test eax, eax
jne 0x43d693
mov byte [ebp - 0x139], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov al, byte [ebp - 0x139]
jmp 0x43d6f7
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x154]
call fcn.00411460
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x170]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00411530
lea ecx, [ebp - 0x154]
call fcn.00407c30
mov byte [ebp - 0x155], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov al, byte [ebp - 0x155]
jmp 0x43d6f7
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x8c]
xor ecx, ebp
call fcn.0054d4f5
mov esp, ebp
pop ebp
ret