Function at 0x414cf0
Capabilities:
Encrypt data using rc4 ksa
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x22c
push ebx
push esi
push edi
mov word [0x44965c], 0xbbef
mov byte [0x44965e], 0xbf
mov word [0x449658], 0xfeff
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov edi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov esi, eax
mov ebx, 0x38
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0xc
jmp 0x414d40
push 0xff
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebx + 0xc]
push ecx
push esi
call edi
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x22c]
push edx
lea ecx, [ecx + 0x4496b8]
call fcn.00401010
push 0xff
lea eax, [ebp - 0x22c]
push eax
push ebx
push esi
call edi
lea ecx, [ebp - 0x22c]
push ecx
mov ecx, dword [ebp - 4]
lea ecx, [ecx + 0x449810]
call fcn.00401010
add dword [ebp - 4], 0xc
inc ebx
dec dword [ebp - 8]
jne 0x414d40
xor ebx, ebx
mov dword [ebp - 4], ebx
lea esp, [esp]
mov eax, dword [ebp - 4]
add eax, 6
cdq
mov ecx, 7
idiv ecx
push 0xff
lea eax, [ebp - 0x22c]
push eax
mov dword [ebp - 8], edx
add edx, 0x31
push edx
push esi
call edi
lea ecx, [ebp - 0x22c]
push ecx
lea ecx, [ebx + 0x449748]
call fcn.00401010
mov eax, dword [ebp - 8]
push 0xff
lea edx, [ebp - 0x22c]
push edx
add eax, 0x2a
push eax
push esi
call edi
lea ecx, [ebp - 0x22c]
push ecx
lea ecx, [ebx + 0x449660]
call fcn.00401010
inc dword [ebp - 4]
add ebx, 0xc
cmp ebx, 0x54
jl 0x414da0
push 0xff
lea edx, [ebp - 0x22c]
push edx
push 0x14
push esi
call edi
lea eax, [ebp - 0x22c]
push eax
mov ecx, 0x4497ac
call fcn.00401010
push 0xff
lea ecx, [ebp - 0x22c]
push ecx
push 0x28
push esi
call edi
mov ecx, 0x432284
lea eax, [ebp - 0x22c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x414e6d
test dx, dx
je 0x414e69
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x414e6d
add eax, 4
add ecx, 4
test dx, dx
jne 0x414e47
xor eax, eax
jmp 0x414e72
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x414e97
jmp 0x414e80
movzx ecx, word [eax + 0x43326c]
mov word [ebp + eax - 0x22c], cx
add eax, 2
test cx, cx
jne 0x414e80
lea edx, [ebp - 0x22c]
push edx
mov ecx, 0x4497d0
call fcn.00401010
push 0xff
lea eax, [ebp - 0x22c]
push eax
push 0x29
push esi
call edi
mov ecx, 0x432284
lea eax, [ebp - 0x22c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x414eea
test dx, dx
je 0x414ee6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x414eea
add eax, 4
add ecx, 4
test dx, dx
jne 0x414ec4
xor eax, eax
jmp 0x414eef
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x414f17
jmp 0x414f00
movzx ecx, word [eax + 0x433264]
mov word [ebp + eax - 0x22c], cx
add eax, 2
test cx, cx
jne 0x414f00
lea ecx, [ebp - 0x22c]
push ecx
mov ecx, 0x4497dc
call fcn.00401010
push 2
lea edx, [ebp - 0x22c]
push edx
push 0x1e
push esi
call edi
movzx eax, word [ebp - 0x22c]
push 2
lea ecx, [ebp - 0x22c]
push ecx
push 0x1d
push esi
mov word [0x4497a6], ax
call edi
mov dx, word [ebp - 0x22c]
push 2
lea eax, [ebp - 0x22c]
push eax
push 0xf
push esi
mov word [0x4497a8], dx
call edi
mov cx, word [ebp - 0x22c]
push 2
lea edx, [ebp - 0x22c]
push edx
push 0xe
push esi
mov word [0x4497a2], cx
call edi
movzx eax, word [ebp - 0x22c]
push 0xff
lea ecx, [ebp - 0x22c]
push ecx
push 0x19
push esi
mov word [0x4497a4], ax
call edi
lea edx, [ebp - 0x22c]
push edx
call fcn.0041c765
add esp, 4
push 0xff
mov byte [0x4497aa], al
lea eax, [ebp - 0x22c]
push eax
push 0x20
push esi
call edi
lea ecx, [ebp - 0x22c]
push ecx
mov ecx, 0x4497c4
call fcn.00401010
push 0xff
lea edx, [ebp - 0x22c]
push edx
push 0x1f
push esi
call edi
lea eax, [ebp - 0x22c]
push eax
mov ecx, 0x4497b8
call fcn.00401010
push 0xff
lea ecx, [ebp - 0x22c]
push ecx
push 0x1b
push esi
call edi
lea edx, [ebp - 0x22c]
push edx
call fcn.0041c765
add esp, 4
mov byte [0x4497a0], al
push 0xff
lea eax, [ebp - 0x22c]
push eax
push 0x1b
push esi
call edi
lea ecx, [ebp - 0x22c]
push ecx
call fcn.0041c765
add esp, 4
lea ecx, [ebp - 0x2c]
mov byte [0x4497a1], al
call fcn.004013e0
lea ecx, [ebp - 0x20]
call fcn.004013e0
lea ecx, [ebp - 0x14]
call fcn.004013e0
push 0xff
lea edx, [ebp - 0x22c]
push edx
push 0x25
push esi
call edi
lea eax, [ebp - 0x22c]
push eax
call fcn.0041c765
add esp, 4
lea ecx, [ebp - 0x14]
test eax, eax
je 0x41508f
push 0x433260
jmp 0x415094
push 0x43325c
call fcn.004012f0
push 0xff
lea ecx, [ebp - 0x22c]
push ecx
push 0x23
push esi
call edi
lea edx, [ebp - 0x22c]
push edx
call fcn.0041c765
add esp, 4
test eax, eax
jne 0x4150fb
push 0xff
lea eax, [ebp - 0x22c]
push eax
push 0x1005
push esi
call edi
lea ecx, [ebp - 0x22c]
push ecx
call fcn.0041c765
add esp, 4
test eax, eax
jne 0x4150ee
push str._AMPM
lea ecx, [ebp - 0x20]
jmp 0x4150f6
push str.AMPM
lea ecx, [ebp - 0x2c]
call fcn.004012f0
lea edx, [ebp - 0x2c]
push edx
mov ecx, 0x4497e8
call fcn.00401dc0
lea eax, [ebp - 0x14]
push eax
mov ecx, 0x4497e8
call fcn.00401e20
push 0x4497e8
mov ecx, 0x4497f4
call fcn.00401dc0
push 0x433244
mov ecx, 0x4497e8
call fcn.00401e90
lea ecx, [ebp - 0x20]
push ecx
mov ecx, 0x4497e8
call fcn.00401e20
push 0x433234
mov ecx, 0x4497f4
call fcn.00401e90
lea edx, [ebp - 0x20]
push edx
mov ecx, 0x4497f4
call fcn.00401e20
push 0x4497b8
mov ecx, 0x449800
call fcn.00401dc0
push 0x43234c
mov ecx, 0x449800
call fcn.00401e90
push 0x4497f4
mov ecx, 0x449800
call fcn.00401e20
lea ecx, [ebp - 0x14]
call fcn.004058f0
lea ecx, [ebp - 0x20]
call fcn.004058f0
lea ecx, [ebp - 0x2c]
call fcn.004058f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret