Function at 0x424a98
Capabilities:
Clear file content

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
mov dword [ebp - 0xc], ebx
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0x30]
mov ebx, dword [esi + 0x2c]
test edx, edx
je 0x424fc9
sub ebx, edx
lea edx, [ebx + 4]
cmp edx, dword [esi + 0xac]
ja 0x424f6c
movsx edi, byte [esi + 0x10c]
cmp edi, 1
je 0x424f43
cmp edi, 2
je 0x424c91
cmp edi, 4
je 0x424c91
cmp edi, 3
je 0x424c22
cmp edi, 5
je 0x424b4d
cmp edi, 6
jne 0x424b1c
mov edx, dword [esi + 0x30]
test edx, edx
je 0x424bc9
mov byte [edx + ebx], 0xd
mov edx, dword [esi + 0x30]
lea edi, [ebx + 1]
add ebx, 2
mov byte [edx + edi], 0xa
jmp 0x424b4d
cmp edi, 7
jne 0x424b37
mov edi, dword [esi + 0x30]
test edi, edi
je 0x424be2
mov edx, ebx
mov byte [edx + edi], 0xd
add ebx, 1
jmp 0x424b4d
push 0x23c
push 0x4b67b8
push 2
push 8
call fcn.00422438
add esp, 0x10
mov edx, dword [esi + 0x30]
test edx, edx
je 0x424c11
mov eax, esi
mov ecx, ebx
call fcn.00424fe0
and byte [esi + 0x11c], 0xef
cmp eax, 0xffffffff
je 0x424bf3
movzx edx, byte [esi + 0x11d]
test dl, 2
je 0x424bba
push dword [esi + 0xa4]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x424b91
xor eax, eax
jmp 0x424ba2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xa8], eax
mov eax, 0x26
and byte [esi + 0x11d], 0xfd
test eax, eax
je 0x424bba
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
xor eax, eax
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x28]
mov byte [edx + ebx], 0xd
mov edi, dword [esi + 0x28]
lea edx, [ebx + 1]
mov byte [edi + edx], 0xa
add ebx, 2
jmp 0x424b4d
mov edx, dword [esi + 0x28]
mov edi, ebx
mov byte [edx + edi], 0xd
add ebx, 1
jmp 0x424b4d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [esi + 0xa8], eax
mov esi, dword [ebp - 4]
mov eax, 0x26
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x28]
mov eax, esi
mov ecx, ebx
call fcn.00424fe0
jmp 0x424b61
mov edi, dword [esi + 0x30]
test edi, edi
je 0x424c5e
mov edx, dword [esi + 0x2c]
sub edx, edi
add edx, 0xfffffffe
mov word [ebp - 0x10], dx
mov byte [edi], dl
mov edi, dword [esi + 0x30]
shr edx, 8
mov byte [edi + 1], dl
mov edx, ebx
and edx, 1
test edx, edx
je 0x424b4d
mov edx, dword [esi + 0x30]
mov edi, ebx
mov byte [edx + edi], 0
add ebx, 1
jmp 0x424b4d
mov edi, dword [esi + 0x28]
lea edx, [ebx - 2]
mov word [ebp - 0x24], dx
mov byte [edi], dl
mov edi, dword [esi + 0x28]
shr edx, 8
mov byte [edi + 1], dl
mov edx, ebx
and edx, 1
test edx, edx
je 0x424b4d
mov edx, dword [esi + 0x28]
mov edi, ebx
mov byte [edx + edi], 0
add ebx, 1
jmp 0x424b4d
mov edx, dword [esi + 0xf0]
cmp edx, 0xb
jne 0x424ca5
cmp edi, 4
je 0x424d81
mov edi, dword [esi + 0x30]
test edi, edi
je 0x424ebe
mov ecx, dword [esi + 0x2c]
movzx eax, byte [esi + 0x11d]
sub ecx, edi
add ecx, 0xfffffffc
movzx edx, cl
test al, 8
mov dword [ebp - 0x14], ecx
je 0x424cfb
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x20], eax
mov byte [edi], al
mov edi, dword [esi + 0x30]
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [ebp - 0x18], eax
mov byte [edi + 1], al
mov edi, dword [esi + 0x30]
shr ecx, 8
movzx ecx, cl
mov dword [ebp - 0x1c], ecx
mov byte [edi + 2], cl
mov edi, dword [esi + 0x30]
mov byte [edi + 3], dl
jmp 0x424d28
movzx edx, byte [ebp - 0x14]
movzx eax, byte [ebp - 0x13]
mov dword [ebp - 0x1c], eax
mov byte [edi], dl
mov edi, dword [esi + 0x30]
mov byte [edi + 1], al
movzx eax, byte [ebp - 0x12]
mov edi, dword [esi + 0x30]
mov dword [ebp - 0x18], eax
mov byte [edi + 2], al
mov edi, dword [esi + 0x30]
movzx eax, byte [ebp - 0x11]
mov dword [ebp - 0x20], eax
mov byte [edi + 3], al
movzx edi, byte [esi + 0x11d]
test edi, 8
je 0x424d59
mov eax, dword [ebp - 0x20]
mov edi, dword [esi + 0x2c]
mov byte [edi], al
mov eax, dword [ebp - 0x18]
mov edi, dword [esi + 0x2c]
mov byte [edi + 1], al
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi + 0x2c]
mov byte [edi + 2], al
mov edi, dword [esi + 0x2c]
mov byte [edi + 3], dl
jmp 0x424d79
mov edi, dword [esi + 0x2c]
mov byte [edi], dl
mov edx, dword [ebp - 0x1c]
mov edi, dword [esi + 0x2c]
mov byte [edi + 1], dl
mov edi, dword [esi + 0x2c]
mov edx, dword [ebp - 0x18]
mov byte [edi + 2], dl
mov edx, dword [ebp - 0x20]
mov edi, dword [esi + 0x2c]
mov byte [edi + 3], dl
add ebx, 4
jmp 0x424b4d
mov edx, dword [esi + 0x30]
test edx, edx
je 0x424ead
mov edi, dword [esi + 0x2c]
sub edi, edx
add edi, 0xfffffffc
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], edi
movzx eax, byte [esi + 0x122]
test al, 8
je 0x424db8
mov edi, dword [ebp - 0x1c]
and eax, 0xfffffff7
mov byte [esi + 0x122], al
neg edi
mov dword [ebp - 0x2c], edi
jmp 0x424dbe
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edi
movzx edi, byte [esi + 0x11d]
test edi, 8
je 0x424df9
lea edi, [ebp - 0x29]
movzx eax, byte [edi]
mov dword [ebp - 0x20], edi
lea edi, [ebp - 0x2a]
mov dword [ebp - 0x28], edi
mov byte [edx], al
movzx eax, byte [edi]
lea edi, [ebp - 0x2b]
mov byte [edx + 1], al
movzx eax, byte [edi]
mov dword [ebp - 0x18], edi
mov byte [edx + 2], al
movzx eax, byte [ebp - 0x2c]
mov byte [edx + 3], al
jmp 0x424e23
movzx eax, byte [ebp - 0x2c]
lea edi, [ebp - 0x2b]
mov dword [ebp - 0x18], edi
mov byte [edx], al
movzx eax, byte [edi]
mov byte [edx + 1], al
lea edi, [ebp - 0x2a]
movzx eax, byte [edi]
mov dword [ebp - 0x28], edi
lea edi, [ebp - 0x29]
mov dword [ebp - 0x20], edi
mov byte [edx + 2], al
movzx eax, byte [edi]
mov byte [edx + 3], al
mov edx, dword [esi + 0x104]
test edx, edx
je 0x424e37
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x2c], edx
jmp 0x424e3d
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
movzx edx, byte [esi + 0x11d]
test dl, 8
je 0x424e78
mov edi, dword [ebp - 0x20]
movzx edx, byte [edi]
mov edi, dword [esi + 0x2c]
mov byte [edi], dl
mov edi, dword [esi + 0x2c]
mov edx, dword [ebp - 0x28]
movzx edx, byte [edx]
mov byte [edi + 1], dl
mov edx, dword [ebp - 0x18]
movzx edx, byte [edx]
mov edi, dword [esi + 0x2c]
mov byte [edi + 2], dl
movzx edx, byte [ebp - 0x2c]
mov edi, dword [esi + 0x2c]
mov byte [edi + 3], dl
jmp 0x424ea5
movzx edx, byte [ebp - 0x2c]
mov edi, dword [esi + 0x2c]
mov byte [edi], dl
mov edx, dword [ebp - 0x18]
movzx edx, byte [edx]
mov edi, dword [esi + 0x2c]
mov byte [edi + 1], dl
mov edx, dword [ebp - 0x28]
movzx edx, byte [edx]
mov edi, dword [esi + 0x2c]
mov byte [edi + 2], dl
mov edi, dword [esi + 0x2c]
mov edx, dword [ebp - 0x20]
movzx edx, byte [edx]
mov byte [edi + 3], dl
add ebx, 4
jmp 0x424b4d
lea edx, [ebx - 4]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], edx
mov edx, dword [esi + 0x28]
jmp 0x424d9a
movzx edi, byte [esi + 0x11d]
lea ecx, [ebx - 4]
mov dword [ebp - 0x14], ecx
movzx edx, cl
test edi, 8
je 0x424f0e
mov edi, dword [esi + 0x28]
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x20], eax
mov byte [edi], al
mov edi, dword [esi + 0x28]
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [ebp - 0x18], eax
mov byte [edi + 1], al
mov edi, dword [esi + 0x28]
shr ecx, 8
movzx eax, cl
mov dword [ebp - 0x1c], eax
mov byte [edi + 2], al
mov edi, dword [esi + 0x28]
mov byte [edi + 3], dl
jmp 0x424d28
movzx edx, byte [ebp - 0x14]
movzx eax, byte [ebp - 0x13]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0x1c], eax
mov byte [edi], dl
mov edi, dword [esi + 0x28]
mov byte [edi + 1], al
movzx eax, byte [ebp - 0x12]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0x18], eax
mov byte [edi + 2], al
movzx eax, byte [ebp - 0x11]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0x20], eax
mov byte [edi + 3], al
jmp 0x424d28
mov edx, dword [esi + 0xb0]
cmp ebx, edx
jae 0x424b4d
sub edx, ebx
push edx
push 0
push dword [esi + 0x2c]
call fcn.00484df0
add esp, 0xc
mov ebx, dword [esi + 0xb0]
jmp 0x424b4d
push 0x200
push esi
call fcn.00428b68
add esp, 8
test eax, eax
jne 0x424f8a
movsx edi, byte [esi + 0x10c]
jmp 0x424ad0
push 4
push esi
call fcn.00428b68
add esp, 8
test eax, eax
je 0x424f7e
cmp ebx, dword [esi + 0xac]
ja 0x424fad
movsx edx, byte [esi + 0x10c]
cmp edx, 1
je 0x424f43
push esi
mov edx, 0x42
push edx
push edx
push 1
call fcn.00421ec0
add esp, 0x10
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x28]
sub ebx, edx
jmp 0x424aba