Function at 0x408030
Capabilities:
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x420
mov edi, dword [0x48e458]
push 0
push str.make_hugefiles
push dword [edi]
call fcn.00401600
add esp, 0xc
test eax, eax
je 0x4084bb
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x10]
test byte [eax + 0x60], 0x40
mov eax, 0x7f2bb785
je 0x409435
push 0
push str.hugefiles_uid
push dword [edi]
call fcn.00401590
add esp, 0xc
mov dword [0x4b73e8], eax
push 0
push str.hugefiles_gid
push dword [edi]
call fcn.00401590
add esp, 0xc
mov dword [0x4b73ec], eax
push 0x3f
push str.hugefiles_umask
push dword [edi]
call fcn.00401590
add esp, 0xc
mov dword [ebx + 0x5c], eax
push 0
push str.num_hugefiles
push dword [edi]
call fcn.00401590
add esp, 0xc
mov dword [0x4b73f0], eax
push 0x48e295
push str.hugefiles_slack
push dword [edi]
call fcn.00401510
add esp, 0xc
mov esi, eax
mov eax, dword [ebx + 0x10]
push dword [eax + 0x18]
push esi
call fcn.0040f3c0
add esp, 8
mov dword [0x4b73fc], edx
mov dword [0x4b73f8], eax
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
push 0x48e2a7
push str.hugefiles_size
push dword [edi]
call fcn.00401510
add esp, 0xc
mov esi, eax
mov eax, dword [ebx + 0x10]
push dword [eax + 0x18]
push esi
call fcn.0040f3c0
add esp, 8
mov dword [0x4b7404], edx
mov dword [0x4b7400], eax
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
push 0x48e2a7
push str.hugefiles_align
push dword [edi]
call fcn.00401510
add esp, 0xc
mov esi, eax
mov eax, dword [ebx + 0x10]
push dword [eax + 0x18]
push esi
call fcn.0040f3c0
add esp, 8
mov dword [esp + 0x24], eax
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
push 0
push str.hugefiles_align_disk
push dword [edi]
call fcn.00401600
add esp, 0xc
test eax, eax
je 0x4084c2
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
lea eax, [esp + 0x2f1]
push 0x12b
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
xorps xmm0, xmm0
movaps xmmword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0x60], xmm0
lea eax, [esp + 0x60]
push eax
push esi
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__stat32i64]
add esp, 8
test eax, eax
js 0x408569
movzx eax, word [esp + 0x66]
and eax, 0xf000
xor ecx, ecx
mov edx, 0
cmp eax, 0x3000
jne 0x408576
mov edi, dword [esp + 0x70]
lea eax, [esp + 0x90]
push 0x12c
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
lea eax, [esp + 0x1c0]
push 0x12c
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x2f0], 0
push 0x48e3c7
call fcn.004248a0
add esp, 4
test eax, eax
je 0x40856f
mov ebx, eax
push eax
call fcn.00424a60
add esp, 4
test eax, eax
je 0x4084d7
mov esi, eax
mov dword [esp + 0x14], edi
xor edi, edi
jmp 0x408293
push ebx
call fcn.00424a60
add esp, 4
mov esi, eax
test eax, eax
je 0x4084a8
add esi, 8
push 0x48e3d2
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x408280
push 0x48e3d4
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x408280
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0x10d
jae 0x408280
mov dword [esp + 0x28], edi
sub esp, 0x10
mov dword [esp + 0xc], esi
lea edi, [esp + 0xa0]
mov dword [esp], edi
mov dword [esp + 8], str._sys_block__s_dev
call fcn.00409660
add esp, 0x10
push 0x48e3c0
push edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fopen
add esp, 8
test eax, eax
je 0x408344
mov edi, eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x58]
push eax
push str._u:_u
push edi
call fcn.00409640
add esp, 0x10
mov dword [esp + 0x10], eax
push edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
add esp, 4
cmp dword [esp + 0x10], 2
jne 0x408344
mov eax, dword [esp + 0x54]
shl eax, 8
add eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x14]
je 0x409471
sub esp, 0x10
mov dword [esp + 0xc], esi
lea eax, [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 8], str._sys_block__s
call fcn.00409660
add esp, 0x10
mov eax, dword [esp + 0x28]
test eax, eax
je 0x408376
push eax
call fcn.00424b70
add esp, 4
lea eax, [esp + 0x90]
push eax
call fcn.004248a0
add esp, 4
mov edi, eax
test eax, eax
je 0x408495
push edi
call fcn.00424a60
add esp, 4
test eax, eax
je 0x408495
mov esi, eax
mov dword [esp + 0x28], edi
jmp 0x4083c9
push edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
add esp, 4
mov edi, dword [esp + 0x28]
push edi
call fcn.00424a60
add esp, 4
mov esi, eax
test eax, eax
je 0x408495
add esi, 8
push 0x48e3d2
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x4083b2
push 0x48e3d4
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x4083b2
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, eax
lea eax, [esp + 0x90]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, 0x10c
sub ecx, eax
cmp edi, ecx
ja 0x4083b2
sub esp, 0x14
mov dword [esp + 0x10], esi
lea eax, [esp + 0xa4]
mov dword [esp + 0xc], eax
lea edi, [esp + 0x1d4]
mov dword [esp], edi
mov dword [esp + 8], str._s__s_dev
call fcn.00409660
add esp, 0x14
push 0x48e3c0
push edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fopen
add esp, 8
test eax, eax
je 0x4083b2
mov edi, eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x58]
push eax
push str._u:_u
push edi
call fcn.00409640
add esp, 0x10
cmp eax, 2
jne 0x4083a9
mov eax, dword [esp + 0x54]
shl eax, 8
add eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x14]
jne 0x4083a9
jmp 0x40943d
push ebx
call fcn.00424a60
add esp, 4
mov esi, eax
test eax, eax
jne 0x408293
xor esi, esi
push ebx
call fcn.00424b70
add esp, 4
mov ebx, edi
test edi, edi
jne 0x4084d9
jmp 0x4084e2
xor eax, eax
jmp 0x409435
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
jmp 0x4085b6
xor esi, esi
push ebx
call fcn.00424b70
add esp, 4
test esi, esi
je 0x40856f
lea esi, [esp + 0x2f0]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
xor ecx, ecx
mov edx, 0
cmp eax, 0x125
mov ebx, dword [ebp + 8]
ja 0x408576
mov dword [esp + eax + 0x2f3], 0x747261
mov dword [esp + eax + 0x2f0], 0x6174732f
push 0x48e3c0
push esi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fopen
add esp, 8
test eax, eax
je 0x408569
mov esi, eax
lea eax, [esp + 0x58]
push eax
push 0x48e3c2
push esi
call fcn.00409640
add esp, 0xc
mov edi, eax
push esi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
add esp, 4
xor edx, edx
mov ecx, 0
cmp edi, 1
jne 0x408576
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
jmp 0x408576
xor ecx, ecx
xor edx, edx
jmp 0x408576
xor ecx, ecx
xor edx, edx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x14]
shr eax, 9
push 0
push eax
push edx
push ecx
call fcn.004242b0
add esp, 0x10
mov edi, edx
mov cl, byte [ebx + 0x64]
mov edx, 1
shl edx, cl
mov ecx, edx
sar ecx, 0x1f
push ecx
push edx
push edi
mov dword [esp + 0x40], eax
push eax
call fcn.004243c0
add esp, 0x10
or edx, eax
jne 0x40949d
mov dword [esp + 0x30], edi
mov esi, dword [0x4b7404]
mov edi, dword [0x4b7400]
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x4085e5
push 0
push ebx
push esi
push edi
call fcn.004243c0
add esp, 0x10
mov ecx, ebx
sub ecx, eax
test eax, eax
cmove ecx, eax
add edi, ecx
adc esi, 0
mov dword [0x4b7400], edi
mov dword [0x4b7404], esi
push dword [0x4b6044]
push str.zero_hugefiles
mov esi, dword [0x48e458]
push dword [esi]
call fcn.00401600
add esp, 0xc
mov dword [0x4b6044], eax
push 0x48e337
push str.hugefiles_dir
push dword [esi]
call fcn.00401510
add esp, 0xc
mov esi, eax
xorps xmm0, xmm0
movaps xmmword [esp + 0x100], xmm0
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0xe0], xmm0
movaps xmmword [esp + 0xd0], xmm0
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xb0], xmm0
movaps xmmword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x1c0], 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
add eax, 1
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
mov dword [esp + 0x10], esi
je 0x4087d3
mov ebx, eax
push esi
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
add esp, 8
mov dword [esp + 0x28], 2
lea edi, [esp + 0x1c0]
mov dword [esp + 0xc], ebx
jmp 0x4086d6
mov dword [esp + 0x28], edi
lea edi, [esp + 0x1c0]
cmp byte [ecx], 0
mov ebx, ecx
je 0x4087f8
push 0x2f
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
add esp, 8
test eax, eax
je 0x408700
mov ecx, eax
add ecx, 1
mov byte [eax], 0
cmp byte [ebx], 0
jne 0x40870b
jmp 0x4086cb
xor ecx, ecx
cmp byte [ebx], 0
je 0x4087f8
mov dword [esp + 0x14], ecx
push edi
push 0
push 0x4000
mov esi, dword [esp + 0x34]
push esi
mov edi, dword [ebp + 8]
push edi
call fcn.0040f8f0
add esp, 0x14
test eax, eax
jne 0x4087e1
push ebx
push dword [esp + 0x1c4]
push esi
push edi
call fcn.0041cd50
add esp, 0x10
test eax, eax
jne 0x4087e1
mov esi, edi
mov ebx, dword [esp + 0x1c0]
lea edi, [esp + 0x90]
push edi
push ebx
push esi
call fcn.0041afb0
add esp, 0xc
test eax, eax
jne 0x4087e1
mov eax, dword [0x4b73e8]
mov word [esp + 0x92], ax
shr eax, 0x10
mov word [esp + 0x108], ax
mov eax, dword [0x4b73ec]
mov word [esp + 0xa8], ax
shr eax, 0x10
mov word [esp + 0x10a], ax
push edi
push ebx
push esi
call fcn.0041b2f0
add esp, 0xc
test eax, eax
mov edi, ebx
mov ecx, dword [esp + 0x14]
jne 0x4087b6
test ecx, ecx
jne 0x4086c0
push dword [esp + 0xc]
mov ebx, eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov esi, ebx
test ebx, ebx
je 0x408808
mov ebx, dword [esp + 0x10]
jmp 0x40942a
mov esi, 0xc
mov ebx, dword [esp + 0x10]
jmp 0x40942a
mov esi, eax
push dword [esp + 0xc]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov ebx, dword [esp + 0x10]
jmp 0x40942a
push dword [esp + 0xc]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov edi, dword [esp + 0x28]
push dword [esp + 0x10]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
push str.hugefile
push str.hugefiles_name
mov esi, dword [0x48e458]
push dword [esi]
call fcn.00401510
add esp, 0xc
mov dword [0x4b7408], eax
push 5
push str.hugefiles_digits
push dword [esi]
call fcn.00401590
add esp, 0xc
mov dword [0x4b740c], eax
push 0
push dword [0x4b73f0]
call fcn.004014c0
add esp, 8
mov esi, eax
add esi, 1
mov eax, dword [0x4b740c]
cmp eax, esi
cmovg esi, eax
mov ebx, dword [0x4b7408]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
add eax, esi
add eax, 0x10
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov dword [0x4b7410], eax
test eax, eax
je 0x4088ef
mov esi, eax
push ebx
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
add esp, 8
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
add eax, esi
mov dword [0x4b7414], eax
push ebx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov esi, dword [ebp + 8]
push dword [esi + 0x10]
call fcn.00412380
add esp, 4
mov ebx, eax
mov esi, edx
mov ecx, dword [0x4b73fc]
mov eax, dword [0x4b73f8]
mov dword [esp + 0x14], eax
add eax, dword [esp + 0x24]
mov dword [esp + 0x10], ecx
adc ecx, 0
cmp ebx, eax
sbb edx, ecx
jae 0x4088f9
mov eax, 0x1c
jmp 0x409435
mov esi, 0xc
jmp 0x40942a
sub ebx, eax
sbb esi, ecx
mov edx, ebx
mov ebx, dword [0x4b7404]
mov ecx, dword [0x4b7400]
mov eax, ecx
or eax, ebx
mov eax, esi
mov esi, edx
mov edx, eax
je 0x408928
cmp esi, ecx
mov eax, edx
sbb eax, ebx
mov eax, 0x1c
jb 0x409435
mov dword [esp + 0x1c], esi
mov dword [esp + 0xc], ecx
mov eax, ecx
or eax, ebx
mov esi, dword [0x4b73f0]
mov dword [esp + 0x28], edi
jne 0x40895f
test esi, esi
jne 0x40895f
mov dword [0x4b73f0], 1
xor ecx, ecx
mov esi, 1
xor edi, edi
mov ebx, dword [ebp + 8]
jmp 0x408a8e
test esi, esi
mov dword [esp + 0x18], edx
jne 0x4089db
mov edi, dword [esp + 0xc]
mov eax, edi
or eax, ebx
je 0x4089df
push ebx
push edi
push edx
push dword [esp + 0x28]
mov dword [esp + 0x30], ebx
call fcn.004242b0
add esp, 0x10
mov esi, eax
mov ebx, eax
shr ebx, 4
mov ecx, dword [ebp + 8]
mov edx, edi
push dword [esp + 0x20]
call fcn.00409510
add esp, 4
mov ecx, edx
imul ecx, esi
mul esi
add eax, ebx
adc edx, ecx
not eax
mov ecx, dword [esp + 0x1c]
add ecx, eax
not edx
mov eax, dword [esp + 0x18]
adc eax, edx
push dword [esp + 0x20]
push edi
mov dword [esp + 0x20], eax
push eax
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
push ecx
call fcn.004242b0
add esp, 0x10
mov esi, eax
mov dword [0x4b73f0], eax
jmp 0x4089df
mov edi, dword [esp + 0xc]
or edi, ebx
jne 0x408a6a
cmp esi, 2
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
jb 0x408a7b
push 0
push esi
push edx
push eax
call fcn.004242b0
add esp, 0x10
mov ebx, esi
mov esi, edx
mov dword [0x4b7404], edx
mov dword [0x4b7400], eax
mov edi, ebx
shr edi, 4
mov ecx, dword [ebp + 8]
mov edx, eax
push esi
mov esi, ebx
mov ebx, ecx
call fcn.00409510
add esp, 4
mov ecx, edx
imul ecx, esi
mul esi
add eax, edi
adc edx, ecx
not eax
add dword [esp + 0x1c], eax
not edx
adc dword [esp + 0x18], edx
push 0
push esi
push dword [esp + 0x20]
push dword [esp + 0x28]
call fcn.004242b0
add esp, 0x10
mov ecx, eax
mov edi, edx
mov edx, dword [esp + 0x18]
mov dword [0x4b7404], edi
mov dword [0x4b7400], eax
jmp 0x408a8e
mov eax, esi
mov esi, dword [ebp + 8]
mov edi, ebx
mov ebx, esi
mov esi, eax
mov edx, dword [esp + 0x18]
jmp 0x408a8a
mov dword [esp + 0x1c], eax
mov eax, esi
mov esi, dword [ebp + 8]
mov edi, ebx
mov ebx, esi
mov esi, eax
mov ecx, dword [esp + 0xc]
mov eax, ecx
or eax, edi
mov dword [esp + 0x18], edx
cmove edi, edx
cmove ecx, dword [esp + 0x1c]
add ecx, 0x7fff
adc edi, 0
shld edi, ecx, 0x11
mov eax, 0
mov ecx, 0
cmp edi, 5
jl 0x408ba3
mov eax, dword [ebx + 0x14]
add eax, 0xfffffff4
mov ecx, 0xaaaaaaab
mul ecx
mov dword [esp + 0x20], esi
mov esi, edx
shr esi, 4
mov ecx, esi
add ecx, 0xffffffff
mov dword [esp + 0xc], ecx
mov ebx, 0
adc ebx, 0xffffffff
lea eax, [edi + ecx]
add eax, 0xffffffff
cdq
idiv ecx
mov dword [esp + 0x40], eax
mov edi, eax
sar edi, 0x1f
add esi, 0xfffffffe
mov ecx, 0
adc ecx, 0xffffffff
mov dword [esp + 0x2c], ecx
mov edx, esi
add edx, eax
adc ecx, edi
mov dword [esp + 0x38], ebx
push ebx
push dword [esp + 0x10]
push ecx
push edx
call fcn.004242b0
add esp, 0x10
mov ecx, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], edx
mov eax, esi
add eax, ecx
mov ecx, dword [esp + 0x2c]
adc ecx, edx
push ebx
mov ebx, dword [esp + 0x10]
push ebx
push ecx
push eax
call fcn.004242b0
add esp, 0x10
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
add esi, eax
mov eax, dword [esp + 0x2c]
adc eax, edx
push dword [esp + 0x38]
push ebx
push eax
push esi
call fcn.004242b0
add esp, 0x10
mov ecx, dword [esp + 0x4c]
add ecx, dword [esp + 0x40]
adc edi, dword [esp + 0x3c]
mov esi, eax
add ecx, dword [esp + 0x44]
adc edi, dword [esp + 0x48]
add esi, ecx
adc edi, edx
mov eax, dword [ebp + 8]
mov cl, byte [eax + 0x64]
mov ebx, 1
shl ebx, cl
imul edi, ebx
mov eax, esi
mul ebx
mov ecx, edx
sar ebx, 0x1f
imul ebx, esi
mov esi, dword [esp + 0x20]
add ecx, ebx
mov ebx, dword [ebp + 8]
add ecx, edi
mul esi
imul ecx, esi
add ecx, edx
shr esi, 4
add esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
adc edi, 0
add esi, eax
adc edi, ecx
add esi, 1
adc edi, 0
mov dword [0x4b73f8], esi
mov dword [0x4b73fc], edi
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0xc], ecx
push eax
call fcn.00412170
add esp, 4
add eax, 0xffffffff
mov dword [esp + 0x3c], eax
adc edx, 0xffffffff
mov dword [esp + 0x4c], edx
mov eax, esi
or eax, edi
je 0x408ce5
mov edx, edi
xor ecx, ecx
mov eax, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], esi
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
lea edi, [esp + 0x90]
push edi
mov esi, dword [esp + 0x50]
push esi
mov edi, dword [esp + 0x44]
push edi
push ecx
push dword [esp + 0x1c]
push eax
call fcn.00418420
add esp, 0x18
test eax, eax
jne 0x408ce9
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
lea ebx, [esp + 0x90]
push ebx
push esi
push edi
mov dword [esp + 0x4c], edx
push edx
mov dword [esp + 0x3c], ecx
push ecx
push eax
call fcn.00418630
add esp, 0x18
test eax, eax
je 0x408c9a
mov eax, edi
mov ecx, esi
jmp 0x408ca8
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xc], eax
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x40]
sbb ecx, esi
mov edi, dword [esp + 0x20]
cmp edi, eax
mov edx, ebx
sbb edx, ecx
jb 0x408cef
sub edi, eax
sbb ebx, ecx
mov eax, edi
or eax, ebx
mov eax, ebx
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
mov esi, edi
jne 0x408bff
jmp 0x408cfd
xor ecx, ecx
jmp 0x408cfd
mov ecx, dword [esp + 0x14]
jmp 0x408cfd
mov eax, dword [esp + 0x2c]
add eax, edi
adc esi, ebx
mov dword [esp + 0xc], eax
mov ecx, esi
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x408d3f
push 0
push ebx
push dword [esp + 0x38]
push dword [esp + 0x40]
mov esi, ecx
call fcn.004243c0
add esp, 0x10
mov edi, dword [esp + 0xc]
add eax, edi
adc edx, esi
push 0
push ebx
push edx
push eax
call fcn.004243c0
mov ecx, esi
add esp, 0x10
sub ebx, eax
test eax, eax
cmove ebx, eax
add edi, ebx
adc ecx, 0
jmp 0x408d43
mov edi, dword [esp + 0xc]
mov dword [0x4b7418], edi
mov dword [0x4b741c], ecx
mov eax, dword [0x4b7404]
mov ecx, dword [0x4b7400]
mov edx, ecx
or edx, eax
mov ebx, dword [esp + 0x18]
cmovne ebx, eax
mov esi, dword [esp + 0x1c]
cmovne esi, ecx
mov eax, 0x80000000
xor edx, edx
mov ecx, dword [ebp + 8]
div dword [ecx + 0x14]
xor ecx, ecx
cmp eax, esi
sbb ecx, ebx
jae 0x408d8b
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
or dword [eax + 0x64], 2
mov ebx, dword [0x48e460]
cmp dword [ebx], 0
jne 0x408e06
cmp dword [0x4b6044], 0
je 0x408db6
mov eax, dword [0x48e464]
cmp dword [eax], 0
je 0x408db6
push str.Huge_files_will_be_zeroed
call sub.api_ms_win_crt_stdio_l1_1_0.dll_puts
add esp, 4
push dword [0x4b73f0]
push str.Creating__lu_huge_file_s_
call fcn.00409610
add esp, 8
mov ecx, dword [0x4b7404]
mov eax, dword [0x4b7400]
mov edx, eax
or edx, ecx
je 0x408de9
push ecx
push eax
push str.with__llu_blocks_each
call fcn.00409610
add esp, 0xc
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 2
push 0x48e393
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
cmp dword [0x4b73f0], 0
je 0x4093e6
lea eax, [esp + 0x60]
lea esi, [esp + 0x2f0]
mov dword [esp + 0x38], 0
mov dword [esp + 0x60], 0
mov ecx, dword [0x4b7404]
mov dword [esp + 0x3c], ecx
mov ecx, dword [0x4b7400]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2f0], 0
push eax
push 0
push 0x8000
push 0
mov edi, dword [ebp + 8]
push edi
call fcn.0040f8f0
add esp, 0x14
test eax, eax
jne 0x409409
lea eax, [esp + 0x94]
xorps xmm0, xmm0
movups xmmword [eax + 0x6c], xmm0
movups xmmword [eax + 0x60], xmm0
movups xmmword [eax + 0x50], xmm0
movups xmmword [eax + 0x40], xmm0
movups xmmword [eax + 0x30], xmm0
movups xmmword [eax + 0x20], xmm0
movups xmmword [eax + 0x10], xmm0
movups xmmword [eax], xmm0
movzx eax, word [edi + 0x5c]
and eax, 0x1b6
xor eax, 0x81b6
mov word [esp + 0x90], ax
mov word [esp + 0xaa], 1
mov eax, dword [0x4b73e8]
mov word [esp + 0x92], ax
shr eax, 0x10
mov word [esp + 0x108], ax
mov eax, dword [0x4b73ec]
mov word [esp + 0xa8], ax
shr eax, 0x10
mov word [esp + 0x10a], ax
lea ebx, [esp + 0x90]
push ebx
push dword [esp + 0x64]
push edi
call fcn.0041b310
add esp, 0xc
test eax, eax
jne 0x409409
push 0
push 1
push dword [esp + 0x68]
push edi
call fcn.00410700
add esp, 0x10
push esi
push ebx
push dword [esp + 0x68]
push edi
call fcn.00415040
add esp, 0x10
test eax, eax
jne 0x409409
mov ebx, edi
xor esi, esi
mov edx, dword [esp + 0x20]
mov eax, edx
mov ecx, dword [esp + 0x3c]
or eax, ecx
mov dword [esp + 0x48], 0
cmove ecx, esi
mov esi, ecx
mov edi, edx
mov eax, 1
cmove edi, eax
mov dword [esp + 0x44], 0
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x34], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x2c], edi
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x24], eax
mov eax, dword [0x4b7418]
mov dword [esp + 0x10], eax
mov edi, dword [0x4b741c]
push dword [ebx + 0x10]
call fcn.00412170
add esp, 4
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c0], 0
lea esi, [esp + 0x1c0]
push esi
push edx
push eax
push edi
push dword [esp + 0x20]
push dword [esp + 0x38]
call fcn.00418420
add esp, 0x18
test eax, eax
jne 0x4093a2
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x1c4]
mov dword [0x4b741c], edi
mov dword [0x4b7418], eax
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x24], eax
push dword [ebx + 0x10]
call fcn.00412170
add esp, 4
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c0], 0
push esi
push edx
push eax
push edi
push dword [esp + 0x20]
push dword [esp + 0x38]
call fcn.00418630
add esp, 0x18
test eax, eax
je 0x409083
mov edi, dword [esp + 0x2c]
mov ebx, edi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x30], esi
cmp eax, 2
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
jne 0x40909d
mov eax, dword [ebp + 8]
push dword [eax + 0x10]
call fcn.00412170
add esp, 4
mov ecx, dword [esp + 0x20]
or ecx, dword [esp + 0x3c]
mov ecx, 0
cmove esi, ecx
mov dword [esp + 0x30], esi
mov ebx, edi
cmove ebx, ecx
jmp 0x40909d
mov eax, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c4]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x20]
mov esi, ebx
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x3c]
or ecx, ebx
sete byte [esp + 0x4c]
mov ecx, eax
mov eax, dword [0x4b741c]
mov dword [esp + 0x24], eax
mov edi, dword [0x4b7418]
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], ecx
sub ecx, edi
mov dword [esp + 0x18], edx
sbb edx, eax
cmp ecx, esi
mov esi, edx
mov edi, dword [esp + 0x30]
sbb esi, edi
setb ah
or ah, byte [esp + 0x4c]
mov esi, dword [esp + 0x2c]
cmovne esi, ecx
mov eax, dword [esp + 0x14]
cmovne eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
or eax, ebx
mov ebx, dword [esp + 0x14]
mov eax, ebx
mov edx, 0
cmove eax, edx
mov ecx, esi
cmove ecx, edx
sub dword [esp + 0x40], ecx
sbb edi, eax
mov dword [esp + 0x30], edi
mov eax, esi
mov edx, dword [esp + 0x10]
add eax, edx
mov dword [0x4b7418], eax
mov eax, ebx
mov ecx, dword [esp + 0x24]
adc eax, ecx
mov dword [0x4b741c], eax
add dword [esp + 0x48], esi
adc dword [esp + 0x44], ebx
push 1
push esi
mov edi, esi
push ecx
push edx
push dword [ebp + 8]
call fcn.00410950
add esp, 0x14
cmp dword [0x4b6044], 0
je 0x4091b1
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c0], 0
push 0
lea eax, [esp + 0x1c4]
push eax
push edi
push dword [esp + 0x30]
push dword [esp + 0x20]
push dword [ebp + 8]
call fcn.0041d3f0
add esp, 0x18
test eax, eax
je 0x4091b1
push dword [esp + 0x1c4]
push dword [esp + 0x1c4]
push str.while_zeroing_block__llu_for_hugefile
push eax
mov eax, dword [0x48e45c]
push dword [eax]
call fcn.004238e0
add esp, 0x14
mov eax, edi
or eax, ebx
je 0x409269
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x34], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], ebx
cmp edi, 0x8000
mov eax, ebx
sbb eax, 0
mov esi, 0
cmovb esi, ebx
mov ebx, 0x8000
cmovb ebx, edi
mov dword [esp + 0x1d0], ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x1d4], 0
lea eax, [esp + 0x1c0]
push eax
push 1
push dword [esp + 0x2f8]
call fcn.00416410
add esp, 0xc
test eax, eax
jne 0x409409
add dword [esp + 0x10], ebx
adc dword [esp + 0x24], esi
mov ecx, dword [esp + 0xc]
add ecx, ebx
mov edx, dword [esp + 0x34]
adc edx, esi
sub edi, ebx
mov ebx, dword [esp + 0x14]
sbb ebx, esi
mov eax, edi
or eax, ebx
jne 0x4091c3
jmp 0x409271
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x40]
mov eax, edi
mov esi, dword [esp + 0x30]
or eax, esi
mov ebx, dword [ebp + 8]
jne 0x408f6c
lea esi, [esp + 0x90]
push esi
push dword [esp + 0x64]
push ebx
call fcn.0041afb0
add esp, 0xc
test eax, eax
jne 0x4093a2
mov ebx, dword [ebp + 8]
mov cl, byte [ebx + 0x64]
mov eax, 1
shl eax, cl
mov ecx, eax
sar ecx, 0x1f
push ecx
push eax
push dword [esp + 0x4c]
push dword [esp + 0x54]
call fcn.004242b0
add esp, 0x10
push edx
push eax
lea eax, [esp + 0x98]
push eax
push ebx
call fcn.00418bc0
add esp, 0x10
test eax, eax
jne 0x4093a2
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x14]
mov esi, dword [esp + 0x44]
imul esi, ecx
mov eax, dword [esp + 0x48]
mul ecx
add edx, esi
push edx
push eax
lea eax, [esp + 0x98]
push eax
push ebx
call fcn.00412a10
add esp, 0x10
test eax, eax
jne 0x4093a2
lea eax, [esp + 0x90]
push eax
push dword [esp + 0x64]
push dword [ebp + 8]
call fcn.0041b310
add esp, 0xc
test eax, eax
jne 0x4093a2
mov eax, dword [0x4b740c]
test eax, eax
je 0x409350
push dword [esp + 0x38]
push eax
push str._0lu
push dword [0x4b7414]
call fcn.00409690
add esp, 0x10
jmp 0x409370
cmp dword [0x4b73f0], 2
jb 0x409370
push dword [esp + 0x38]
push 0x48e439
push dword [0x4b7414]
call fcn.00409690
add esp, 0xc
mov esi, dword [esp + 0x28]
push 1
push dword [esp + 0x64]
push dword [0x4b7410]
push esi
mov ebx, dword [ebp + 8]
push ebx
call fcn.0041ba40
add esp, 0x14
cmp eax, 0x7f2bb726
jne 0x4093a2
push esi
push ebx
call fcn.00414c00
add esp, 8
test eax, eax
je 0x409374
mov esi, eax
mov eax, dword [esp + 0x2f0]
test eax, eax
je 0x4093b8
push eax
call fcn.00414fa0
add esp, 4
mov eax, esi
test esi, esi
mov ebx, dword [0x48e460]
lea esi, [esp + 0x2f0]
jne 0x409409
mov eax, dword [esp + 0x38]
add eax, 1
mov dword [esp + 0x38], eax
cmp eax, dword [0x4b73f0]
lea eax, [esp + 0x60]
jb 0x408e26
xor esi, esi
cmp dword [ebx], 0
jne 0x409424
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 5
push str.done_n
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
jmp 0x409421
push dword [esp + 0x38]
push str.while_creating_huge_file__lu
mov esi, eax
push eax
mov eax, dword [0x48e45c]
push dword [eax]
call fcn.004238e0
add esp, 0x10
mov ebx, dword [0x4b7410]
push ebx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
sub esp, 0x10
mov dword [esp + 0x10], esi
lea esi, [esp + 0x304]
lea eax, [esp + 0xa4]
mov dword [esp + 0xc], eax
mov dword [esp], esi
mov dword [esp + 8], 0x48e407
call fcn.00409660
add esp, 0x14
jmp 0x409494
lea eax, [esp + 0x2f0]
sub esp, 0x10
mov dword [esp + 0xc], esi
mov esi, eax
mov dword [esp], eax
mov dword [esp + 8], str._sys_block__s
call fcn.00409660
add esp, 0x10
mov edi, dword [esp + 0x28]
jmp 0x4084aa
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov cl, byte [ecx + 0x1c]
mov esi, 0x400
shl esi, cl
sub esp, 0x18
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], edi
mov ecx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
mov dword [esp], eax
call 0x4094f0
add esp, 0x18
push 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
nop word cs:[eax + eax]
nop dword [eax + eax]
push eax
mov eax, dword [esp + 8]
lea ecx, [esp + 0x10]
mov dword [esp], ecx
push ecx
push str.Partition_offset_of__llu___uk__blocks_not_compatible_with_cluster_size__u._n
push eax
call fcn.00425ad0
add esp, 0xc
pop eax
ret