Function at 0x1001217d
Capabilities:
Get geographical location

Disassembly:
sub esp, 0x48
mov eax, dword [0x100436e0]
xor eax, esp
mov dword [esp + 0x44], eax
push ebx
mov ebx, dword [esp + 0x5c]
push ebp
mov ebp, dword [esp + 0x58]
push esi
push edi
xor eax, eax
xor esi, esi
push 2
inc eax
mov dword [esp + 0x14], esi
pop ecx
test ebx, ebx
je 0x100121c2
cmp ebx, eax
je 0x100121c2
cmp ebx, ecx
je 0x100121b9
push ebx
call fcn.1000839c
test eax, eax
jne 0x100121c9
push 5
call fcn.1000c0de
jmp 0x100121c9
call fcn.10021317
mov ebx, eax
mov edi, dword [esp + 0x64]
test edi, edi
js 0x100121d9
cmp edi, 0xff
jle 0x100121e0
push 5
call fcn.1000c0de
xor eax, eax
mov word [0x10043888], ax
xor ecx, ecx
inc ecx
mov eax, 0x6011
mov word [esp + 0x14], cx
mov dword [esp + 0x1c], esi
cmp word [ebp], ax
jne 0x1001222d
mov eax, dword [ebp + 8]
cmp dword [eax], esi
jne 0x1001222d
push 8
pop edi
lea eax, [esp + 0x2c]
push eax
push edi
lea eax, [esp + 0x1c]
push eax
push 0x10043888
mov word [esp + 0x24], di
call fcn.1000ef4f
xor ecx, ecx
inc ecx
mov word [esp + 0x14], cx
jmp 0x10012242
lea eax, [esp + 0x2c]
push eax
push 8
push ebp
push 0x10043888
call fcn.1000ef4f
xor ecx, ecx
inc ecx
cmp eax, 0x800a005e
jne 0x1001225a
mov word [0x10043888], cx
mov esi, 0x10043888
jmp 0x100124fb
test eax, eax
jns 0x10012269
lea ecx, [esp + 0x2c]
push ecx
push eax
call fcn.1000c8ad
mov eax, dword [esp + 0x64]
test eax, 0xffffff3f
je 0x10012283
test al, 0xc0
je 0x10012283
push 5
call fcn.1000c0de
mov eax, dword [esp + 0x64]
and eax, 0xc0
sub eax, 0x40
je 0x100122de
sub eax, 0x40
je 0x100122a2
sub eax, 0x40
jne 0x10012328
push 5
jmp 0x10012323
push 6
lea eax, [esp + 0x50]
push eax
push 0x1004
push ebx
call dword [sym.imp.kernel32.dll_GetLocaleInfoA]
test eax, eax
jne 0x100122c0
push 5
call fcn.1000c0de
lea eax, [esp + 0x4c]
push eax
call dword [sym.imp.msvcr100.dll_atoi]
pop ecx
mov ecx, dword [0x10043890]
push eax
lea edx, [esp + 0x20]
call fcn.1000477c
jmp 0x10012318
push 6
lea eax, [esp + 0x50]
push eax
push 0x1004
push ebx
call dword [sym.imp.kernel32.dll_GetLocaleInfoA]
test eax, eax
jne 0x100122fc
push 5
call fcn.1000c0de
lea eax, [esp + 0x4c]
push eax
call dword [sym.imp.msvcr100.dll_atoi]
pop ecx
mov ecx, dword [0x10043890]
push eax
lea edx, [esp + 0x20]
call fcn.10004713
push eax
call fcn.1000d7f1
test eax, eax
je 0x10012328
push eax
call fcn.1000c0de
mov edi, dword [esp + 0x64]
mov eax, edi
and eax, 3
mov dword [esp + 0x24], eax
dec eax
je 0x10012342
dec eax
jne 0x10012347
mov esi, 0x100
jmp 0x10012347
mov esi, 0x200
mov ebp, edi
push 0x11
pop edx
and ebp, 0x30
je 0x10012367
mov eax, ebx
and eax, 0x3ff
cmp ax, dx
je 0x10012367
push 5
call fcn.1000c0de
push 0x11
pop edx
and edi, 0xc
je 0x10012416
mov ecx, ebx
and ecx, 0x3ff
cmp cx, dx
jne 0x1001238a
cmp dword [0x10043e90], 0
jne 0x10012416
cmp cx, 0x12
jne 0x10012399
cmp dword [0x10043e94], 0
jne 0x10012416
push 4
pop edx
cmp cx, dx
jne 0x100123c1
mov eax, ebx
and eax, 0xfc00
mov edx, 0x400
cmp ax, dx
jne 0x100123bb
cmp dword [0x10043e98], 0
jne 0x10012416
push 4
pop edx
cmp cx, dx
mov edx, dword [0x10043e9c]
jne 0x100123e3
mov eax, ebx
and eax, 0xfc00
mov dword [esp + 0x28], 0x800
cmp ax, word [esp + 0x28]
jne 0x100123e3
test edx, edx
jne 0x10012416
push 4
pop eax
cmp cx, ax
jne 0x1001240f
xor ecx, ecx
mov ax, bx
shr ax, 0xa
inc ecx
cmp ax, cx
je 0x1001240f
push 2
pop ecx
cmp ax, cx
je 0x1001240f
cmp dword [0x10043e98], 0
jne 0x10012416
test edx, edx
jne 0x10012416
push 5
call fcn.1000c0de
push 4
pop edx
cmp edi, edx
je 0x10012438
cmp edi, 8
je 0x10012430
cmp edi, 0xc
jne 0x1001243e
push 5
call fcn.1000c0de
jmp 0x1001243e
or esi, 0x400000
jmp 0x1001243e
or esi, 0x800000
cmp dword [0x10043e90], 0
je 0x1001246d
cmp ebp, 0x10
je 0x10012467
cmp ebp, 0x20
je 0x1001245f
cmp ebp, 0x30
jne 0x1001246d
push 5
call fcn.1000c0de
jmp 0x1001246d
or esi, 0x100000
jmp 0x1001246d
or esi, 0x200000
cmp dword [esp + 0x24], 3
jne 0x10012488
push dword [0x10043890]
lea ecx, [esp + 0x20]
push ebx
mov eax, esi
call fcn.10012c17
jmp 0x1001249c
test esi, esi
je 0x100124a2
push dword [0x10043890]
lea ecx, [esp + 0x20]
push esi
call fcn.10012cae
mov dword [esp + 0x10], eax
jmp 0x100124c4
cmp dword [esp + 0x1c], 0
jne 0x100124c4
push dword [0x10043890]
call dword [sym.imp.oleaut32.dll_SysReAllocString]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x100124c4
push 7
call fcn.1000c0de
mov ecx, 0x10043888
call sym.EXPSRV.dll___vbaFreeVar
mov esi, dword [esp + 0x10]
test esi, esi
jne 0x100124e0
push 8
pop eax
mov word [esp + 0x14], ax
jmp 0x100124f7
cmp dword [esp + 0x1c], 0
je 0x100124f1
push dword [esp + 0x1c]
call dword [sym.imp.oleaut32.dll_SysStringLen]
push esi
call fcn.1000c0de
lea esi, [esp + 0x14]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10029dae
add esp, 0x48
ret 0x10