Function at 0x417d10
Capabilities:
Get geographical location

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x4c
mov edi, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
push 0
push dword [edi]
push 0x1d
push ebx
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [edi], eax
test edi, edi
je 0x417d57
push esi
push eax
push 0x1d
push ebx
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], ecx
jmp 0x417d6c
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
mov dword [esp + 8], 0
push 0
push dword [edi + 4]
push 0x1e
push ebx
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [edi + 4], eax
push esi
push eax
push 0x1e
push ebx
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
mov ebp, ecx
push 0
push dword [edi + 8]
push 0x1003
push ebx
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [edi + 8], eax
push esi
push eax
push 0x1003
push ebx
call sub.KERNEL32.DLL_GetLocaleInfoA
mov ecx, ebx
xor ebx, ebx
test eax, eax
setne bl
and ebx, ebp
push 0
push dword [edi + 0xc]
push 0x1f
push ecx
mov ebp, ecx
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [edi + 0xc], eax
push esi
push eax
push 0x1f
mov edi, ebp
push edi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov ebp, ecx
push 0
mov eax, dword [esp + 0x68]
push dword [eax + 0x10]
push 0x20
push edi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov ecx, dword [esp + 0x64]
mov dword [ecx + 0x10], eax
push esi
push eax
push 0x20
push edi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, ebp
mov eax, edi
mov ebp, dword [esp + 0x64]
push 0
push dword [ebp + 0x14]
push 0x28
push eax
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x14], eax
push esi
push eax
push 0x28
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x18]
push 0x29
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x18], eax
push esi
push eax
push 0x29
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
mov eax, esi
push 0
push dword [ebp + 0x2a]
push 0x2a
push eax
mov edi, eax
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x2a], eax
push esi
push eax
push 0x2a
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x2e]
push 0x2b
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x2e], eax
push esi
push eax
push 0x2b
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x32]
push 0x2c
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x32], eax
push esi
push eax
push 0x2c
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x36]
push 0x2d
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x36], eax
push esi
push eax
push 0x2d
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x3a]
push 0x2e
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x3a], eax
push esi
push eax
push 0x2e
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x3e]
push 0x2f
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x3e], eax
push esi
push eax
push 0x2f
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x42]
push 0x30
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x42], eax
push esi
push eax
push 0x30
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x46]
push 0x31
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x46], eax
push esi
push eax
push 0x31
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x4a]
push 0x32
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x4a], eax
push esi
push eax
push 0x32
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x4e]
push 0x33
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x4e], eax
push esi
push eax
push 0x33
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x52]
push 0x34
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x52], eax
push esi
push eax
push 0x34
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x56]
push 0x35
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x56], eax
push esi
push eax
push 0x35
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x5a]
push 0x36
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x5a], eax
push esi
push eax
push 0x36
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x5e]
push 0x37
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x5e], eax
push esi
push eax
push 0x37
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x62]
push 0x38
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x62], eax
push esi
push eax
push 0x38
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x66]
push 0x39
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x66], eax
push esi
push eax
push 0x39
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x6a]
push 0x3a
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x6a], eax
push esi
push eax
push 0x3a
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x6e]
push 0x3b
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x6e], eax
push esi
push eax
push 0x3b
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x72]
push 0x3c
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x72], eax
push esi
push eax
push 0x3c
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x76]
push 0x3d
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x76], eax
push esi
push eax
push 0x3d
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x7a]
push 0x3e
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x7a], eax
push esi
push eax
push 0x3e
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x7e]
push 0x3f
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x7e], eax
push esi
push eax
push 0x3f
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x82]
push 0x40
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x82], eax
push esi
push eax
push 0x40
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x86]
push 0x41
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x86], eax
push esi
push eax
push 0x41
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x8a]
push 0x42
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x8a], eax
push esi
push eax
push 0x42
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x8e]
push 0x43
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x8e], eax
push esi
push eax
push 0x43
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x92]
push 0x44
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x92], eax
push esi
push eax
push 0x44
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x96]
push 0x45
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x96], eax
push esi
push eax
push 0x45
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x9a]
push 0x46
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x9a], eax
push esi
push eax
push 0x46
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x9e]
push 0x47
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0x9e], eax
push esi
push eax
push 0x47
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0xa2]
push 0x48
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0xa2], eax
push esi
push eax
push 0x48
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0xa6]
push 0x49
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0xa6], eax
push esi
push eax
push 0x49
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0xaa]
push 0x4a
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0xaa], eax
push esi
push eax
push 0x4a
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0xae]
push 0x4b
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0xae], eax
push esi
push eax
push 0x4b
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0xb2]
push 0x4c
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0xb2], eax
push esi
push eax
push 0x4c
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0xb6]
push 0x4d
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0xb6], eax
push esi
push eax
push 0x4d
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0xba]
push 0x4e
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0xba], eax
push esi
push eax
push 0x4e
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0xbe]
push 0x4f
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.0040eedc
add esp, 0x10
mov dword [ebp + 0xbe], eax
push esi
push eax
push 0x4f
mov eax, ebx
mov ebp, eax
push eax
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
and ebx, dword [esp + 8]
sub esp, 0xc
push 3
call fcn.0040eedc
add esp, 0x10
mov esi, eax
test esi, esi
je 0x418797
push 3
push esi
push 0x21
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x4187a6
push esi
call fcn.00419c44
add esp, 0x10
mov ecx, dword [esp + 0x64]
mov word [ecx + 0x1c], ax
sub esp, 0xc
push esi
call fcn.0040eeec
add esp, 0x10
mov eax, 1
jmp 0x4187b1
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x4187af
push esi
call fcn.0040eeec
add esp, 0x10
xor eax, eax
and ebx, eax
sub esp, 0xc
push 3
call fcn.0040eedc
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4187fc
push 3
push esi
push 0x22
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x41880b
push esi
call fcn.00419c44
add esp, 0x10
mov ecx, dword [esp + 0x64]
mov word [ecx + 0x1e], ax
sub esp, 0xc
push esi
call fcn.0040eeec
add esp, 0x10
mov eax, 1
jmp 0x418816
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x418814
push esi
call fcn.0040eeec
add esp, 0x10
xor eax, eax
and ebx, eax
sub esp, 0xc
push 3
call fcn.0040eedc
add esp, 0x10
mov esi, eax
test esi, esi
je 0x418861
push 3
push esi
push 0x23
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x418870
push esi
call fcn.00419c44
add esp, 0x10
mov ecx, dword [esp + 0x64]
mov word [ecx + 0x20], ax
sub esp, 0xc
push esi
call fcn.0040eeec
add esp, 0x10
mov eax, 1
jmp 0x41887b
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x418879
push esi
call fcn.0040eeec
add esp, 0x10
xor eax, eax
and ebx, eax
sub esp, 0xc
push 2
call fcn.0040eedc
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4188c6
push 2
push esi
push 0x24
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x4188d5
push esi
call fcn.00419c44
add esp, 0x10
mov ecx, dword [esp + 0x64]
mov word [ecx + 0x22], ax
sub esp, 0xc
push esi
call fcn.0040eeec
add esp, 0x10
mov eax, 1
jmp 0x4188e0
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x4188de
push esi
call fcn.0040eeec
add esp, 0x10
xor eax, eax
and ebx, eax
sub esp, 0xc
push 3
call fcn.0040eedc
add esp, 0x10
mov esi, eax
test esi, esi
je 0x41892b
push 3
push esi
push 0x25
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x41893a
push esi
call fcn.00419c44
add esp, 0x10
mov ecx, dword [esp + 0x64]
mov word [ecx + 0x24], ax
sub esp, 0xc
push esi
call fcn.0040eeec
add esp, 0x10
mov eax, 1
jmp 0x418945
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x418943
push esi
call fcn.0040eeec
add esp, 0x10
xor eax, eax
and ebx, eax
sub esp, 0xc
push 3
call fcn.0040eedc
add esp, 0x10
mov esi, eax
test esi, esi
je 0x418990
push 3
push esi
push 0x26
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x41899f
push esi
call fcn.00419c44
add esp, 0x10
mov ecx, dword [esp + 0x64]
mov word [ecx + 0x26], ax
sub esp, 0xc
push esi
call fcn.0040eeec
add esp, 0x10
mov eax, 1
jmp 0x4189aa
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x4189a8
push esi
call fcn.0040eeec
add esp, 0x10
xor eax, eax
and ebx, eax
sub esp, 0xc
push 3
call fcn.0040eedc
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4189fc
push 3
push esi
push 0x27
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x418a0b
push esi
call fcn.00419c44
add esp, 0x10
mov ecx, dword [esp + 0x64]
mov word [ecx + 0x28], ax
sub esp, 0xc
push esi
call fcn.0040eeec
add esp, 0x10
mov eax, 1
and ebx, eax
jne 0x418a1e
jmp 0x418a9e
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x418a14
push esi
call fcn.0040eeec
add esp, 0x10
xor eax, eax
and ebx, eax
je 0x418a9e
sub esp, 4
lea esi, [esp + 0x10]
push 0x40
push esi
mov edi, dword [esp + 0x70]
push dword [edi + 8]
call fcn.004157c8
add esp, 4
push dword [edi + 8]
call fcn.0040eeec
add esp, 4
push esi
call fcn.0041159c
add esp, 0x10
mov dword [edi + 8], eax
sub esp, 4
push 0x40
push esi
push dword [edi + 0xc]
call fcn.004157c8
add esp, 4
push dword [edi + 0xc]
call fcn.0040eeec
add esp, 4
push esi
call fcn.0041159c
add esp, 0x10
mov dword [edi + 0xc], eax
sub esp, 4
push 0x40
push esi
push dword [edi + 0x10]
call fcn.004157c8
add esp, 4
push dword [edi + 0x10]
call fcn.0040eeec
add esp, 4
push esi
call fcn.0041159c
add esp, 0x10
mov dword [edi + 0x10], eax
mov eax, ebx
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret