Function at 0x488a00
Capabilities:
Clear file content

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi + 0x3c]
test eax, eax
mov edi, eax
jne 0x488a16
mov edi, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
mov ebx, edi
test eax, eax
jne 0x488a22
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0xb0]
sub ebx, eax
lea eax, [ebx + 4]
cmp eax, ecx
mov dword [ebp - 4], eax
jbe 0x488a7a
cmp byte [esi + 0x11c], 1
je 0x488a7a
push 0x200
push esi
call fcn.00487cb0
add esp, 8
test eax, eax
je 0x488a7a
push 4
push esi
call fcn.00487cb0
add esp, 8
test eax, eax
je 0x488a7a
push esi
push 0xc0000042
push 0xc0000042
push 1
call fcn.004820b0
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, byte [esi + 0x11c]
dec eax
mov edx, 0xfffffffa
cmp eax, 6
ja case.0x488a90.3
jmp dword [eax*4 + 0x489904]
mov ecx, dword [esi + 0xb4]
cmp ebx, ecx
jae 0x488ac1
sub ecx, ebx
mov eax, 0x20202020
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
mov edx, 0xfffffffa
and ecx, 3
rep stosb byte es:[edi], al
mov ebx, dword [esi + 0xb4]
mov ecx, dword [esi + 0x12c]
test ecx, 0x8000000
je case.0x488a90.5
mov eax, dword [esi + 0x128]
test ah, 1
je case.0x488a90.5
test ah, 0x10
je case.0x488a90.5
cmp byte [esi + 0x11e], 1
je case.0x488a90.5
test cl, 4
jne case.0x488a90.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x488b56
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x488b56
cmp dword [esi + 0x100], 1
je case.0x488a90.5
mov eax, dword [0x3f5a180]
test eax, eax
je 0x488b56
test byte [esi + 0x130], 0x40
je 0x488b3e
cmp dword [esi + 0x108], edx
je case.0x488a90.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x488a90.5
cmp eax, 2
je case.0x488a90.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x488b6f
mov byte [eax + ebx - 2], 0xd
mov edx, dword [esi + 0x30]
mov byte [edx + ebx - 1], 0xa
jmp case.0x488a90.5
mov eax, dword [esi + 0x28]
mov byte [ebx + eax - 2], 0xd
mov ecx, dword [esi + 0x28]
mov byte [ebx + ecx - 1], 0xa
jmp case.0x488a90.5
mov ecx, dword [esi + 0x30]
lea eax, [ebx - 4]
test ecx, ecx
mov dword [ebp + 8], eax
je 0x488bcc
test byte [esi + 0x12c], 2
je 0x488bb6
mov dl, byte [ebp + 0xb]
mov byte [ecx], dl
mov edi, dword [esi + 0x30]
mov cl, byte [ebp + 0xa]
mov byte [edi + 1], cl
mov edi, dword [esi + 0x30]
mov byte [edi + 2], ah
mov edi, dword [esi + 0x30]
mov byte [edi + 3], al
jmp 0x488c11
mov byte [ecx], al
mov edx, dword [esi + 0x30]
mov cl, byte [ebp + 0xa]
mov byte [edx + 1], ah
mov edx, dword [esi + 0x30]
mov byte [edx + 2], cl
mov edi, dword [esi + 0x30]
jmp 0x488c0b
test byte [esi + 0x12c], 2
je 0x488bf4
mov ecx, dword [esi + 0x28]
mov dl, byte [ebp + 0xb]
mov byte [ecx], dl
mov edi, dword [esi + 0x28]
mov cl, byte [ebp + 0xa]
mov byte [edi + 1], cl
mov edi, dword [esi + 0x28]
mov byte [edi + 2], ah
mov edi, dword [esi + 0x28]
mov byte [edi + 3], al
jmp 0x488c11
mov edx, dword [esi + 0x28]
mov byte [edx], al
mov ecx, dword [esi + 0x28]
mov byte [ecx + 1], ah
mov edx, dword [esi + 0x28]
mov cl, byte [ebp + 0xa]
mov byte [edx + 2], cl
mov edi, dword [esi + 0x28]
mov dl, byte [ebp + 0xb]
mov byte [edi + 3], dl
mov bl, byte [esi + 0x12c]
mov edi, dword [esi + 0x2c]
test bl, 2
je 0x488c3b
mov byte [edi], dl
mov edx, dword [esi + 0x2c]
mov ebx, dword [ebp - 4]
mov byte [edx + 1], cl
mov ecx, dword [esi + 0x2c]
mov byte [ecx + 2], ah
mov edx, dword [esi + 0x2c]
mov byte [edx + 3], al
jmp case.0x488a90.5
mov byte [edi], al
mov edi, dword [esi + 0x2c]
mov ebx, dword [ebp - 4]
mov byte [edi + 1], ah
mov eax, dword [esi + 0x2c]
mov byte [eax + 2], cl
mov ecx, dword [esi + 0x2c]
mov byte [ecx + 3], dl
jmp case.0x488a90.5
cmp byte [esi + 0x11e], 1
je case.0x488a90.5
test byte [esi + 0x12c], 4
jne case.0x488a90.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x488cc6
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x488cc6
cmp dword [esi + 0x100], 1
je case.0x488a90.5
mov eax, dword [0x3f5a180]
test eax, eax
je 0x488cc6
test byte [esi + 0x130], 0x40
je 0x488cae
cmp dword [esi + 0x108], edx
je case.0x488a90.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x488a90.5
cmp eax, 2
je case.0x488a90.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x488cdf
mov byte [eax + ebx], 0xd
mov edx, dword [esi + 0x30]
inc ebx
mov byte [edx + ebx], 0xa
inc ebx
jmp case.0x488a90.5
mov eax, dword [esi + 0x28]
inc ebx
mov byte [ebx + eax - 1], 0xd
mov ecx, dword [esi + 0x28]
mov byte [ebx + ecx], 0xa
inc ebx
jmp case.0x488a90.5
cmp byte [esi + 0x11e], 1
je case.0x488a90.5
test byte [esi + 0x12c], 4
jne case.0x488a90.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x488d50
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x488d50
cmp dword [esi + 0x100], 1
je case.0x488a90.5
mov eax, dword [0x3f5a180]
test eax, eax
je 0x488d50
test byte [esi + 0x130], 0x40
je 0x488d40
cmp dword [esi + 0x108], edx
je case.0x488a90.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x488a90.5
cmp eax, 2
je case.0x488a90.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x488d5e
mov byte [eax + ebx], 0xd
inc ebx
jmp case.0x488a90.5
mov edx, dword [esi + 0x28]
inc ebx
mov byte [edx + ebx - 1], 0xd
jmp case.0x488a90.5
push 0x368
push str.E:_forrtl_build_for_put.c
push 2
push 0xc0000008
call fcn.00482080
add esp, 0x10
mov eax, dword [esi + 0x30]
test eax, eax
mov edi, eax
jne 0x488d8e
mov edi, dword [esi + 0x28]
movsx ecx, byte [esi + 0x11e]
dec ecx
je 0x488feb
dec ecx
je 0x488e44
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x488df7
xor eax, eax
mov al, byte [ecx + 0x1e]
test eax, eax
je 0x488df7
cmp dword [esi + 0x100], 1
je 0x4897b8
mov eax, dword [0x3f5a180]
test eax, eax
je 0x488df7
test byte [esi + 0x130], 0x40
je 0x488ddf
cmp dword [esi + 0x108], 0xfffffffa
je 0x4897b8
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x4897b8
cmp eax, 2
je 0x4897b8
cmp dword [esi + 0x100], 1
je 0x488e33
mov eax, dword [0x3f5a180]
test eax, eax
je 0x489872
test byte [esi + 0x130], 0x40
je 0x488e1f
cmp dword [esi + 0x108], 0xfffffffa
je 0x488e33
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x488e33
cmp eax, 2
jne 0x489872
test ecx, ecx
je 0x489872
mov byte [ecx + 0x20], 0
jmp 0x489872
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x488eb6
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x488e5f
test eax, eax
je 0x488eb6
mov cl, byte [eax + 0x1d]
test ecx, ecx
je 0x488eb6
mov cl, byte [eax + 0x20]
test cl, cl
je 0x488e9a
cmp dword [esi + 0x100], 1
je 0x488eb6
mov eax, dword [0x3f5a180]
test eax, eax
je 0x488e9a
test byte [esi + 0x130], 0x40
je 0x488e8a
cmp dword [esi + 0x108], 0xfffffffa
je 0x488eb6
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x488eb6
cmp eax, 2
je 0x488eb6
lea eax, [ebp + 0xb]
push 1
push eax
push esi
mov byte [ebp + 0xb], 0xa
call fcn.00489b20
add esp, 0xc
cmp eax, 0xffffffff
je 0x489896
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x488ec1
mov byte [eax + 0x1c], 0
mov ecx, dword [esi + 0x12c]
test ecx, 0x8000000
je 0x488edf
mov eax, dword [esi + 0x128]
test ah, 1
je 0x488edf
test ah, 0x10
jne 0x488f48
cmp byte [esi + 0x11c], 6
je 0x488f48
test cl, 4
jne 0x488f48
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x488f33
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x488f33
cmp dword [esi + 0x100], 1
je 0x488f48
mov eax, dword [0x3f5a180]
test eax, eax
je 0x488f33
test byte [esi + 0x130], 0x40
je 0x488f23
cmp dword [esi + 0x108], 0xfffffffa
je 0x488f48
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x488f48
cmp eax, 2
je 0x488f48
mov eax, dword [esi + 0x30]
test eax, eax
je 0x488f40
mov byte [eax + ebx], 0xa
jmp 0x488f47
mov edx, dword [esi + 0x28]
mov byte [edx + ebx], 0xa
inc ebx
mov ecx, dword [esi + 0x12c]
and ecx, 0xfffffffb
mov dword [esi + 0x12c], ecx
mov ecx, dword [esi + 0x7c]
mov edx, dword [0x3f5a180]
test ecx, ecx
je 0x488fac
xor eax, eax
mov al, byte [ecx + 0x1e]
test eax, eax
je 0x488fac
cmp dword [esi + 0x100], 1
je 0x4897b8
test edx, edx
je 0x488fac
test byte [esi + 0x130], 0x40
je 0x488f94
cmp dword [esi + 0x108], 0xfffffffa
je 0x4897b8
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x4897b8
cmp eax, 2
je 0x4897b8
cmp dword [esi + 0x100], 1
je 0x488e33
test edx, edx
je 0x489872
test byte [esi + 0x130], 0x40
je 0x488fd7
cmp dword [esi + 0x108], 0xfffffffa
je 0x488e33
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x488e33
jmp 0x488e2a
cmp ebx, 5
jne 0x488ff5
mov ebx, 6
test eax, eax
je 0x488ffe
lea edi, [eax + 4]
jmp 0x489004
mov edi, dword [esi + 0x28]
add edi, 4
sub ebx, 4
test eax, eax
jne 0x48900e
mov eax, dword [esi + 0x28]
movsx eax, byte [eax + 5]
cmp eax, 0x31
ja case.0x489023.5
xor ecx, ecx
mov cl, byte [eax + 0x489938]
jmp dword [ecx*4 + 0x489920]
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x4890ea
cmp dword [esi + 0x100], 1
je 0x489071
mov eax, dword [0x3f5a180]
test eax, eax
je 0x4890ea
test byte [esi + 0x130], 0x40
je 0x489061
cmp dword [esi + 0x108], 0xfffffffa
je 0x489071
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x489071
cmp eax, 2
jne 0x4890ea
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x48909f
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x48909f
test edx, 0x8000000
je 0x48969e
mov cl, byte [eax + 0x20]
test cl, cl
je 0x48969e
inc edi
dec ebx
jmp 0x4896a4
test edx, 0x8000000
je 0x4890b9
test eax, eax
je 0x4890b9
xor ecx, ecx
mov cl, byte [eax + 0x20]
mov eax, ecx
test eax, eax
je 0x4890b9
inc edi
jmp 0x4890bd
add edi, 2
dec ebx
mov byte [edi + ebx - 1], 0xd
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x1c], 1
mov eax, dword [esi + 0x7c]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x4890da
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489872
jmp 0x48986e
add edi, 2
dec ebx
mov byte [edi + ebx - 1], 0xd
mov ecx, dword [esi + 0x7c]
mov byte [ecx + 0x1c], 1
mov edx, dword [esi + 0x7c]
mov dword [edx + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x48910b
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489872
jmp 0x48986e
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x489286
cmp dword [esi + 0x100], 1
je 0x489166
mov eax, dword [0x3f5a180]
test eax, eax
je 0x489286
test byte [esi + 0x130], 0x40
je 0x489152
cmp dword [esi + 0x108], 0xfffffffa
je 0x489166
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x489166
cmp eax, 2
jne 0x489286
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489223
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x4891e1
mov ecx, edx
and ecx, 0x8000000
je 0x48918f
mov dl, byte [eax + 0x20]
test dl, dl
je 0x48918f
inc edi
dec ebx
jmp 0x4891bf
mov dl, byte [eax + 0x1c]
test dl, dl
jne 0x4891a5
mov dl, byte [eax + 0x1d]
test dl, dl
jne 0x4891a5
add edi, 2
sub ebx, 2
jmp 0x4891bf
test ecx, ecx
je 0x4891b8
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x4891bf
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x4891ca
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x4891d5
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x20], 1
jmp 0x489872
test eax, eax
je 0x489223
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x489209
test edx, 0x8000000
je 0x4891fe
inc edi
mov byte [edi + ebx - 1], 0xd
jmp 0x48925e
add edi, 2
dec ebx
mov byte [edi + ebx - 1], 0xd
jmp 0x48925e
test eax, eax
je 0x489223
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x48923b
test eax, eax
je 0x489223
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x48923b
test edx, 0x8000000
je 0x489230
mov byte [edi], 0xd
jmp 0x489255
inc edi
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
jmp 0x48925e
test edx, 0x8000000
je 0x489252
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x489259
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov byte [edi + ebx], 0xd
inc ebx
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x1c], 1
mov eax, dword [esi + 0x7c]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489276
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489872
jmp 0x48986e
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x4892a3
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x4892bb
test eax, eax
je 0x4892a3
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x4892bb
test edx, 0x8000000
je 0x4892b0
mov byte [edi], 0xd
jmp 0x4892d5
inc edi
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
jmp 0x4892de
test edx, 0x8000000
je 0x4892d2
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x4892d9
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov byte [edi + ebx], 0xd
inc ebx
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x1c], 1
mov eax, dword [esi + 0x7c]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x4892f6
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489872
jmp 0x48986e
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x48946f
cmp dword [esi + 0x100], 1
je 0x489351
mov eax, dword [0x3f5a180]
test eax, eax
je 0x48946f
test byte [esi + 0x130], 0x40
je 0x48933d
cmp dword [esi + 0x108], 0xfffffffa
je 0x489351
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x489351
cmp eax, 2
jne 0x48946f
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x4893f1
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x4893be
mov ecx, edx
and ecx, 0x8000000
je 0x489377
mov dl, byte [eax + 0x20]
test dl, dl
jne 0x4893ad
mov dl, byte [eax + 0x1c]
test dl, dl
jne 0x48938b
mov dl, byte [eax + 0x1d]
test dl, dl
jne 0x48938b
inc edi
sub ebx, 2
jmp 0x4893ae
test ecx, ecx
je 0x4893aa
sub edi, 4
add ebx, 3
mov byte [edi], 0xa
mov byte [edi + 1], 0xc
mov byte [edi + 2], 0xd
mov byte [edi + 3], 0x20
mov byte [edi + 4], 0xd
jmp 0x4893ae
mov byte [edi], 0xc
dec ebx
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x4897aa
jmp 0x4897a6
test eax, eax
je 0x4893f1
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x4893d7
test edx, 0x8000000
jne 0x489442
inc edi
dec ebx
jmp 0x489442
test eax, eax
je 0x4893f1
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x489416
test eax, eax
je 0x4893f1
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x489416
test edx, 0x8000000
je 0x48943f
sub edi, 3
add ebx, 2
inc ebx
mov byte [edi], 0xc
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0x20
mov byte [edi + 3], 0xd
mov byte [edi + ebx - 1], 0xd
jmp 0x489447
test edx, 0x8000000
je 0x48943f
sub edi, 4
add ebx, 3
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xc
mov byte [edi + 2], 0xd
mov byte [edi + 3], 0x20
mov byte [edi + 4], 0xd
mov byte [edi + ebx - 1], 0xd
jmp 0x489447
mov byte [edi], 0xc
mov byte [edi + ebx - 1], 0xd
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x1c], 1
mov eax, dword [esi + 0x7c]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x48945f
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489872
jmp 0x48986e
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x48948d
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x4894b2
test eax, eax
je 0x48948d
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x4894b2
test edx, 0x8000000
je 0x4894db
sub edi, 3
add ebx, 2
inc ebx
mov byte [edi], 0xc
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0x20
mov byte [edi + 3], 0xd
mov byte [edi + ebx - 1], 0xd
jmp 0x4894e3
test edx, 0x8000000
je 0x4894db
sub edi, 4
add ebx, 3
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xc
mov byte [edi + 2], 0xd
mov byte [edi + 3], 0x20
mov byte [edi + 4], 0xd
mov byte [edi + ebx - 1], 0xd
jmp 0x4894e3
mov byte [edi], 0xc
mov byte [edi + ebx - 1], 0xd
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x1c], 1
mov eax, dword [esi + 0x7c]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x4894fb
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489872
jmp 0x48986e
mov eax, dword [esi + 0x12c]
test ah, 1
je 0x4895f7
cmp dword [esi + 0x100], 1
je 0x489556
mov eax, dword [0x3f5a180]
test eax, eax
je 0x4895f7
test byte [esi + 0x130], 0x40
je 0x489542
cmp dword [esi + 0x108], 0xfffffffa
je 0x489556
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x489556
cmp eax, 2
jne 0x4895f7
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x4895c2
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x489591
mov cl, byte [eax + 0x1c]
test cl, cl
jne 0x48957c
mov cl, byte [eax + 0x1d]
test cl, cl
jne 0x48957c
add edi, 2
sub ebx, 2
jmp 0x489581
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x4897aa
jmp 0x4897a6
test eax, eax
je 0x4895c2
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x4895a6
add edi, 2
sub ebx, 2
jmp 0x4895cf
test eax, eax
je 0x4895c2
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x4895ca
test eax, eax
je 0x4895c2
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x4895ca
add edi, 2
sub ebx, 2
jmp 0x4895cf
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x4895da
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x1d], 1
mov ecx, dword [esi + 0x7c]
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489872
jmp 0x48986e
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489616
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x48961e
test eax, eax
je 0x489616
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x48961e
add edi, 2
sub ebx, 2
jmp 0x489623
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x48962e
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x1d], 1
mov ecx, dword [esi + 0x7c]
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489872
jmp 0x48986e
mov eax, dword [esi + 0x12c]
test ah, 1
je 0x4896ea
cmp dword [esi + 0x100], 1
je 0x48968e
mov eax, dword [0x3f5a180]
test eax, eax
je 0x4896ea
test byte [esi + 0x130], 0x40
je 0x48967e
cmp dword [esi + 0x108], 0xfffffffa
je 0x48968e
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x48968e
cmp eax, 2
jne 0x4896ea
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x4896bf
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x4896bf
add edi, 2
sub ebx, 2
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x4896b3
mov byte [eax + 0x1d], 0
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x20], 1
jmp 0x489872
add edi, 2
sub ebx, 2
test eax, eax
je 0x4896cd
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x1d], 1
mov ecx, dword [esi + 0x7c]
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489872
jmp 0x48986e
mov eax, dword [esi + 0x7c]
add edi, 2
sub ebx, 2
test eax, eax
je 0x4896fb
mov byte [eax + 0x1c], 0
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x1d], 1
mov eax, dword [esi + 0x7c]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489872
jmp 0x48986e
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x489823
cmp dword [esi + 0x100], 1
je 0x489763
mov eax, dword [0x3f5a180]
test eax, eax
je 0x489823
test byte [esi + 0x130], 0x40
je 0x48974f
cmp dword [esi + 0x108], 0xfffffffa
je 0x489763
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x489763
cmp eax, 2
jne 0x489823
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x4897f6
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x4897c1
test edx, 0x8000000
je 0x489787
mov cl, byte [eax + 0x20]
test cl, cl
jne 0x48979e
mov cl, byte [eax + 0x1c]
test cl, cl
jne 0x48979b
mov cl, byte [eax + 0x1d]
test cl, cl
jne 0x48979b
inc edi
sub ebx, 2
jmp 0x48979f
mov byte [edi], 0xa
dec ebx
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x4897aa
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x4897b5
mov byte [eax + 0x1d], 0
mov ecx, dword [esi + 0x7c]
mov byte [ecx + 0x20], 1
jmp 0x489872
test eax, eax
je 0x4897f6
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x4897da
test edx, 0x8000000
jne 0x4897fd
inc edi
dec ebx
jmp 0x4897fd
test eax, eax
je 0x4897f6
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x4897fa
test eax, eax
je 0x4897f6
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x4897fa
inc edi
dec ebx
jmp 0x4897fd
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x1c], 1
mov ecx, dword [esi + 0x7c]
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x48981a
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489872
jmp 0x48986e
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x489843
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x489847
test eax, eax
je 0x489843
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x489847
inc edi
dec ebx
jmp 0x48984a
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x1c], 1
mov ecx, dword [esi + 0x7c]
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489867
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x489872
mov byte [eax + 0x20], 0
push ebx
push edi
push esi
call fcn.00489b20
mov edi, dword [esi + 0x128]
add esp, 0xc
and edi, 0xfbffffff
cmp eax, 0xffffffff
mov dword [esi + 0x128], edi
mov ecx, edi
jne 0x4898ae
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xac], eax
pop edi
pop esi
mov eax, 0xc0000026
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, 0x80000000
je 0x4898f9
mov edx, dword [esi + 0xa8]
xor edi, edi
push edx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x4898da
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xac], eax
mov edi, 0xc0000026
mov ecx, dword [esi + 0x128]
and ecx, 0x7fffffff
test edi, edi
mov dword [esi + 0x128], ecx
je 0x4898f9
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret