Function at 0x3f001b90
Capabilities:
Get cpu information
Get system information on windows
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0
cmp dword [0x3f04e730], 0x28
je 0x3f0027c2
xor eax, eax
mov dword [0x3f04e730], 0x28
push ebx
push esi
push edi
mov dword [0x3f04e734], eax
xor edi, edi
mov dword [0x3f04e738], eax
xor esi, esi
mov dword [0x3f04e73c], eax
mov dword [0x3f04e740], eax
mov dword [0x3f04e744], eax
mov dword [0x3f04e748], eax
mov dword [0x3f04e74c], eax
mov dword [0x3f04e750], eax
mov dword [0x3f04e754], eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 0x20019
push edi
push str.HARDWAREDESCRIPTIONSystemCentralProcessor0
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x3f001c56
lea eax, [ebp - 4]
mov dword [ebp - 0xc], esi
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 8], esi
push eax
lea eax, [ebp - 8]
mov dword [ebp - 4], 4
push eax
push edi
push str.MHz
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x3f001c47
cmp dword [ebp - 8], 4
jne 0x3f001c47
mov eax, dword [ebp - 0xc]
mov ecx, 0xf4240
mul ecx
mov esi, eax
mov edi, edx
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, esi
or ecx, edi
jne 0x3f001c5d
mov esi, 0x77359400
xor edi, edi
xor eax, eax
mov dword [0x3f04e740], esi
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xc0]
push eax
mov dword [0x3f04e744], edi
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov esi, dword [ebp - 0xac]
lea ecx, [ebp - 0x24]
push 4
call fcn.3f002b40
lea ecx, [ebp - 0x24]
call fcn.3f003bd0
lea ecx, [ebp - 0x24]
mov edi, eax
call fcn.3f003ca0
mov dword [ebp - 4], eax
xor ebx, ebx
lea eax, [ebp - 0x28]
mov dword [ebp - 0x3c], ebx
push eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x28], ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessAffinityMask]
test eax, eax
je 0x3f001d13
mov edx, dword [ebp - 0x28]
xor ecx, ecx
mov eax, edx
or eax, ecx
je 0x3f001d13
nop
mov eax, edx
and eax, 1
shrd edx, ecx, 1
add ebx, eax
shr ecx, 1
mov eax, edx
or eax, ecx
jne 0x3f001d00
mov edx, dword [ebp - 4]
mov ecx, 1
cmp edi, ecx
cmova ecx, edi
cmp esi, ecx
mov byte [0x3f04e739], cl
mov eax, ecx
movzx ecx, bl
cmova eax, esi
cmp eax, edx
cmova edx, eax
movzx eax, dl
cmp edx, ebx
cmova ecx, eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
mov byte [0x3f04e738], cl
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.3f002860
add esp, 0x14
pop edi
pop esi
pop ebx
test al, al
jne 0x3f001d68
xor dl, dl
jmp 0x3f001d6e
mov edx, dword [ebp - 4]
shr edx, 4
mov cl, byte [0x3f04e734]
mov al, cl
xor al, dl
and al, 1
xor cl, al
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
mov byte [0x3f04e734], cl
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f001da4
xor cl, cl
jmp 0x3f001daa
mov ecx, dword [ebp - 4]
shr ecx, 0xf
mov al, byte [0x3f04e734]
add cl, cl
xor cl, al
and cl, 2
xor al, cl
mov byte [0x3f04e734], al
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f001ddf
xor cl, cl
jmp 0x3f001df4
mov eax, dword [ebp - 4]
and eax, 0x8001
cmp eax, 0x8001
setne cl
dec cl
and cl, 4
mov al, byte [0x3f04e734]
and al, 0xfb
or al, cl
mov byte [0x3f04e734], al
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f001e24
xor cl, cl
jmp 0x3f001e2a
mov ecx, dword [ebp - 4]
shr ecx, 0x17
mov al, byte [0x3f04e735]
shl cl, 3
xor cl, al
and cl, 8
xor al, cl
mov byte [0x3f04e735], al
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f001e60
xor cl, cl
jmp 0x3f001e66
mov ecx, dword [ebp - 4]
shr ecx, 0x19
mov al, byte [0x3f04e734]
shl cl, 3
xor cl, al
and cl, 8
xor al, cl
mov byte [0x3f04e734], al
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f001e9c
xor cl, cl
jmp 0x3f001ea2
mov ecx, dword [ebp - 4]
shr ecx, 0x1a
mov al, byte [0x3f04e734]
shl cl, 4
xor cl, al
and cl, 0x10
xor al, cl
mov byte [0x3f04e734], al
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f001ed8
xor cl, cl
jmp 0x3f001ede
mov cl, byte [ebp - 4]
and cl, 1
mov al, byte [0x3f04e734]
and al, 0xdf
shl cl, 5
or cl, al
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
mov byte [0x3f04e734], cl
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f001f12
xor cl, cl
jmp 0x3f001f18
mov ecx, dword [ebp - 4]
shr ecx, 9
mov al, byte [0x3f04e734]
shl cl, 6
xor cl, al
and cl, 0x40
xor al, cl
mov byte [0x3f04e734], al
call fcn.3f0027d0
push 0x3f0364a8
push eax
call fcn.3f0202ae
add esp, 8
test eax, eax
je 0x3f001f47
xor cl, cl
jmp 0x3f001f72
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 0x80000001
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f001f6c
xor cl, cl
jmp 0x3f001f72
mov ecx, dword [ebp - 4]
shr ecx, 6
mov al, byte [0x3f04e735]
add cl, cl
xor cl, al
and cl, 2
xor al, cl
mov byte [0x3f04e735], al
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f001fa7
xor cl, cl
jmp 0x3f001fad
mov ecx, dword [ebp - 4]
shr ecx, 0x13
mov al, byte [0x3f04e734]
and al, 0x7f
shl cl, 7
or cl, al
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
mov byte [0x3f04e734], cl
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f001fe1
xor cl, cl
jmp 0x3f001fe7
mov ecx, dword [ebp - 4]
shr ecx, 0x14
mov al, byte [0x3f04e735]
xor cl, al
and cl, 1
xor al, cl
mov byte [0x3f04e735], al
lea eax, [ebp - 0x10]
push eax
push eax
push eax
lea eax, [ebp - 8]
push eax
push 0x80000000
call fcn.3f002860
add esp, 0x14
test al, al
je 0x3f00203f
cmp dword [ebp - 8], 0x80000000
jbe 0x3f00203f
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push eax
push eax
push 0x80000001
call fcn.3f002860
add esp, 0x14
test al, al
je 0x3f00203f
mov ecx, dword [ebp - 8]
shr ecx, 0x1f
jmp 0x3f002041
xor cl, cl
mov al, byte [0x3f04e735]
and al, 0xfb
shl cl, 2
or cl, al
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
mov byte [0x3f04e735], cl
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f002075
xor cl, cl
jmp 0x3f00207b
mov ecx, dword [ebp - 4]
shr ecx, 0x19
mov al, byte [0x3f04e735]
shl cl, 5
xor cl, al
and cl, 0x20
xor al, cl
mov byte [0x3f04e735], al
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f0020b1
xor cl, cl
jmp 0x3f0020b7
mov ecx, dword [ebp - 4]
shr ecx, 0x1c
mov al, byte [0x3f04e735]
shl cl, 6
xor cl, al
and cl, 0x40
xor al, cl
mov byte [0x3f04e735], al
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f0020ed
xor cl, cl
jmp 0x3f00211f
cmp dword [ebp - 0xc], 7
jae 0x3f0020f7
xor cl, cl
jmp 0x3f00211f
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push 7
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f002119
xor cl, cl
jmp 0x3f00211f
mov ecx, dword [ebp - 8]
shr ecx, 5
mov al, byte [0x3f04e735]
and al, 0x7f
shl cl, 7
or cl, al
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
mov byte [0x3f04e735], cl
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f002153
xor cl, cl
jmp 0x3f002185
cmp dword [ebp - 0xc], 7
jae 0x3f00215d
xor cl, cl
jmp 0x3f002185
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push 7
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f00217f
xor cl, cl
jmp 0x3f002185
mov ecx, dword [ebp - 8]
shr ecx, 0x10
mov al, byte [0x3f04e736]
xor cl, al
and cl, 1
xor al, cl
mov byte [0x3f04e736], al
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f0021b8
xor cl, cl
jmp 0x3f0021ea
cmp dword [ebp - 0xc], 7
jae 0x3f0021c2
xor cl, cl
jmp 0x3f0021ea
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push 7
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f0021e4
xor cl, cl
jmp 0x3f0021ea
mov ecx, dword [ebp - 8]
shr ecx, 0x1a
mov al, byte [0x3f04e736]
add cl, cl
xor cl, al
and cl, 2
xor al, cl
mov byte [0x3f04e736], al
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f00221f
xor cl, cl
jmp 0x3f002251
cmp dword [ebp - 0xc], 7
jae 0x3f002229
xor cl, cl
jmp 0x3f002251
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push 7
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f00224b
xor cl, cl
jmp 0x3f002251
mov ecx, dword [ebp - 8]
shr ecx, 0x1b
mov al, byte [0x3f04e736]
shl cl, 2
xor cl, al
and cl, 4
xor al, cl
mov byte [0x3f04e736], al
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f002287
xor cl, cl
jmp 0x3f0022b9
cmp dword [ebp - 0xc], 7
jae 0x3f002291
xor cl, cl
jmp 0x3f0022b9
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push 7
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f0022b3
xor cl, cl
jmp 0x3f0022b9
mov ecx, dword [ebp - 8]
shr ecx, 0x1c
mov al, byte [0x3f04e736]
shl cl, 3
xor cl, al
and cl, 8
xor al, cl
mov byte [0x3f04e736], al
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f0022ef
xor cl, cl
jmp 0x3f002321
cmp dword [ebp - 0xc], 7
jae 0x3f0022f9
xor cl, cl
jmp 0x3f002321
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push 7
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f00231b
xor cl, cl
jmp 0x3f002321
mov ecx, dword [ebp - 8]
shr ecx, 0xb
mov al, byte [0x3f04e736]
shl cl, 4
xor cl, al
and cl, 0x10
xor al, cl
mov byte [0x3f04e736], al
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f002357
xor cl, cl
jmp 0x3f002389
cmp dword [ebp - 0xc], 7
jae 0x3f002361
xor cl, cl
jmp 0x3f002389
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push 7
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f002383
xor cl, cl
jmp 0x3f002389
mov ecx, dword [ebp - 8]
shr ecx, 0x1d
mov al, byte [0x3f04e736]
shl cl, 5
xor cl, al
and cl, 0x20
xor al, cl
mov byte [0x3f04e736], al
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f0023bf
xor cl, cl
jmp 0x3f0023c5
mov ecx, dword [ebp - 4]
shr ecx, 0xd
mov al, byte [0x3f04e736]
shl cl, 6
xor cl, al
and cl, 0x40
xor al, cl
mov byte [0x3f04e736], al
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x80000000
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f0023fe
xor cl, cl
jmp 0x3f002436
cmp dword [ebp - 0xc], 0x80000000
ja 0x3f00240b
xor cl, cl
jmp 0x3f002436
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x80000001
call fcn.3f002860
add esp, 0x14
test al, al
jne 0x3f002430
xor cl, cl
jmp 0x3f002436
mov cl, byte [ebp - 8]
and cl, 1
mov al, byte [0x3f04e736]
and byte [0x3f04e737], 0xfe
and al, 0x7f
shl cl, 7
or cl, al
mov byte [0x3f04e736], cl
call fcn.3f0027d0
cmp byte [0x3f04e678], 0
mov dword [0x3f04e748], eax
jne 0x3f002571
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 4]
push eax
push 0x80000000
call fcn.3f002860
add esp, 0x14
test al, al
je 0x3f00255d
cmp dword [ebp - 4], 0x80000004
jb 0x3f00255d
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0x80000002
call fcn.3f002860
add esp, 0x14
test al, al
je 0x3f0024d9
mov eax, dword [ebp - 0x20]
mov dword [0x3f04e678], eax
mov eax, dword [ebp - 0x1c]
mov dword [0x3f04e67c], eax
mov eax, dword [ebp - 0x18]
mov dword [0x3f04e680], eax
mov eax, dword [ebp - 0x14]
mov dword [0x3f04e684], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0x80000003
call fcn.3f002860
add esp, 0x14
test al, al
je 0x3f00251a
mov eax, dword [ebp - 0x20]
mov dword [0x3f04e688], eax
mov eax, dword [ebp - 0x1c]
mov dword [0x3f04e68c], eax
mov eax, dword [ebp - 0x18]
mov dword [0x3f04e690], eax
mov eax, dword [ebp - 0x14]
mov dword [0x3f04e694], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0x80000004
call fcn.3f002860
add esp, 0x14
test al, al
je 0x3f002571
mov eax, dword [ebp - 0x20]
mov dword [0x3f04e698], eax
mov eax, dword [ebp - 0x1c]
mov dword [0x3f04e69c], eax
mov eax, dword [ebp - 0x18]
mov dword [0x3f04e6a0], eax
mov eax, dword [ebp - 0x14]
mov dword [0x3f04e6a4], eax
jmp 0x3f002571
mov dword [0x3f04e678], 0x6e6b6e55
mov dword [0x3f04e67c], 0x6e776f
push 0x80
push 0
push 0x3f04e6b0
mov dword [0x3f04e74c], 0x3f04e678
call fcn.3f01b7f0
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
call fcn.3f002860
add esp, 0x20
test al, al
je 0x3f0025ca
mov eax, dword [ebp - 0x20]
mov dword [0x3f04e6b0], eax
mov eax, dword [ebp - 0x1c]
mov dword [0x3f04e6b4], eax
mov eax, dword [ebp - 0x18]
mov dword [0x3f04e6b8], eax
mov eax, dword [ebp - 0x14]
mov dword [0x3f04e6bc], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x38]
push eax
push 1
call fcn.3f002860
add esp, 0x14
test al, al
je 0x3f002608
mov eax, dword [ebp - 0x38]
mov dword [0x3f04e6c0], eax
mov eax, dword [ebp - 0x34]
mov dword [0x3f04e6c4], eax
mov eax, dword [ebp - 0x30]
mov dword [0x3f04e6c8], eax
mov eax, dword [ebp - 0x2c]
mov dword [0x3f04e6cc], eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x4c]
push eax
push 2
call fcn.3f002860
add esp, 0x14
test al, al
je 0x3f002646
mov eax, dword [ebp - 0x4c]
mov dword [0x3f04e6d0], eax
mov eax, dword [ebp - 0x48]
mov dword [0x3f04e6d4], eax
mov eax, dword [ebp - 0x44]
mov dword [0x3f04e6d8], eax
mov eax, dword [ebp - 0x40]
mov dword [0x3f04e6dc], eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x5c]
push eax
push 4
call fcn.3f002860
add esp, 0x14
test al, al
je 0x3f002684
mov eax, dword [ebp - 0x5c]
mov dword [0x3f04e6e0], eax
mov eax, dword [ebp - 0x58]
mov dword [0x3f04e6e4], eax
mov eax, dword [ebp - 0x54]
mov dword [0x3f04e6e8], eax
mov eax, dword [ebp - 0x50]
mov dword [0x3f04e6ec], eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x6c]
push eax
push 5
call fcn.3f002860
add esp, 0x14
test al, al
je 0x3f0026c2
mov eax, dword [ebp - 0x6c]
mov dword [0x3f04e6f0], eax
mov eax, dword [ebp - 0x68]
mov dword [0x3f04e6f4], eax
mov eax, dword [ebp - 0x64]
mov dword [0x3f04e6f8], eax
mov eax, dword [ebp - 0x60]
mov dword [0x3f04e6fc], eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x7c]
push eax
push 6
call fcn.3f002860
add esp, 0x14
test al, al
je 0x3f002700
mov eax, dword [ebp - 0x7c]
mov dword [0x3f04e700], eax
mov eax, dword [ebp - 0x78]
mov dword [0x3f04e704], eax
mov eax, dword [ebp - 0x74]
mov dword [0x3f04e708], eax
mov eax, dword [ebp - 0x70]
mov dword [0x3f04e70c], eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x8c]
push eax
push 9
call fcn.3f002860
add esp, 0x14
test al, al
je 0x3f002750
mov eax, dword [ebp - 0x8c]
mov dword [0x3f04e710], eax
mov eax, dword [ebp - 0x88]
mov dword [0x3f04e714], eax
mov eax, dword [ebp - 0x84]
mov dword [0x3f04e718], eax
mov eax, dword [ebp - 0x80]
mov dword [0x3f04e71c], eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x9c]
push eax
push 0xa
call fcn.3f002860
add esp, 0x14
test al, al
je 0x3f0027a6
mov eax, dword [ebp - 0x9c]
mov dword [0x3f04e720], eax
mov eax, dword [ebp - 0x98]
mov dword [0x3f04e724], eax
mov eax, dword [ebp - 0x94]
mov dword [0x3f04e728], eax
mov eax, dword [ebp - 0x90]
mov dword [0x3f04e72c], eax
lea ecx, [ebp - 0x24]
mov dword [0x3f04e750], 0x80
mov dword [0x3f04e754], 0x3f04e6b0
call fcn.3f003150
mov eax, 0x3f04e730
mov esp, ebp
pop ebp
ret