Function at 0x44f68f
Capabilities:
Clear file content
Read file on windows
Write file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x4a4
mov edx, dword [ebp + 0x78]
push ebx
xor ebx, ebx
push esi
mov dword [ebp - 0x20], ecx
push edi
mov byte [ebp + 0x41], bl
mov byte [ebp + 0x5e], bl
mov byte [ebp + 0x5d], bl
mov byte [ebp + 0x5c], bl
xor ecx, ecx
jmp 0x44f6ea
mov eax, ecx
call fcn.00402a89
test al, al
jne 0x44f6f2
cmp cx, 0x2a
jne 0x44f6cd
mov al, byte [edx]
mov byte [ebp + 0x41], al
jmp 0x44f6e5
cmp cx, 0x2e
jne 0x44f6da
mov al, byte [edx]
mov byte [ebp + 0x5e], al
jmp 0x44f6e5
cmp cx, 0x23
jne 0x44f6e5
mov al, byte [edx]
mov byte [ebp + 0x5d], al
inc edx
inc edx
mov dword [ebp + 0x78], edx
mov cx, word [edx]
cmp cx, bx
jne 0x44f6b5
lea eax, [ebp + 0x78]
push eax
call fcn.00427312
push 3
lea eax, [ebp + 0x78]
push eax
push 0x487d50
call fcn.0042e2da
add esp, 0x10
test al, al
je 0x44f716
mov byte [ebp + 0x5c], 1
push 1
lea ecx, [ebp + 0x28]
call fcn.0042c827
mov eax, 0x200
mov dword [ebp + 0x48], eax
mov dword [ebp - 0x1c], eax
push 3
lea eax, [ebp + 0x78]
or edi, 0xffffffff
push eax
push 0x487d4c
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x20], edi
mov dword [ebp + 0x24], 0x7fffffff
xor esi, esi
mov dword [ebp - 0x30], ebx
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x60], edi
mov dword [ebp + 0x64], edi
mov dword [ebp - 8], ebx
mov byte [ebp + 0x6f], bl
mov byte [ebp + 0x5f], bl
mov byte [ebp + 0x5b], bl
mov byte [ebp + 0x4f], bl
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x44fa5d
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2d
mov byte [ebp + 0x5b], 1
mov byte [ebp + 0x41], 1
jne 0x44fa5d
mov eax, dword [ebp + 0x78]
xor ecx, ecx
mov cx, word [eax + 2]
cmp cx, bx
je 0x44fa2c
mov eax, ecx
call fcn.00402a89
test al, al
jne 0x44fa2c
cmp cx, 0x2c
je 0x44fa2c
push 4
push dword [ebp + 0x78]
push str._bs
call fcn.00428263
add esp, 0xc
test al, al
je 0x44f7fe
add dword [ebp + 0x78], 8
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
call fcn.004309e1
test eax, eax
pop ecx
pop ecx
jle 0x44fa15
mov eax, dword [ebp + 0x50]
mov dword [ebp - 0x1c], eax
mov dword [ebp + 0x48], eax
jmp 0x44fa15
push 5
push dword [ebp + 0x78]
push str._ibs
call fcn.00428263
add esp, 0xc
test al, al
je 0x44f83a
add dword [ebp + 0x78], 0xa
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
call fcn.004309e1
test eax, eax
pop ecx
pop ecx
jle 0x44fa15
mov eax, dword [ebp + 0x50]
jmp 0x44f7f6
push 5
push dword [ebp + 0x78]
push str._obs
call fcn.00428263
add esp, 0xc
test al, al
je 0x44f87c
add dword [ebp + 0x78], 0xa
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
call fcn.004309e1
test eax, eax
pop ecx
pop ecx
jle 0x44fa15
mov eax, dword [ebp + 0x50]
mov dword [ebp - 0x1c], eax
jmp 0x44fa15
push 7
push dword [ebp + 0x78]
push str._count
call fcn.00428263
add esp, 0xc
test al, al
je 0x44f8c4
add dword [ebp + 0x78], 0xe
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
call fcn.004309e1
test eax, eax
pop ecx
pop ecx
jle 0x44fa15
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x54]
mov dword [ebp + 0x24], eax
jmp 0x44fa15
push 5
push dword [ebp + 0x78]
push str._len
call fcn.00428263
add esp, 0xc
test al, al
je 0x44f90c
add dword [ebp + 0x78], 0xa
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
call fcn.004309e1
test eax, eax
pop ecx
pop ecx
jle 0x44fa15
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x54]
mov dword [ebp + 0x64], eax
jmp 0x44fa15
push 6
push dword [ebp + 0x78]
push str._conv
call fcn.00428263
add esp, 0xc
test al, al
je 0x44f94f
add dword [ebp + 0x78], 0xc
push 7
push dword [ebp + 0x78]
push 0x487d14
call fcn.00428263
add esp, 0xc
test al, al
je 0x44f940
mov byte [ebp + 0x5f], 1
lea eax, [ebp + 0x78]
push eax
call fcn.00403c83
pop ecx
jmp 0x44fa15
push 6
push dword [ebp + 0x78]
push str._skip
call fcn.00428263
add esp, 0xc
test al, al
je 0x44f997
add dword [ebp + 0x78], 0xc
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x38], edi
mov dword [ebp + 0x3c], edi
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
call fcn.004309e1
test eax, eax
pop ecx
pop ecx
jle 0x44fa15
mov eax, dword [ebp + 0x54]
mov esi, dword [ebp + 0x50]
mov dword [ebp - 0x30], eax
jmp 0x44fa15
push 7
push dword [ebp + 0x78]
push str._skipb
call fcn.00428263
add esp, 0xc
test al, al
je 0x44f9dd
add dword [ebp + 0x78], 0xe
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x78]
push eax
xor esi, esi
mov dword [ebp - 0x30], ebx
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
call fcn.004309e1
test eax, eax
pop ecx
pop ecx
jle 0x44fa15
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x54]
mov dword [ebp + 0x3c], eax
jmp 0x44fa15
push 6
lea eax, [ebp + 0x78]
push eax
push 0x487980
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x44f9fa
mov byte [ebp + 0x4f], 1
jmp 0x44fa15
push 7
lea eax, [ebp + 0x78]
push eax
push str._qspace
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x44fa15
mov byte [ebp + 0x4f], 0x10
lea eax, [ebp + 0x78]
push eax
call fcn.00427312
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2d
pop ecx
je 0x44f78e
cmp dword [ebp + 0x3c], ebx
jg 0x44fa5d
jl 0x44fa38
cmp dword [ebp + 0x38], ebx
jae 0x44fa5d
push dword [ebp - 0x30]
mov eax, dword [ebp + 0x48]
cdq
push esi
push edx
push eax
call fcn.0046d9d0
cmp edx, ebx
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x3c], edx
jg 0x44fa5d
jl 0x44fa57
cmp eax, ebx
jae 0x44fa5d
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0x3c], ebx
push 6
lea eax, [ebp + 0x78]
push eax
push 0x487980
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x44fa78
mov byte [ebp + 0x4f], 1
push 0x2c
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042ec20
mov eax, dword [ebp + 0x28]
push eax
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x28], ebx
call fcn.0040d003
add esp, 0x10
push eax
lea ecx, [ebp + 0x28]
call fcn.00436622
lea ecx, [ebp + 0x54]
call fcn.00427365
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2c
jne 0x450631
mov eax, dword [ebp + 0x28]
cmp word [eax], bx
je 0x450631
add dword [ebp + 0x78], 2
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004309e1
cmp dword [ebp + 0xc], ebx
pop ecx
pop ecx
jg 0x44faea
jl 0x450631
cmp dword [ebp + 8], ebx
jb 0x450631
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x23
push 0xfffffffffffffffc
pop esi
mov dword [ebp + 0x2c], esi
mov dword [ebp + 0x30], edi
jne 0x44fb12
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004309e1
mov esi, dword [ebp + 0x2c]
pop ecx
pop ecx
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x44fb1e
add dword [ebp + 0x78], 2
mov eax, dword [ebp + 0x64]
cmp eax, ebx
jl 0x44fb41
jg 0x44fb2c
cmp dword [ebp + 0x60], ebx
jb 0x44fb41
cmp dword [ebp + 0x30], eax
jl 0x44fb41
jg 0x44fb38
cmp esi, dword [ebp + 0x60]
jbe 0x44fb41
mov esi, dword [ebp + 0x60]
mov dword [ebp + 0x2c], esi
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x78]
push eax
call fcn.00427312
mov edi, dword [ebp + 0x78]
push edi
call fcn.0040b389
push edi
push 0x487cf4
call fcn.00428293
add esp, 0x10
cmp word [edi], bx
mov byte [ebp + 0x42], al
mov dword [ebp + 0x34], edi
jne 0x44fb74
xor esi, esi
inc esi
jmp 0x450636
lea ecx, [ebp - 0x18]
call fcn.0042c693
cmp byte [ebp + 0x5d], bl
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
mov byte [ebp + 0x43], bl
mov dword [ebp + 0x18], ebx
mov dword [ebp - 4], edi
jne 0x44fdf5
mov di, word [edi]
cmp di, 0x23
je 0x44fba7
cmp di, 0x22
jne 0x44fd0c
lea eax, [ebp - 4]
push eax
call fcn.0042a7cd
cmp eax, ebx
pop ecx
je 0x44fd0c
mov cl, byte [eax]
inc eax
mov byte [ebp + 0x6f], cl
mov byte [ebp + 0x43], cl
mov ecx, dword [ebp + 0x78]
inc eax
cmp word [ecx], 0x2e
mov dword [ebp + 0x18], eax
mov dword [ebp - 0x30], 0x20
jne 0x44fbe7
mov cl, byte [eax]
inc eax
inc eax
mov byte [ebp + 0x6f], cl
mov dword [ebp + 0x18], eax
mov dword [ebp - 0x30], 0x40
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00433aa7
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
xor edi, edi
cmp word [ecx], bx
mov dword [ebp + 0x54], eax
mov eax, dword [0x496dd4]
je 0x44fc14
push 2
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
cmp eax, ebx
je 0x45068c
lea ecx, [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x18]
push ecx
push dword [ebp + 0x54]
push dword [ebp - 8]
push eax
call fcn.0040f3dc
add esp, 0x14
cmp edi, ebx
mov dword [ebp + 0x34], eax
je 0x44fc41
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp + 0x34], ebx
je 0x45068c
mov edi, dword [ebp + 0x30]
cmp edi, ebx
mov ecx, dword [ebp - 0x14]
jl 0x44fc67
jg 0x44fc5a
cmp esi, ebx
jbe 0x44fc67
mov eax, ecx
cdq
cmp edi, edx
jl 0x44fc6e
jg 0x44fc67
cmp esi, eax
jbe 0x44fc6e
mov eax, ecx
cdq
mov esi, eax
mov edi, edx
add ecx, 0x200000
push ecx
lea ecx, [ebp - 0x18]
call fcn.0042c6d7
mov eax, dword [ebp - 0x18]
cmp eax, ebx
mov dword [ebp + 0x54], eax
je 0x45068c
mov ecx, dword [ebp - 0x14]
push 0x1ff
add ecx, eax
push ebx
push ecx
call fcn.0046c9b0
add esp, 0xc
cmp dword [ebp + 0x3c], edi
jl 0x44fcb1
jg 0x44fcab
cmp dword [ebp + 0x38], esi
jbe 0x44fcb1
mov dword [ebp + 0x38], esi
mov dword [ebp + 0x3c], edi
mov ecx, dword [ebp + 0x54]
add ecx, dword [ebp + 0x38]
sub esi, dword [ebp + 0x38]
mov eax, dword [ebp + 0x64]
sbb edi, dword [ebp + 0x3c]
cmp eax, ebx
mov dword [ebp + 0x2c], esi
mov dword [ebp + 0x30], edi
jl 0x44fce5
jg 0x44fcd1
cmp dword [ebp + 0x60], ebx
jb 0x44fce5
cmp eax, edi
jg 0x44fce5
jl 0x44fcdc
cmp dword [ebp + 0x60], esi
jae 0x44fce5
mov esi, dword [ebp + 0x60]
mov dword [ebp + 0x2c], esi
mov dword [ebp + 0x30], eax
lea eax, [ecx + 0x100000]
and eax, 0xfff00000
cmp esi, ebx
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x34], eax
jle 0x44fd0c
cmp eax, ecx
je 0x44fd0c
push esi
push ecx
push eax
call fcn.0046cf30
add esp, 0xc
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x28]
push eax
mov dword [ebp + 0x54], ebx
mov byte [ebp + 0x5d], bl
mov dword [ebp - 4], ebx
mov dword [ebp + 0x68], ebx
call fcn.00433492
cmp al, bl
pop ecx
pop ecx
mov byte [ebp + 0x1c], al
jl 0x450621
cmp byte [ebp + 0x5b], bl
je 0x44fd47
cmp byte [ebp + 0x5f], bl
jne 0x44fd44
cmp al, bl
mov byte [ebp + 0x5d], 1
jle 0x44fd47
mov byte [ebp + 0x5d], bl
cmp byte [ebp + 0x5b], bl
mov byte [ebp + 0x5f], 1
je 0x44fd59
cmp byte [ebp + 0x43], bl
jne 0x44fd59
mov byte [ebp + 0x5b], 2
cmp byte [ebp + 0x5b], 2
mov esi, 0xc0000000
jne 0x44fd81
cmp byte [ebp + 0x1c], bl
jg 0x44fd81
push ebx
push ebx
push 4
push ebx
push 3
push esi
push dword [ebp + 0x28]
lea ecx, [ebp + 0x68]
call fcn.00403ce4
cmp dword [ebp + 0x68], ebx
jne 0x44fd9e
push ebx
push ebx
push 3
push ebx
push 3
push esi
push dword [ebp + 0x28]
lea ecx, [ebp + 0x68]
call fcn.00403ce4
cmp byte [ebp + 0x5b], 2
jne 0x45064a
cmp dword [ebp + 0x48], ebx
jle 0x450621
cmp dword [ebp - 0x1c], ebx
jle 0x450621
cmp dword [ebp + 0x64], ebx
jl 0x44ff1d
jg 0x44fdc4
cmp dword [ebp + 0x60], ebx
jb 0x44ff1d
mov eax, dword [ebp + 0x48]
cdq
mov ecx, eax
add ecx, dword [ebp + 0x60]
mov esi, edx
adc esi, dword [ebp + 0x64]
push edx
sub ecx, 1
push eax
sbb esi, ebx
push esi
push ecx
call fcn.0046d850
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], edx
mov esi, 0xc0000000
mov edi, 0x7fffffff
jmp 0x44ff4d
push 0x4975e4
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [ebp - 8]
call fcn.0042c809
mov ecx, dword [ebp - 0x20]
push 0xffffffffffffffff
push ebx
push edi
call fcn.0040b0e9
mov edi, eax
cmp edi, ebx
jne 0x44fe32
lea ecx, [ebp - 8]
call fcn.00427365
push 0x4975e4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x450629
mov ecx, dword [edi + 0xc]
and ecx, 0x3fffffff
cmp dword [ebp + 0x30], ebx
jl 0x44fe57
jg 0x44fe46
cmp esi, ebx
jbe 0x44fe57
mov eax, ecx
cdq
cmp dword [ebp + 0x30], edx
mov dword [ebp - 0x2c], eax
jl 0x44fe5f
jg 0x44fe57
cmp esi, eax
jbe 0x44fe5f
mov eax, ecx
cdq
mov esi, eax
mov dword [ebp + 0x30], edx
mov eax, dword [ebp + 0x64]
cmp eax, ebx
jl 0x44fe7f
jg 0x44fe6d
cmp dword [ebp + 0x60], ebx
jb 0x44fe7f
cmp eax, dword [ebp + 0x30]
jg 0x44fe7f
jl 0x44fe79
cmp dword [ebp + 0x60], esi
jae 0x44fe7f
mov esi, dword [ebp + 0x60]
mov dword [ebp + 0x30], eax
lea eax, [esi + 0x200000]
push eax
lea ecx, [ebp - 0x18]
call fcn.0042c6d7
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jne 0x44fead
lea ecx, [ebp - 8]
call fcn.00427365
push 0x4975e4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x45068c
mov edx, dword [ebp + 0x3c]
mov ecx, dword [edi + 4]
add eax, 0x100000
and eax, 0xfff00000
cmp edx, dword [ebp + 0x30]
mov dword [ebp + 0x34], eax
jl 0x44fed5
jg 0x44fecc
cmp dword [ebp + 0x38], esi
jbe 0x44fed5
mov edx, dword [ebp + 0x30]
mov dword [ebp + 0x38], esi
mov dword [ebp + 0x3c], edx
add ecx, dword [ebp + 0x38]
sub esi, dword [ebp + 0x38]
mov edx, dword [ebp + 0x3c]
sbb dword [ebp + 0x30], edx
cmp esi, ebx
mov dword [ebp + 0x2c], esi
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x18], esi
jle 0x44fefd
cmp eax, ecx
je 0x44fefd
push esi
push ecx
push eax
call fcn.0046cf30
add esp, 0xc
lea ecx, [ebp - 8]
mov byte [ebp + 0x43], 1
mov byte [ebp + 0x6f], 1
call fcn.00427365
push 0x4975e4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x44fd0c
cmp dword [ebp + 0x20], 0xffffffff
mov edi, 0x7fffffff
jne 0x44ff36
cmp dword [ebp + 0x24], edi
jne 0x44ff36
or dword [ebp + 0x60], 0xffffffff
mov dword [ebp + 0x64], edi
jmp 0x44ff4d
push dword [ebp + 0x24]
mov eax, dword [ebp + 0x48]
push dword [ebp + 0x20]
cdq
push edx
push eax
call fcn.0046d9d0
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x64], edx
push dword [ebp + 0x78]
call fcn.0040d003
pop ecx
push eax
lea ecx, [ebp]
call fcn.004365ba
cmp dword [ebp + 0x68], ebx
jne 0x44ff71
lea ecx, [ebp]
call fcn.00427365
jmp 0x450684
cmp byte [ebp + 0x4f], bl
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x14], eax
je 0x450072
cmp byte [ebp + 0x1c], bl
jg 0x450072
lea ecx, [ebp + 0x68]
call fcn.00402a26
cmp byte [ebp + 0x4f], 1
jne 0x44ffa4
push ebx
push ebx
push dword [ebp + 0x28]
call fcn.004331a3
add esp, 0xc
push ebx
push ebx
push 4
push ebx
push 3
push esi
push dword [ebp + 0x28]
lea ecx, [ebp + 0x68]
call fcn.00403ce4
cmp dword [ebp + 0x68], ebx
je 0x44ff64
cmp byte [ebp + 0x42], bl
je 0x450072
cmp dword [ebp + 0x24], ebx
jl 0x45042f
jg 0x44ffd9
cmp dword [ebp + 0x20], ebx
jbe 0x45042f
push dword [ebp + 0x24]
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x20]
cdq
push edx
push eax
call fcn.0046d9d0
cmp dword [ebp + 0x64], ebx
jl 0x450008
jg 0x44fff6
cmp dword [ebp + 0x60], ebx
jb 0x450008
cmp edx, dword [ebp + 0x64]
jl 0x450008
jg 0x450002
cmp eax, dword [ebp + 0x60]
jbe 0x450008
mov eax, dword [ebp + 0x60]
mov edx, dword [ebp + 0x64]
add eax, dword [ebp + 8]
adc edx, dword [ebp + 0xc]
cmp dword [ebp + 0x24], edi
mov esi, eax
mov dword [ebp + 0x54], edx
jl 0x450028
jg 0x450020
cmp dword [ebp + 0x20], 0xffffffff
jb 0x450028
mov esi, 0xfffffdff
mov dword [ebp + 0x54], edi
push ebx
push dword [ebp + 0x54]
push esi
push dword [ebp + 0x68]
call fcn.004281cd
add esp, 0x10
cmp eax, esi
jne 0x450057
cmp edx, dword [ebp + 0x54]
jne 0x450057
cmp dword [ebp + 0x24], edi
jg 0x450072
jl 0x45042f
cmp dword [ebp + 0x20], 0xffffffff
jae 0x450072
jmp 0x45042f
cmp dword [ebp + 0x24], edi
jg 0x450072
jl 0x450064
cmp dword [ebp + 0x20], 0xffffffff
jae 0x450072
push ebx
push ebx
push ebx
push dword [ebp + 0x68]
call fcn.004281cd
add esp, 0x10
cmp dword [ebp + 0x24], ebx
jl 0x45042f
jg 0x450086
cmp dword [ebp + 0x20], ebx
jbe 0x45042f
cmp dword [ebp + 0x64], ebx
jl 0x45042f
jg 0x45009a
cmp dword [ebp + 0x60], ebx
jbe 0x45042f
xor eax, eax
cmp byte [ebp + 0x42], bl
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x10], ebx
jne 0x4500b3
cmp byte [ebp + 0x43], bl
mov byte [ebp + 0x6f], 1
je 0x4500b6
mov byte [ebp + 0x6f], bl
cmp byte [ebp + 0x1c], bl
mov esi, dword [ebp + 8]
jle 0x4500c8
mov eax, esi
and eax, 0x1ff
mov dword [ebp + 0x44], eax
cdq
sub esi, eax
mov eax, dword [ebp + 0xc]
sbb eax, edx
mov edi, eax
js 0x450115
jg 0x4500da
cmp esi, ebx
jbe 0x450115
push ebx
push edi
push esi
push dword [ebp + 0x68]
call fcn.004281cd
add esp, 0x10
cmp eax, esi
jne 0x4500f0
cmp edx, edi
je 0x450115
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea ecx, [ebp]
call fcn.00427365
lea ecx, [ebp + 0x68]
call fcn.00402a26
lea ecx, [ebp - 0x18]
call fcn.00427365
jmp 0x450636
cmp byte [ebp + 0x6f], bl
mov dword [ebp + 0x34], ebx
je 0x4501af
lea eax, [ebp]
push eax
call fcn.004335cf
pop ecx
push ebx
push ebx
push 3
push ebx
push 3
movsx esi, al
push 0x80000000
push dword [ebp]
lea ecx, [ebp + 0x34]
mov dword [ebp + 0x18], esi
call fcn.00403ce4
cmp dword [ebp + 0x34], ebx
jne 0x45015a
lea ecx, [ebp + 0x34]
call fcn.00402a26
jmp 0x44ff64
cmp esi, ebx
mov esi, dword [ebp + 0x38]
jle 0x45016d
mov eax, esi
and eax, 0x1ff
mov dword [ebp + 0x10], eax
jmp 0x450170
mov eax, dword [ebp + 0x10]
cdq
sub esi, eax
mov eax, dword [ebp + 0x3c]
sbb eax, edx
cmp eax, ebx
mov edi, eax
jl 0x4501af
jg 0x450184
cmp esi, ebx
jbe 0x4501af
push ebx
push eax
push esi
push dword [ebp + 0x34]
call fcn.004281cd
add esp, 0x10
cmp eax, esi
jne 0x45019a
cmp edx, edi
je 0x4501af
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp + 0x34]
mov esi, eax
call fcn.00402a26
jmp 0x4500f8
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp - 0x1c]
cmp eax, ecx
je 0x4501bb
add eax, ecx
lea edi, [eax + 0x8000]
lea eax, [edi + 0x102a00]
push eax
lea ecx, [ebp + 0x54]
mov dword [ebp + 0xc], edi
call fcn.0042c6b0
mov esi, dword [ebp + 0x54]
add esi, 0x100000
and esi, 0xfff00000
lea eax, [esi + edi + 0x2800]
add edi, 0x2a00
push edi
push ebx
push esi
mov dword [ebp + 0x3c], esi
mov dword [ebp + 4], eax
call fcn.0046c9b0
mov eax, dword [ebp - 0x1c]
add esp, 0xc
xor edi, edi
cmp byte [ebp + 0x1c], bl
mov dword [ebp - 0x20], ebx
jle 0x450217
add eax, 0x1ff
and eax, 0xfffffe00
cmp dword [ebp + 0x18], ebx
mov dword [ebp + 0x30], eax
mov eax, dword [ebp + 0x48]
jle 0x45022c
add eax, 0x1ff
and eax, 0xfffffe00
cmp dword [ebp + 0x10], ebx
mov dword [ebp - 4], eax
mov byte [ebp + 0x7b], bl
jle 0x45026b
push ebx
lea eax, [ebp + 0x14]
push eax
mov edi, 0x200
push edi
push esi
push dword [ebp + 0x34]
mov dword [ebp + 0x14], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
sub edi, dword [ebp + 0x10]
mov eax, edi
cdq
sub dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x10]
push edi
sbb dword [ebp + 0x64], edx
add eax, esi
push eax
push esi
call fcn.0046cf30
add esp, 0xc
cmp dword [ebp + 0x44], ebx
jle 0x4502d5
push 1
push ebx
push ebx
push dword [ebp + 0x68]
call fcn.004281cd
add esp, 0x10
push ebx
mov dword [ebp - 0xc], eax
lea eax, [ebp + 0x14]
push eax
push 0x200
push dword [ebp + 4]
mov dword [ebp - 8], edx
push dword [ebp + 0x68]
mov dword [ebp + 0x14], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp + 0x44]
push edi
add eax, esi
push esi
push eax
call fcn.0046cf30
push dword [ebp + 0x44]
push dword [ebp + 4]
push esi
call fcn.0046cf30
add edi, dword [ebp + 0x44]
push ebx
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp + 0x68]
call fcn.004281cd
add esp, 0x28
cmp byte [ebp + 0x42], bl
je 0x4502d5
mov byte [ebp + 0x7b], 1
cmp edi, ebx
mov byte [ebp + 0x5c], 1
jg 0x4503a0
cmp dword [ebp + 0x64], ebx
jl 0x4503a8
jg 0x4502f5
cmp dword [ebp + 0x60], ebx
jbe 0x4503a8
cmp byte [ebp + 0x5c], bl
je 0x4503a8
cmp byte [ebp + 0x6f], bl
je 0x45035e
mov eax, dword [ebp - 4]
cdq
cmp edx, dword [ebp + 0x64]
jg 0x450318
jl 0x450313
cmp eax, dword [ebp + 0x60]
ja 0x450318
mov eax, dword [ebp - 4]
jmp 0x45031b
mov eax, dword [ebp + 0x60]
lea ecx, [eax + edi]
cmp ecx, dword [ebp + 0xc]
jle 0x450328
mov eax, dword [ebp + 0xc]
sub eax, edi
cmp dword [ebp + 0x18], ebx
jle 0x450337
add eax, 0x1ff
and eax, 0xfffffe00
push ebx
lea ecx, [ebp + 0x14]
push ecx
push eax
lea eax, [edi + esi]
push eax
push dword [ebp + 0x34]
mov dword [ebp + 0x14], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp + 0x14]
cmp eax, ebx
jbe 0x4503a8
cmp eax, dword [ebp + 0x60]
jbe 0x450389
mov eax, dword [ebp + 0x60]
jmp 0x450386
mov eax, dword [ebp + 0x30]
cdq
cmp edx, dword [ebp + 0x64]
jg 0x450373
jl 0x45036e
cmp eax, dword [ebp + 0x60]
ja 0x450373
mov eax, dword [ebp + 0x30]
jmp 0x450376
mov eax, dword [ebp + 0x60]
lea ecx, [edi + eax]
cmp ecx, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
jbe 0x450389
mov eax, dword [ebp + 0xc]
sub eax, edi
mov dword [ebp + 0x14], eax
cmp dword [ebp + 0x60], 0xffffffff
jne 0x450398
cmp dword [ebp + 0x64], 0x7fffffff
je 0x45039e
sub dword [ebp + 0x60], eax
sbb dword [ebp + 0x64], ebx
add edi, eax
mov dword [ebp + 0x44], esi
jmp 0x4505ba
cmp edi, ebx
jle 0x4505ed
mov byte [ebp + 0x5c], bl
mov dword [ebp + 0x44], esi
mov eax, dword [ebp + 0x30]
cmp eax, edi
jle 0x4503bf
mov eax, edi
cmp byte [ebp + 0x1c], bl
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x48], ebx
jle 0x4503d4
mov ecx, eax
and ecx, 0x1ff
jmp 0x4503d6
xor ecx, ecx
sub eax, ecx
cmp eax, ebx
mov dword [ebp - 8], ecx
mov dword [ebp + 0x24], eax
jle 0x45043c
push ebx
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x24]
push dword [ebp + 0x44]
push dword [ebp + 0x68]
call fcn.0042a840
add esp, 0x14
test eax, eax
jne 0x450560
cmp byte [ebp + 0x5f], bl
jne 0x4504f1
call dword [sym.imp.KERNEL32.dll_GetLastError]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jne 0x45041c
xor eax, eax
inc eax
mov dword [ebp - 4], eax
lea ecx, [ebp + 0x54]
call fcn.00427365
lea ecx, [ebp + 0x34]
call fcn.00402a26
lea ecx, [ebp]
call fcn.00427365
jmp 0x450a59
cmp ecx, ebx
jle 0x4504bc
mov esi, 0x200
push esi
push ebx
push dword [ebp + 4]
call fcn.0046c9b0
sub esi, dword [ebp - 8]
push 1
push ebx
push ebx
push dword [ebp + 0x68]
call fcn.004281cd
add esp, 0x1c
push ebx
mov dword [ebp - 0x2c], eax
lea eax, [ebp + 0x14]
push eax
push 0x200
push dword [ebp + 4]
mov dword [ebp - 0x28], edx
push dword [ebp + 0x68]
mov dword [ebp + 0x14], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [ebp + 4]
mov eax, dword [ebp - 8]
add eax, ecx
push esi
push eax
mov eax, dword [ebp + 0x44]
add eax, edi
push eax
call fcn.0046cf30
push ebx
push dword [ebp - 0x28]
add edi, esi
push dword [ebp - 0x2c]
mov dword [ebp + 0x10], 0x200
push dword [ebp + 0x68]
call fcn.004281cd
mov esi, dword [ebp + 0x3c]
add esp, 0x1c
cmp byte [ebp + 0x42], bl
je 0x4504bc
mov byte [ebp + 0x7b], 1
cmp dword [ebp + 0x10], ebx
mov dword [ebp + 0x48], ebx
jle 0x45059b
push ebx
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0x44]
push dword [ebp + 0x68]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x45059b
cmp byte [ebp + 0x5f], bl
je 0x4505e6
mov byte [ebp + 0x5f], 2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov al, byte [ebp + 0x5f]
lea ecx, [ebp + 0x68]
mov byte [ebp + 0x5e], al
mov byte [ebp + 0x5f], bl
mov dword [ebp + 0x48], ebx
call fcn.00402a26
push ebx
push ebx
push 4
push ebx
push ebx
push 0xc0000000
push dword [ebp + 0x28]
lea ecx, [ebp + 0x68]
call fcn.00403ce4
cmp dword [ebp + 0x68], ebx
jne 0x45053c
push ebx
push ebx
push 3
push ebx
push ebx
push 0xc0000000
push dword [ebp + 0x28]
lea ecx, [ebp + 0x68]
call fcn.00403ce4
push ebx
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x24]
push dword [ebp + 0x44]
push dword [ebp + 0x68]
call fcn.0042a840
add esp, 0x14
test eax, eax
je 0x450409
cmp byte [ebp + 0x5e], 2
je 0x45059b
mov eax, dword [ebp + 0x24]
cmp dword [ebp + 0x48], eax
jbe 0x45056b
mov dword [ebp + 0x48], eax
cmp byte [ebp + 0x7b], bl
je 0x450582
push dword [ebp + 0x48]
push ebx
push dword [ebp + 0x44]
call fcn.0046c9b0
add esp, 0xc
mov byte [ebp + 0x7b], bl
mov eax, dword [ebp + 0x48]
sub dword [ebp + 0x10], eax
mov ecx, dword [ebp - 8]
sub edi, eax
mov eax, dword [ebp + 0x24]
add dword [ebp + 0x44], eax
mov byte [ebp + 0x5f], bl
jmp 0x45043c
cmp byte [ebp + 0x7b], bl
je 0x4505b2
push dword [ebp + 0x48]
push ebx
push dword [ebp + 0x44]
call fcn.0046c9b0
add esp, 0xc
mov byte [ebp + 0x7b], bl
mov eax, dword [ebp + 0x48]
add dword [ebp + 0x44], eax
sub edi, eax
cmp edi, dword [ebp - 0x1c]
jge 0x4503b6
cmp edi, ebx
jle 0x4502e1
cmp esi, dword [ebp + 0x44]
je 0x4502e1
push edi
push dword [ebp + 0x44]
push esi
call fcn.0046cf30
add esp, 0xc
jmp 0x4502e1
mov dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], ebx
jne 0x45040f
cmp dword [ebp + 0x64], ebx
jl 0x450619
jg 0x450602
cmp dword [ebp + 0x60], ebx
jbe 0x450619
cmp dword [ebp + 0x60], 0xffffffff
jne 0x45040f
cmp dword [ebp + 0x64], 0x7fffffff
jne 0x45040f
mov dword [ebp - 4], ebx
jmp 0x45041f
lea ecx, [ebp + 0x68]
call fcn.00402a26
lea ecx, [ebp - 0x18]
call fcn.00427365
mov esi, 0x80070057
lea ecx, [ebp + 0x28]
call fcn.00427365
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8
xor edi, edi
cmp byte [ebp + 0x1c], 0x11
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x64], ebx
mov dword [ebp - 0x28], ebx
jne 0x450699
lea eax, [ebp + 0x60]
push eax
push dword [ebp + 0x54]
push dword [ebp + 0x68]
call fcn.004333be
add esp, 0xc
cmp edx, ebx
mov edi, eax
mov dword [ebp - 0x28], edx
jg 0x450704
jl 0x450684
cmp edi, ebx
jae 0x450704
lea ecx, [ebp + 0x68]
call fcn.00402a26
lea ecx, [ebp - 0x18]
call fcn.00427365
jmp 0x44fb6c
cmp dword [ebp + 0x68], ebx
je 0x450709
cmp byte [ebp + 0x1c], bl
jne 0x4506dc
push 2
push ebx
push ebx
push dword [ebp + 0x68]
call fcn.004281cd
mov ecx, dword [ebp + 8]
add esp, 0x10
mov dword [ebp + 0x60], eax
mov eax, dword [ebp + 0xc]
sub ecx, 0x400
sbb eax, ebx
cmp edx, eax
mov dword [ebp + 0x64], edx
jg 0x450704
jl 0x4506d1
cmp dword [ebp + 0x60], ecx
jae 0x450704
push dword [ebp + 0x68]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x450704
push dword [ebp + 0x1c]
push dword [ebp + 0x68]
call fcn.0042a75b
cmp edx, ebx
pop ecx
pop ecx
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x64], edx
jg 0x450704
jl 0x4506f9
cmp eax, ebx
jae 0x450704
or dword [ebp + 0x60], 0xffffffff
mov dword [ebp + 0x64], 0x7fffffff
cmp dword [ebp + 0x68], ebx
jne 0x450748
cmp byte [ebp + 0x1c], bl
jne 0x450736
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp + 0x28]
call fcn.004331a3
add esp, 0xc
push ebx
push ebx
push 4
push ebx
push 3
push esi
push dword [ebp + 0x28]
lea ecx, [ebp + 0x68]
call fcn.00403ce4
mov byte [ebp + 0x41], 1
cmp dword [ebp + 0x68], ebx
jne 0x450748
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x450100
cmp byte [ebp + 0x41], bl
je 0x45075d
cmp byte [ebp + 0x1c], bl
jne 0x45075d
or dword [ebp + 0x60], 0xffffffff
mov dword [ebp + 0x64], 0x7fffffff
xor eax, eax
cmp byte [ebp + 0x1c], bl
mov dword [ebp + 0x24], eax
je 0x450772
mov eax, dword [ebp + 8]
and eax, 0x1ff
mov dword [ebp + 0x24], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp + 0x60]
movzx eax, ax
add ecx, edi
adc dword [ebp + 0xc], edx
mov edi, dword [ebp + 0x64]
mov dword [ebp + 0x54], eax
sub esi, ecx
sbb edi, dword [ebp + 0xc]
cdq
sub ecx, eax
mov eax, dword [ebp + 0xc]
push ebx
sbb eax, edx
push eax
push ecx
push dword [ebp + 0x68]
mov dword [ebp + 4], ebx
mov dword [ebp + 0x38], esi
call fcn.004281cd
add esp, 0x10
cmp edx, ebx
jg 0x4507c9
jl 0x4507b4
cmp eax, ebx
jae 0x4507c9
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp + 4]
mov esi, eax
call fcn.00427365
jmp 0x450100
cmp byte [ebp + 0x6f], bl
je 0x450809
mov eax, dword [ebp + 0x18]
cdq
cmp dword [ebp + 0x64], edx
jl 0x4507e4
jg 0x4507de
cmp dword [ebp + 0x60], eax
jbe 0x4507e4
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x64], edx
cmp dword [ebp + 0x64], ebx
jl 0x450a48
jg 0x4507f8
cmp dword [ebp + 0x60], ebx
jbe 0x450a48
push dword [ebp + 0x1c]
push dword [ebp + 0x54]
push dword [ebp + 0x64]
push dword [ebp + 0x60]
push dword [ebp + 0x34]
jmp 0x450870
cmp dword [ebp + 0x30], ebx
jl 0x45082a
jg 0x450815
cmp dword [ebp + 0x2c], ebx
jb 0x45082a
cmp dword [ebp + 0x30], edi
jg 0x45082a
jl 0x450821
cmp dword [ebp + 0x2c], esi
jae 0x45082a
mov esi, dword [ebp + 0x2c]
mov edi, dword [ebp + 0x30]
mov dword [ebp + 0x38], esi
cmp byte [ebp + 0x5e], bl
mov eax, dword [ebp + 0x34]
mov dword [ebp + 0x78], eax
je 0x450880
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
lea ecx, [ebp + 4]
call fcn.0042c791
push dword [ebp + 4]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, eax
cdq
cmp edx, edi
jl 0x45085a
jg 0x450858
cmp eax, esi
jbe 0x45085a
mov ecx, esi
cmp ecx, ebx
jle 0x450a48
push dword [ebp + 0x1c]
mov eax, ecx
push dword [ebp + 0x54]
cdq
push edx
push eax
push dword [ebp + 4]
push dword [ebp + 0x68]
call fcn.00433b51
add esp, 0x18
jmp 0x450a48
movzx ecx, word [ebp + 0x24]
mov eax, 0x200
sub eax, ecx
lea esi, [ebp - 0x234]
mov dword [ebp + 0x18], eax
mov al, byte [ebp + 0x5c]
and esi, 0xfffffe00
cmp edi, ebx
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x64], ebx
mov byte [ebp + 0x5e], bl
mov byte [ebp + 0x6f], al
jl 0x450a48
jle 0x450a3f
cmp dword [ebp + 0x64], ebx
jg 0x4508cf
jl 0x4508c3
cmp dword [ebp + 0x60], ebx
ja 0x4508cf
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x450a48
cmp dword [ebp + 0x18], ebx
mov dword [ebp - 8], ebx
jle 0x450a48
cmp edi, ebx
jl 0x450a0c
jg 0x4508ee
cmp dword [ebp + 0x38], ebx
jbe 0x450a0c
cmp dword [ebp + 0x64], ebx
jg 0x4509e7
jl 0x450902
cmp dword [ebp + 0x60], ebx
ja 0x4509e7
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x450a0c
lea eax, [ebp + 0x78]
push eax
call fcn.00427312
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2a
pop ecx
mov dword [ebp + 0x54], eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
jne 0x450968
inc eax
inc eax
mov dword [ebp + 0x78], eax
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004309e1
mov eax, dword [ebp + 0x78]
pop ecx
pop ecx
jmp 0x450968
cmp cx, 0x30
jb 0x45094f
cmp cx, 0x39
jbe 0x450970
cmp byte [ebp + 0x6f], bl
je 0x450963
or ecx, 0x20
cmp cx, 0x61
jb 0x450963
cmp cx, 0x7a
jbe 0x450970
inc eax
inc eax
mov dword [ebp + 0x78], eax
mov cx, word [eax]
cmp cx, bx
jne 0x450943
cmp word [eax], 0x30
jne 0x450990
mov cx, word [eax + 2]
or cx, 0x20
cmp cx, 0x78
jne 0x450990
add eax, 4
mov byte [ebp + 0x6f], 1
mov dword [ebp + 0x78], eax
jmp 0x450995
cmp byte [ebp + 0x6f], bl
je 0x4509c5
push 2
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
call fcn.0042d250
mov eax, dword [ebp + 0x78]
movzx eax, word [eax]
push eax
call fcn.0040efef
add esp, 0x10
test al, al
jne 0x4509d9
mov al, byte [ebp + 0x5c]
mov byte [ebp + 0x6f], al
jmp 0x4509d9
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042f0d0
cmp eax, 1
pop ecx
pop ecx
jl 0x450a0c
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x54]
je 0x450a0c
mov al, byte [ebp - 0x24]
mov byte [ebp + 0x5e], al
add dword [ebp + 0x60], 0xffffffff
mov eax, dword [ebp - 8]
mov cl, byte [ebp + 0x5e]
adc dword [ebp + 0x64], 0xffffffff
mov byte [eax + esi], cl
inc eax
add dword [ebp + 0x38], 0xffffffff
mov dword [ebp - 8], eax
adc edi, 0xffffffff
cmp eax, dword [ebp + 0x18]
jl 0x4508db
cmp dword [ebp - 8], ebx
jle 0x450a48
push dword [ebp + 0x1c]
movzx eax, word [ebp + 0x24]
push eax
mov eax, dword [ebp - 8]
cdq
push edx
push eax
push esi
push dword [ebp + 0x68]
call fcn.00433b51
add esp, 0x18
cmp edi, ebx
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x18], 0x200
jg 0x4508b7
jl 0x450a48
cmp dword [ebp + 0x38], ebx
ja 0x4508b7
push dword [ebp + 0x68]
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea ecx, [ebp + 4]
call fcn.00427365
cmp byte [ebp + 0x5d], bl
je 0x450a67
push dword [ebp + 0x68]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
lea ecx, [ebp + 0x68]
call fcn.00402a26
lea ecx, [ebp - 0x18]
call fcn.00427365
mov esi, dword [ebp - 4]
jmp 0x450636