Function at 0x59d0d8
Capabilities:
Create process on windows
Get geographical location
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x103
push 0
push 0
dec ecx
jne 0x59d0e0
push ecx
push ebx
push esi
push edi
mov esi, edx
lea edi, [ebp - 0x230]
mov ecx, 0x86
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x59d4ea
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x14]
mov edx, 0x59d504
call fcn.00404174
lea eax, [ebp - 0x10]
call fcn.004040dc
lea eax, [ebp - 0x735]
push eax
push 0x103
push 0x104
mov eax, dword [ebp - 0x14]
call fcn.0040453c
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6ac]
call fcn.0040453c
mov edx, 0x59d51c
pop ecx
call fcn.00502d20
lea eax, [ebp - 0x10]
lea edx, [ebp - 0x735]
mov ecx, 0x104
call fcn.0040430c
cmp dword [ebp - 0x10], 0
jne 0x59d17e
lea eax, [ebp - 0x10]
mov edx, 0x59d504
call fcn.00404174
mov edx, 0x59d52c
lea eax, [ebp - 0x780]
call fcn.00402de8
lea edx, [ebp - 0x230]
lea eax, [ebp - 0x780]
mov cl, 0x46
call fcn.00402db8
lea edx, [ebp - 0x780]
lea eax, [ebp - 0x7d0]
call fcn.00402de8
mov edx, 0x59d558
lea eax, [ebp - 0x7d0]
mov cl, 0x4c
call fcn.00402db8
lea edx, [ebp - 0x7d0]
lea eax, [ebp - 0xc]
call fcn.00404300
mov eax, dword [ebp - 0x210]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
test esi, esi
jl 0x59d252
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x7d4]
mov edx, ebx
mov eax, dword [ebp - 0x210]
mov edi, dword [eax]
call dword [edi + 0xc]
cmp dword [ebp - 0x7d4], 0
je 0x59d24e
push dword [ebp - 0xc]
push 0x59d568
lea edx, [ebp - 0x7d8]
lea eax, [ebx + 1]
call fcn.0040c174
push dword [ebp - 0x7d8]
push 0x59d578
lea ecx, [ebp - 0x7dc]
mov edx, ebx
mov eax, dword [ebp - 0x210]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x7dc]
push 0x59d584
lea eax, [ebp - 0xc]
mov edx, 6
call fcn.00404438
inc ebx
dec esi
jne 0x59d1e6
push dword [ebp - 0xc]
push 0x59d594
lea eax, [ebp - 0x7e0]
lea edx, [ebp - 0x20c]
call fcn.00404300
push dword [ebp - 0x7e0]
push 0x59d584
push 0x59d5a4
lea eax, [ebp - 0x7e4]
lea edx, [ebp - 0x1fc]
call fcn.00404300
push dword [ebp - 0x7e4]
push 0x59d584
push 0x59d5b8
lea eax, [ebp - 0x7e8]
lea edx, [ebp - 0x1ec]
call fcn.00404300
push dword [ebp - 0x7e8]
push 0x59d584
push 0x59d5cc
lea eax, [ebp - 0x7ec]
lea edx, [ebp - 0x1cd]
call fcn.00404300
push dword [ebp - 0x7ec]
push 0x59d584
push 0x59d5e0
lea eax, [ebp - 0x7f0]
lea edx, [ebp - 0x1bd]
call fcn.00404300
push dword [ebp - 0x7f0]
push 0x59d584
push 0x59d5f8
lea eax, [ebp - 0x7f4]
lea edx, [ebp - 0x1ad]
call fcn.00404300
push dword [ebp - 0x7f4]
push 0x59d584
push 0x59d60c
lea eax, [ebp - 0x7f8]
lea edx, [ebp - 0x19d]
call fcn.00404300
push dword [ebp - 0x7f8]
push 0x59d584
push 0x59d624
lea eax, [ebp - 0x7fc]
lea edx, [ebp - 0x18d]
call fcn.00404300
push dword [ebp - 0x7fc]
push 0x59d584
push 0x59d638
lea eax, [ebp - 0x800]
lea edx, [ebp - 0x16e]
call fcn.00404300
push dword [ebp - 0x800]
push 0x59d584
push 0x59d658
lea eax, [ebp - 0x804]
lea edx, [ebp - 0x131]
call fcn.00404300
push dword [ebp - 0x804]
push 0x59d584
push 0x59d674
lea eax, [ebp - 0x808]
lea edx, [ebp - 0x8c]
call fcn.00404300
push dword [ebp - 0x808]
push 0x59d584
push 0x59d68c
lea eax, [ebp - 0x80c]
lea edx, [ebp - 0x6d]
call fcn.00404300
push dword [ebp - 0x80c]
push 0x59d584
push 0x59d6a4
lea eax, [ebp - 0x810]
lea edx, [ebp - 0x44]
call fcn.00404300
push dword [ebp - 0x810]
push 0x59d584
lea eax, [ebp - 0xc]
mov edx, 0x28
call fcn.00404438
push 0x59d6bc
push dword [ebp - 0x10]
push 0x59d6cc
push dword [ebp - 0xc]
lea eax, [ebp - 0x814]
mov edx, 4
call fcn.00404438
mov edx, dword [ebp - 0x814]
lea eax, [ebp - 0x631]
call fcn.0040d098
push 1
push 0x59d6ec
push 0x59d6ec
lea eax, [ebp - 0x631]
push eax
push 0x59d6f0
mov eax, dword [ebp - 4]
call fcn.0049625c
push eax
call sub.shell32.dll_ShellExecuteA
cmp eax, 0x20
jae 0x59d478
mov eax, dword [ebp - 4]
lea edx, [eax + 0x3fc]
mov eax, dword [ebp - 4]
call fcn.0059d714
jmp 0x59d4bf
lea edx, [ebp - 0x81c]
mov eax, dword [0x663c8c]
mov eax, dword [eax]
call fcn.004af6b8
mov eax, dword [ebp - 0x81c]
lea edx, [ebp - 0x818]
call fcn.0040c65c
mov edx, dword [ebp - 0x818]
lea eax, [ebp - 0x18]
mov ecx, 0x59d700
call fcn.004043c4
lea edx, [ebp - 0x230]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
call fcn.0059bea8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59d4f1
lea eax, [ebp - 0x81c]
mov edx, 0x13
call fcn.00404100
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.00404100
ret