Function at 0x423eab
Capabilities:
Get geographical location
Write file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0xa4
push ebx
push esi
push edi
mov ebx, ecx
mov edi, 0x4727a6
push edi
lea ecx, [ebp + 0x48]
mov dword [ebp + 0x5c], ebx
call fcn.0042f200
push 0
lea eax, [ebp + 0x48]
push eax
push 0x473ce8
push 3
call fcn.004056dc
add esp, 0x10
test eax, eax
je 0x423f18
lea eax, [ebp + 0x48]
lea esi, [ebx + 0xc0]
push eax
mov ecx, esi
call fcn.0042f220
push esi
lea eax, [ebp + 0x68]
push str.Locale_URL_Override_
push eax
call fcn.0042fa40
add esp, 0xc
push eax
mov ecx, ebx
call fcn.0040da11
lea ecx, [ebp + 0x68]
call fcn.0042f1e0
lea esi, [ebx + 0xc0]
mov ecx, esi
call fcn.00401005
test al, al
jne 0x424099
add ebx, 0x188
push edi
mov ecx, ebx
call fcn.0042f2d0
lea ecx, [ebp - 4]
call fcn.0040bf97
lea ecx, [ebp + 0x28]
call fcn.0040c988
cmp byte [esi + 7], 0xff
jne 0x423f53
mov esi, dword [esi]
xor eax, eax
push eax
push 1
push 3
push eax
push esi
lea ecx, [ebp + 0x28]
push ecx
push eax
push eax
lea ecx, [ebp - 4]
call fcn.0040c264
mov edi, 0x473ccc
test eax, eax
jl 0x424011
lea ecx, [ebp + 0x28]
call fcn.0040c9fa
cmp eax, 2
jae 0x423f8a
push edi
jmp 0x424016
lea ecx, [ebp + 0x28]
call fcn.0040c9fe
mov esi, eax
push 0x473cc8
push esi
call fcn.0044eb30
pop ecx
pop ecx
test eax, eax
je 0x423fb8
lea ecx, [ebp + 0x28]
call fcn.0040c9fe
mov ecx, dword [ebp + 0x5c]
push eax
call fcn.0041b0f8
jmp 0x424001
mov al, byte [esi]
cmp al, 0x41
jl 0x423fc6
cmp al, 0x5a
jg 0x423fc6
add al, 0x20
mov byte [esi], al
mov al, byte [esi + 1]
cmp al, 0x41
jl 0x423fd6
cmp al, 0x5a
jg 0x423fd6
add al, 0x20
mov byte [esi + 1], al
mov cl, byte [esi]
cmp cl, 0x61
jl 0x424001
cmp cl, 0x7a
jg 0x424001
mov al, byte [esi + 1]
cmp al, 0x61
jl 0x424001
cmp al, 0x7a
jg 0x424001
push ecx
mov ecx, ebx
call fcn.0042f670
movzx eax, byte [esi + 1]
push eax
mov ecx, ebx
call fcn.0042f670
mov ecx, ebx
call fcn.00401005
test al, al
je 0x42401d
jmp 0x423f84
push str.fail
mov ecx, ebx
call fcn.0042f2d0
cmp byte [ebx + 7], 0xff
mov eax, ebx
jne 0x424027
mov eax, dword [ebx]
push str.fail
push eax
call fcn.0044ebc0
pop ecx
pop ecx
test eax, eax
je 0x424063
cmp byte [ebx + 7], 0xff
mov eax, ebx
jne 0x424042
mov eax, dword [ebx]
push edi
push eax
call fcn.0044ebc0
pop ecx
pop ecx
test eax, eax
je 0x424063
push 0
push ebx
push str.Country
push 0
call fcn.004057e7
add esp, 0x10
jmp 0x424086
push str.actionerrorvaluegeolookup_failure
lea ecx, [ebp + 0x68]
call fcn.0042f200
mov ecx, dword [ebp + 0x5c]
push 0
lea eax, [ebp + 0x68]
push eax
call fcn.004118f7
lea ecx, [ebp + 0x68]
call fcn.0042f1e0
lea ecx, [ebp + 0x28]
call fcn.0040c99c
lea ecx, [ebp - 4]
call fcn.0040c243
mov ebx, dword [ebp + 0x5c]
lea eax, [ebx + 0x188]
push eax
lea eax, [ebp + 0x68]
push str.Locale_
push eax
call fcn.0042fa40
add esp, 0xc
push eax
mov ecx, ebx
call fcn.0040da11
lea ecx, [ebp + 0x68]
call fcn.0042f1e0
lea ecx, [ebp - 0x30]
call fcn.0040bf97
lea ecx, [ebp + 0x38]
call fcn.0040c988
push dword [ebp + 0x7c]
lea eax, [ebp + 0x50]
push eax
mov ecx, ebx
call fcn.0040de75
cmp byte [ebp + 0x57], 0xff
lea eax, [ebp + 0x50]
jne 0x4240eb
mov eax, dword [ebp + 0x50]
xor edi, edi
push edi
push edi
push 3
push edi
push eax
lea eax, [ebp + 0x38]
push eax
push edi
push ebx
lea ecx, [ebp - 0x30]
call fcn.0040c264
cmp eax, edi
jge 0x424133
mov esi, eax
lea ecx, [ebp + 0x50]
call fcn.0042f1e0
lea ecx, [ebp + 0x38]
call fcn.0040c99c
lea ecx, [ebp - 0x30]
call fcn.0040c243
lea ecx, [ebp + 0x48]
call fcn.0042f1e0
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x74
leave
ret 4
add ebx, 0x98
push ebx
lea ecx, [ebp + 0x68]
call fcn.0042f130
push str.config.xml
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.0042f9d0
add esp, 0xc
cmp byte [eax + 7], 0xff
jne 0x42415f
mov eax, dword [eax]
push 0x472a8c
push eax
call fcn.00450908
pop ecx
pop ecx
lea ecx, [ebp + 0x58]
mov esi, eax
call fcn.0042f1e0
lea ecx, [ebp + 0x68]
call fcn.0042f1e0
cmp esi, edi
jne 0x42418c
mov esi, 0x80004005
jmp 0x424107
push esi
push 1
lea ecx, [ebp + 0x38]
call fcn.0040c9fa
push eax
lea ecx, [ebp + 0x38]
call fcn.0040c9fe
push eax
call fcn.00454139
push esi
call fcn.004506ac
add esp, 0x14
push 1
lea eax, [ebp + 0x73]
push eax
lea ecx, [ebp + 0x38]
mov byte [ebp + 0x73], 0
call fcn.0040ca02
lea ecx, [ebp + 0x38]
call fcn.0040c9fe
push eax
lea ecx, [ebp + 0x60]
call fcn.0042f200
mov esi, str.checksum_value_
push esi
lea ecx, [ebp + 0x60]
call fcn.0042f060
mov edi, eax
test edi, edi
jl 0x424251
push esi
call fcn.0044f080
add edi, eax
mov dword [esp], 0x4727bc
push edi
lea eax, [ebp + 0x68]
push eax
lea ecx, [ebp + 0x60]
call fcn.0042fcb0
mov ecx, eax
call fcn.0042f060
lea ecx, [ebp + 0x68]
mov esi, eax
call fcn.0042f1e0
test esi, esi
jl 0x424251
push esi
push edi
lea eax, [ebp + 0x68]
push eax
lea ecx, [ebp + 0x60]
call fcn.0042f740
push 0
lea eax, [ebp + 0x68]
push eax
push str.XMLMD5
push 0
call fcn.004057e7
add esp, 0x10
lea ecx, [ebp + 0x68]
call fcn.0042f1e0
lea ecx, [ebp + 0x60]
call fcn.0042f1e0
xor esi, esi
jmp 0x424107
lea ecx, [ebp + 0x60]
call fcn.0042f1e0
jmp 0x424182