Function at 0x7d007421
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x16c
push ebx
push esi
push edi
cmp dword [0x7d0189b4], 0
je 0x7d00743d
xor eax, eax
jmp 0x7d007be6
lea eax, [ebp - 0x138]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x134]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov dword [0x7d01893c], eax
mov eax, dword [ebp - 0x124]
mov dword [0x7d0188a8], eax
mov eax, dword [ebp - 4]
dec eax
mov dword [0x7d0188ec], eax
bsf eax, dword [ebp - 4]
jne 0x7d007479
xor eax, eax
jmp 0x7d00747a
inc eax
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x160]
dec eax
mov dword [0x7d01895c], eax
and dword [ebp - 0x114], 0
jmp 0x7d0074ae
mov eax, dword [ebp - 0x114]
inc eax
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 3
jae 0x7d0078e8
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 0
je 0x7d0074e4
cmp dword [ebp - 0x164], 1
je 0x7d0074f9
cmp dword [ebp - 0x164], 2
je 0x7d007531
jmp 0x7d00755c
and byte [ebp - 0x10c], 0
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x110], eax
jmp 0x7d00756f
push 1
pop eax
test eax, eax
je 0x7d00751c
push str.MALLOC_OPTIONS
call fcn.7d007beb
pop ecx
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
je 0x7d00751c
jmp 0x7d00752f
and byte [ebp - 0x10c], 0
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x110], eax
jmp 0x7d00756f
cmp dword [0x7d0188ac], 0
je 0x7d007547
mov eax, dword [0x7d0188ac]
mov dword [ebp - 0x110], eax
jmp 0x7d00755a
and byte [ebp - 0x10c], 0
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x110], eax
jmp 0x7d00756f
and byte [ebp - 0x10c], 0
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x110], eax
and dword [ebp - 0x13c], 0
jmp 0x7d007585
mov eax, dword [ebp - 0x13c]
inc eax
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x110]
add eax, dword [ebp - 0x13c]
movsx eax, byte [eax]
test eax, eax
je 0x7d0078e3
and dword [ebp - 0x144], 0
and dword [ebp - 0x140], 0
jmp 0x7d0075c3
mov eax, dword [ebp - 0x13c]
inc eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x140], 1
mov eax, dword [ebp - 0x110]
add eax, dword [ebp - 0x13c]
mov al, byte [eax]
mov byte [ebp - 0x168], al
cmp byte [ebp - 0x168], 0x30
jl 0x7d00761b
cmp byte [ebp - 0x168], 0x39
jle 0x7d0075eb
jmp 0x7d00761b
mov eax, dword [ebp - 0x144]
imul eax, eax, 0xa
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x110]
add eax, dword [ebp - 0x13c]
movsx eax, byte [eax]
mov ecx, dword [ebp - 0x144]
lea eax, [ecx + eax - 0x30]
mov dword [ebp - 0x144], eax
jmp 0x7d007620
jmp 0x7d007be1
jmp 0x7d0075ac
cmp dword [ebp - 0x140], 0
jne 0x7d007635
mov dword [ebp - 0x144], 1
and dword [ebp - 0x148], 0
jmp 0x7d00764b
mov eax, dword [ebp - 0x148]
inc eax
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x144]
jae 0x7d0078de
mov eax, dword [ebp - 0x110]
add eax, dword [ebp - 0x13c]
movsx eax, byte [eax]
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x16c], 0x61
jg 0x7d007707
cmp dword [ebp - 0x16c], 0x61
je 0x7d00775f
cmp dword [ebp - 0x16c], 0x4e
jg 0x7d0076db
cmp dword [ebp - 0x16c], 0x4e
je 0x7d00780f
cmp dword [ebp - 0x16c], 0x41
je 0x7d00776b
cmp dword [ebp - 0x16c], 0x42
je 0x7d00777f
cmp dword [ebp - 0x16c], 0x46
je 0x7d007795
cmp dword [ebp - 0x16c], 0x4b
je 0x7d0077e4
jmp 0x7d00789f
cmp dword [ebp - 0x16c], 0x50
je 0x7d00782b
cmp dword [ebp - 0x16c], 0x51
je 0x7d007853
cmp dword [ebp - 0x16c], 0x53
je 0x7d007884
jmp 0x7d00789f
cmp dword [ebp - 0x16c], 0x62
je 0x7d00777a
cmp dword [ebp - 0x16c], 0x66
je 0x7d007784
cmp dword [ebp - 0x16c], 0x6b
je 0x7d0077c6
cmp dword [ebp - 0x16c], 0x6e
je 0x7d0077ff
cmp dword [ebp - 0x16c], 0x70
je 0x7d00781f
cmp dword [ebp - 0x16c], 0x71
je 0x7d00783a
cmp dword [ebp - 0x16c], 0x73
je 0x7d00786e
jmp 0x7d00789f
and dword [0x7d0189b8], 0
jmp 0x7d0078d9
mov dword [0x7d0189b8], 1
jmp 0x7d0078d9
jmp 0x7d0078d9
jmp 0x7d0078d9
mov eax, dword [0x7d017030]
shr eax, 1
mov dword [0x7d017030], eax
jmp 0x7d0078d9
cmp dword [0x7d017030], 0
jne 0x7d0077aa
mov dword [0x7d017030], 1
jmp 0x7d0077c1
mov eax, dword [0x7d017030]
shl eax, 1
test eax, eax
je 0x7d0077c1
mov eax, dword [0x7d017030]
shl eax, 1
mov dword [0x7d017030], eax
jmp 0x7d0078d9
mov eax, dword [0x7d01895c]
inc eax
cmp dword [0x7d01703c], eax
jbe 0x7d0077df
mov eax, dword [0x7d01703c]
dec eax
mov dword [0x7d01703c], eax
jmp 0x7d0078d9
mov eax, dword [0x7d01703c]
inc eax
cmp eax, 0x20
jae 0x7d0077fa
mov eax, dword [0x7d01703c]
inc eax
mov dword [0x7d01703c], eax
jmp 0x7d0078d9
mov eax, dword [0x7d0189c0]
dec eax
mov dword [0x7d0189c0], eax
jmp 0x7d0078d9
mov eax, dword [0x7d0189c0]
inc eax
mov dword [0x7d0189c0], eax
jmp 0x7d0078d9
and dword [0x7d0189bc], 0
jmp 0x7d0078d9
mov dword [0x7d0189bc], 1
jmp 0x7d0078d9
cmp dword [0x7d017034], 4
jbe 0x7d00784e
mov eax, dword [0x7d017034]
dec eax
mov dword [0x7d017034], eax
jmp 0x7d0078d9
mov eax, dword [0x7d01895c]
dec eax
cmp dword [0x7d017034], eax
jae 0x7d00786c
mov eax, dword [0x7d017034]
inc eax
mov dword [0x7d017034], eax
jmp 0x7d0078d9
cmp dword [0x7d017038], 4
jbe 0x7d007882
mov eax, dword [0x7d017038]
dec eax
mov dword [0x7d017038], eax
jmp 0x7d0078d9
mov eax, dword [0x7d01895c]
dec eax
cmp dword [0x7d017038], eax
jae 0x7d00789d
mov eax, dword [0x7d017038]
inc eax
mov dword [0x7d017038], eax
jmp 0x7d0078d9
mov eax, dword [ebp - 0x110]
add eax, dword [ebp - 0x13c]
mov al, byte [eax]
mov byte [ebp - 0x14c], al
and byte [ebp - 0x14b], 0
push 0x7d013e78
lea eax, [ebp - 0x14c]
push eax
push str.:__malloc__Unsupported_character_in_malloc_options:_
push 0x7d013e0c
call dword [0x7d017040]
add esp, 0x10
jmp 0x7d00763e
jmp 0x7d007578
jmp 0x7d0074a1
mov eax, dword [0x7d017038]
cmp eax, dword [0x7d017034]
jae 0x7d0078ff
mov eax, dword [0x7d017034]
mov dword [0x7d017038], eax
push 1
pop eax
mov ecx, dword [0x7d017038]
shl eax, cl
mov dword [0x7d01894c], eax
mov eax, dword [0x7d01893c]
shr eax, 1
mov dword [0x7d018958], eax
mov eax, dword [0x7d017034]
dec eax
mov dword [0x7d0188e8], eax
mov eax, dword [0x7d01894c]
mov ecx, dword [0x7d017034]
shr eax, cl
mov dword [0x7d0188f8], eax
mov eax, dword [0x7d01895c]
sub eax, dword [0x7d017038]
dec eax
mov dword [0x7d0189a8], eax
push 1
pop eax
mov ecx, dword [0x7d017034]
shl eax, cl
mov dword [0x7d0189a4], eax
mov eax, dword [0x7d0189a4]
dec eax
mov dword [0x7d0189a0], eax
cmp dword [0x7d0188e8], 0
jbe 0x7d00797c
mov eax, dword [0x7d0189a4]
shr eax, 1
inc eax
mov dword [0x7d018948], eax
jmp 0x7d007986
mov dword [0x7d018948], 1
push 1
pop eax
mov ecx, dword [0x7d01703c]
shl eax, cl
mov dword [0x7d0188a4], eax
mov eax, dword [0x7d0188a4]
dec eax
mov dword [0x7d0188a0], eax
mov eax, dword [0x7d0188a4]
mov ecx, dword [0x7d01895c]
shr eax, cl
mov dword [0x7d0188f4], eax
mov eax, dword [0x7d0188f4]
dec eax
imul eax, eax, 0xc
add eax, 0x1c
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x150]
mov ecx, dword [0x7d01895c]
shr eax, cl
mov ecx, dword [ebp - 0x150]
and ecx, dword [0x7d0188ec]
neg ecx
sbb ecx, ecx
neg ecx
add eax, ecx
mov dword [0x7d018940], eax
mov eax, dword [0x7d018940]
mov ecx, dword [0x7d01895c]
shl eax, cl
mov ecx, dword [0x7d0188a4]
sub ecx, eax
mov dword [0x7d018954], ecx
push 0x7d0188d0
call fcn.7d007c0d
pop ecx
push 0x7d018920
call fcn.7d007c24
pop ecx
and dword [0x7d018900], 0
push 0x7d018908
call fcn.7d007c0d
pop ecx
mov dword [0x7d018950], 1
cmp dword [0x7d0189c0], 0
jle 0x7d007a88
mov eax, dword [0x7d018950]
mov ecx, dword [0x7d0189c0]
shl eax, cl
cmp eax, dword [0x7d018950]
jbe 0x7d007a69
mov eax, dword [0x7d018950]
mov ecx, dword [0x7d0189c0]
shl eax, cl
mov dword [0x7d018950], eax
mov eax, dword [0x7d018950]
shl eax, 2
cmp eax, dword [0x7d0188a4]
jbe 0x7d007a86
mov eax, dword [0x7d0188a4]
shr eax, 2
mov dword [0x7d018950], eax
jmp 0x7d007acf
cmp dword [0x7d0189c0], 0
jge 0x7d007acf
mov ecx, dword [0x7d0189c0]
neg ecx
mov eax, dword [0x7d018950]
shr eax, cl
cmp eax, dword [0x7d018950]
jae 0x7d007abc
mov ecx, dword [0x7d0189c0]
neg ecx
mov eax, dword [0x7d018950]
shr eax, cl
mov dword [0x7d018950], eax
cmp dword [0x7d018950], 0
jne 0x7d007acf
mov dword [0x7d018950], 1
cmp dword [0x7d018950], 1
jbe 0x7d007b53
mov dword [ebp - 0x158], 0x38
mov eax, dword [ebp - 0x158]
mov eax, dword [eax*4 + 0x7d013d18]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x114], 1
jmp 0x7d007b0e
mov eax, dword [ebp - 0x114]
inc eax
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
cmp eax, dword [ebp - 0x158]
jae 0x7d007b48
mov eax, dword [ebp - 0x114]
mov eax, dword [eax*4 + 0x7d013d1c]
cmp eax, dword [0x7d018950]
jbe 0x7d007b46
mov eax, dword [ebp - 0x114]
mov eax, dword [eax*4 + 0x7d013d1c]
mov dword [ebp - 0x154], eax
jmp 0x7d007b48
jmp 0x7d007b01
mov eax, dword [ebp - 0x154]
mov dword [0x7d018950], eax
mov eax, dword [0x7d018950]
shl eax, 2
push eax
call fcn.7d004cb4
pop ecx
mov dword [0x7d0189b0], eax
cmp dword [0x7d0189b0], 0
jne 0x7d007b75
push 1
pop eax
jmp 0x7d007be6
mov eax, dword [0x7d018950]
shl eax, 2
push eax
push 0
push dword [0x7d0189b0]
call fcn.7d010bd0
add esp, 0xc
push 0
call fcn.7d007df4
pop ecx
mov eax, dword [0x7d0189b0]
cmp dword [eax], 0
jne 0x7d007ba5
push 1
pop eax
jmp 0x7d007be6
push 0x7d0188b0
call fcn.7d007c0d
pop ecx
push 0x20
pop eax
sub eax, dword [0x7d01703c]
push eax
call fcn.7d007c97
pop ecx
mov dword [0x7d0188f0], eax
cmp dword [0x7d0188f0], 0
jne 0x7d007bd3
push 1
pop eax
jmp 0x7d007be6
mov dword [0x7d0189b4], 1
xor eax, eax
jmp 0x7d007be6
jmp 0x7d007622
pop edi
pop esi
pop ebx
leave
ret