Function at 0x54f090
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 0x54f0a6
mov edi, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
mov ebx, edi
test eax, eax
jne 0x54f0b2
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 0x54f10a
cmp byte [esi + 0x11c], 1
je 0x54f10a
push 0x200
push esi
call fcn.005518a0
add esp, 8
test eax, eax
je 0x54f10a
push 4
push esi
call fcn.005518a0
add esp, 8
test eax, eax
je 0x54f10a
push esi
push 0xc0000042
push 0xc0000042
push 1
call fcn.00546a20
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.0x54f120.3
jmp dword [eax*4 + 0x54ff94]
mov ecx, dword [esi + 0xb4]
cmp ebx, ecx
jae 0x54f151
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.0x54f120.5
mov eax, dword [esi + 0x128]
test ah, 1
je case.0x54f120.5
test ah, 0x10
je case.0x54f120.5
cmp byte [esi + 0x11e], 1
je case.0x54f120.5
test cl, 4
jne case.0x54f120.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54f1e6
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x54f1e6
cmp dword [esi + 0x100], 1
je case.0x54f120.5
mov eax, dword [0x5a3d24]
test eax, eax
je 0x54f1e6
test byte [esi + 0x130], 0x40
je 0x54f1ce
cmp dword [esi + 0x108], edx
je case.0x54f120.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x54f120.5
cmp eax, 2
je case.0x54f120.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x54f1ff
mov byte [eax + ebx - 2], 0xd
mov edx, dword [esi + 0x30]
mov byte [edx + ebx - 1], 0xa
jmp case.0x54f120.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.0x54f120.5
mov ecx, dword [esi + 0x30]
lea eax, [ebx - 4]
test ecx, ecx
mov dword [ebp + 8], eax
je 0x54f25c
test byte [esi + 0x12c], 2
je 0x54f246
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 0x54f2a1
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 0x54f29b
test byte [esi + 0x12c], 2
je 0x54f284
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 0x54f2a1
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 0x54f2cb
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.0x54f120.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.0x54f120.5
cmp byte [esi + 0x11e], 1
je case.0x54f120.5
test byte [esi + 0x12c], 4
jne case.0x54f120.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54f356
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x54f356
cmp dword [esi + 0x100], 1
je case.0x54f120.5
mov eax, dword [0x5a3d24]
test eax, eax
je 0x54f356
test byte [esi + 0x130], 0x40
je 0x54f33e
cmp dword [esi + 0x108], edx
je case.0x54f120.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x54f120.5
cmp eax, 2
je case.0x54f120.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x54f36f
mov byte [eax + ebx], 0xd
mov edx, dword [esi + 0x30]
inc ebx
mov byte [edx + ebx], 0xa
inc ebx
jmp case.0x54f120.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.0x54f120.5
cmp byte [esi + 0x11e], 1
je case.0x54f120.5
test byte [esi + 0x12c], 4
jne case.0x54f120.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54f3e0
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x54f3e0
cmp dword [esi + 0x100], 1
je case.0x54f120.5
mov eax, dword [0x5a3d24]
test eax, eax
je 0x54f3e0
test byte [esi + 0x130], 0x40
je 0x54f3d0
cmp dword [esi + 0x108], edx
je case.0x54f120.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x54f120.5
cmp eax, 2
je case.0x54f120.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x54f3ee
mov byte [eax + ebx], 0xd
inc ebx
jmp case.0x54f120.5
mov edx, dword [esi + 0x28]
inc ebx
mov byte [edx + ebx - 1], 0xd
jmp case.0x54f120.5
push 0x36d
push str.E:_forrtl_build_for_put.c
push 2
push 0xc0000008
call fcn.005469f0
add esp, 0x10
mov eax, dword [esi + 0x30]
test eax, eax
mov edi, eax
jne 0x54f41e
mov edi, dword [esi + 0x28]
movsx ecx, byte [esi + 0x11e]
dec ecx
je 0x54f67b
dec ecx
je 0x54f4d4
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x54f487
xor eax, eax
mov al, byte [ecx + 0x1e]
test eax, eax
je 0x54f487
cmp dword [esi + 0x100], 1
je 0x54fe48
mov eax, dword [0x5a3d24]
test eax, eax
je 0x54f487
test byte [esi + 0x130], 0x40
je 0x54f46f
cmp dword [esi + 0x108], 0xfffffffa
je 0x54fe48
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54fe48
cmp eax, 2
je 0x54fe48
cmp dword [esi + 0x100], 1
je 0x54f4c3
mov eax, dword [0x5a3d24]
test eax, eax
je 0x54ff02
test byte [esi + 0x130], 0x40
je 0x54f4af
cmp dword [esi + 0x108], 0xfffffffa
je 0x54f4c3
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54f4c3
cmp eax, 2
jne 0x54ff02
test ecx, ecx
je 0x54ff02
mov byte [ecx + 0x20], 0
jmp 0x54ff02
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54f546
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54f4ef
test eax, eax
je 0x54f546
mov cl, byte [eax + 0x1d]
test ecx, ecx
je 0x54f546
mov cl, byte [eax + 0x20]
test cl, cl
je 0x54f52a
cmp dword [esi + 0x100], 1
je 0x54f546
mov eax, dword [0x5a3d24]
test eax, eax
je 0x54f52a
test byte [esi + 0x130], 0x40
je 0x54f51a
cmp dword [esi + 0x108], 0xfffffffa
je 0x54f546
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54f546
cmp eax, 2
je 0x54f546
lea eax, [ebp + 0xb]
push 1
push eax
push esi
mov byte [ebp + 0xb], 0xa
call fcn.005500b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x54ff26
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54f551
mov byte [eax + 0x1c], 0
mov ecx, dword [esi + 0x12c]
test ecx, 0x8000000
je 0x54f56f
mov eax, dword [esi + 0x128]
test ah, 1
je 0x54f56f
test ah, 0x10
jne 0x54f5d8
cmp byte [esi + 0x11c], 6
je 0x54f5d8
test cl, 4
jne 0x54f5d8
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54f5c3
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x54f5c3
cmp dword [esi + 0x100], 1
je 0x54f5d8
mov eax, dword [0x5a3d24]
test eax, eax
je 0x54f5c3
test byte [esi + 0x130], 0x40
je 0x54f5b3
cmp dword [esi + 0x108], 0xfffffffa
je 0x54f5d8
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54f5d8
cmp eax, 2
je 0x54f5d8
mov eax, dword [esi + 0x30]
test eax, eax
je 0x54f5d0
mov byte [eax + ebx], 0xa
jmp 0x54f5d7
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 [0x5a3d24]
test ecx, ecx
je 0x54f63c
xor eax, eax
mov al, byte [ecx + 0x1e]
test eax, eax
je 0x54f63c
cmp dword [esi + 0x100], 1
je 0x54fe48
test edx, edx
je 0x54f63c
test byte [esi + 0x130], 0x40
je 0x54f624
cmp dword [esi + 0x108], 0xfffffffa
je 0x54fe48
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54fe48
cmp eax, 2
je 0x54fe48
cmp dword [esi + 0x100], 1
je 0x54f4c3
test edx, edx
je 0x54ff02
test byte [esi + 0x130], 0x40
je 0x54f667
cmp dword [esi + 0x108], 0xfffffffa
je 0x54f4c3
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54f4c3
jmp 0x54f4ba
cmp ebx, 5
jne 0x54f685
mov ebx, 6
test eax, eax
je 0x54f68e
lea edi, [eax + 4]
jmp 0x54f694
mov edi, dword [esi + 0x28]
add edi, 4
sub ebx, 4
test eax, eax
jne 0x54f69e
mov eax, dword [esi + 0x28]
movsx eax, byte [eax + 5]
cmp eax, 0x31
ja case.0x54f6b3.5
xor ecx, ecx
mov cl, byte [eax + 0x54ffc8]
jmp dword [ecx*4 + 0x54ffb0]
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x54f77a
cmp dword [esi + 0x100], 1
je 0x54f701
mov eax, dword [0x5a3d24]
test eax, eax
je 0x54f77a
test byte [esi + 0x130], 0x40
je 0x54f6f1
cmp dword [esi + 0x108], 0xfffffffa
je 0x54f701
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54f701
cmp eax, 2
jne 0x54f77a
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54f72f
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x54f72f
test edx, 0x8000000
je 0x54fd2e
mov cl, byte [eax + 0x20]
test cl, cl
je 0x54fd2e
inc edi
dec ebx
jmp 0x54fd34
test edx, 0x8000000
je 0x54f749
test eax, eax
je 0x54f749
xor ecx, ecx
mov cl, byte [eax + 0x20]
mov eax, ecx
test eax, eax
je 0x54f749
inc edi
jmp 0x54f74d
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 0x54f76a
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54ff02
jmp 0x54fefe
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 0x54f79b
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54ff02
jmp 0x54fefe
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x54f916
cmp dword [esi + 0x100], 1
je 0x54f7f6
mov eax, dword [0x5a3d24]
test eax, eax
je 0x54f916
test byte [esi + 0x130], 0x40
je 0x54f7e2
cmp dword [esi + 0x108], 0xfffffffa
je 0x54f7f6
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54f7f6
cmp eax, 2
jne 0x54f916
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54f8b3
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x54f871
mov ecx, edx
and ecx, 0x8000000
je 0x54f81f
mov dl, byte [eax + 0x20]
test dl, dl
je 0x54f81f
inc edi
dec ebx
jmp 0x54f84f
mov dl, byte [eax + 0x1c]
test dl, dl
jne 0x54f835
mov dl, byte [eax + 0x1d]
test dl, dl
jne 0x54f835
add edi, 2
sub ebx, 2
jmp 0x54f84f
test ecx, ecx
je 0x54f848
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x54f84f
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54f85a
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54f865
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x20], 1
jmp 0x54ff02
test eax, eax
je 0x54f8b3
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x54f899
test edx, 0x8000000
je 0x54f88e
inc edi
mov byte [edi + ebx - 1], 0xd
jmp 0x54f8ee
add edi, 2
dec ebx
mov byte [edi + ebx - 1], 0xd
jmp 0x54f8ee
test eax, eax
je 0x54f8b3
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54f8cb
test eax, eax
je 0x54f8b3
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x54f8cb
test edx, 0x8000000
je 0x54f8c0
mov byte [edi], 0xd
jmp 0x54f8e5
inc edi
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
jmp 0x54f8ee
test edx, 0x8000000
je 0x54f8e2
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x54f8e9
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 0x54f906
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54ff02
jmp 0x54fefe
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54f933
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54f94b
test eax, eax
je 0x54f933
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x54f94b
test edx, 0x8000000
je 0x54f940
mov byte [edi], 0xd
jmp 0x54f965
inc edi
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
jmp 0x54f96e
test edx, 0x8000000
je 0x54f962
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x54f969
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 0x54f986
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54ff02
jmp 0x54fefe
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x54faff
cmp dword [esi + 0x100], 1
je 0x54f9e1
mov eax, dword [0x5a3d24]
test eax, eax
je 0x54faff
test byte [esi + 0x130], 0x40
je 0x54f9cd
cmp dword [esi + 0x108], 0xfffffffa
je 0x54f9e1
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54f9e1
cmp eax, 2
jne 0x54faff
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x54fa81
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x54fa4e
mov ecx, edx
and ecx, 0x8000000
je 0x54fa07
mov dl, byte [eax + 0x20]
test dl, dl
jne 0x54fa3d
mov dl, byte [eax + 0x1c]
test dl, dl
jne 0x54fa1b
mov dl, byte [eax + 0x1d]
test dl, dl
jne 0x54fa1b
inc edi
sub ebx, 2
jmp 0x54fa3e
test ecx, ecx
je 0x54fa3a
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 0x54fa3e
mov byte [edi], 0xc
dec ebx
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54fe3a
jmp 0x54fe36
test eax, eax
je 0x54fa81
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x54fa67
test edx, 0x8000000
jne 0x54fad2
inc edi
dec ebx
jmp 0x54fad2
test eax, eax
je 0x54fa81
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54faa6
test eax, eax
je 0x54fa81
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x54faa6
test edx, 0x8000000
je 0x54facf
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 0x54fad7
test edx, 0x8000000
je 0x54facf
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 0x54fad7
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 0x54faef
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54ff02
jmp 0x54fefe
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x54fb1d
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54fb42
test eax, eax
je 0x54fb1d
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x54fb42
test edx, 0x8000000
je 0x54fb6b
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 0x54fb73
test edx, 0x8000000
je 0x54fb6b
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 0x54fb73
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 0x54fb8b
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54ff02
jmp 0x54fefe
mov eax, dword [esi + 0x12c]
test ah, 1
je 0x54fc87
cmp dword [esi + 0x100], 1
je 0x54fbe6
mov eax, dword [0x5a3d24]
test eax, eax
je 0x54fc87
test byte [esi + 0x130], 0x40
je 0x54fbd2
cmp dword [esi + 0x108], 0xfffffffa
je 0x54fbe6
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54fbe6
cmp eax, 2
jne 0x54fc87
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54fc52
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x54fc21
mov cl, byte [eax + 0x1c]
test cl, cl
jne 0x54fc0c
mov cl, byte [eax + 0x1d]
test cl, cl
jne 0x54fc0c
add edi, 2
sub ebx, 2
jmp 0x54fc11
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54fe3a
jmp 0x54fe36
test eax, eax
je 0x54fc52
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x54fc36
add edi, 2
sub ebx, 2
jmp 0x54fc5f
test eax, eax
je 0x54fc52
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54fc5a
test eax, eax
je 0x54fc52
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x54fc5a
add edi, 2
sub ebx, 2
jmp 0x54fc5f
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54fc6a
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 0x54ff02
jmp 0x54fefe
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54fca6
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54fcae
test eax, eax
je 0x54fca6
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x54fcae
add edi, 2
sub ebx, 2
jmp 0x54fcb3
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54fcbe
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 0x54ff02
jmp 0x54fefe
mov eax, dword [esi + 0x12c]
test ah, 1
je 0x54fd7a
cmp dword [esi + 0x100], 1
je 0x54fd1e
mov eax, dword [0x5a3d24]
test eax, eax
je 0x54fd7a
test byte [esi + 0x130], 0x40
je 0x54fd0e
cmp dword [esi + 0x108], 0xfffffffa
je 0x54fd1e
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54fd1e
cmp eax, 2
jne 0x54fd7a
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54fd4f
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x54fd4f
add edi, 2
sub ebx, 2
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54fd43
mov byte [eax + 0x1d], 0
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x20], 1
jmp 0x54ff02
add edi, 2
sub ebx, 2
test eax, eax
je 0x54fd5d
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 0x54ff02
jmp 0x54fefe
mov eax, dword [esi + 0x7c]
add edi, 2
sub ebx, 2
test eax, eax
je 0x54fd8b
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 0x54ff02
jmp 0x54fefe
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x54feb3
cmp dword [esi + 0x100], 1
je 0x54fdf3
mov eax, dword [0x5a3d24]
test eax, eax
je 0x54feb3
test byte [esi + 0x130], 0x40
je 0x54fddf
cmp dword [esi + 0x108], 0xfffffffa
je 0x54fdf3
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54fdf3
cmp eax, 2
jne 0x54feb3
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x54fe86
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x54fe51
test edx, 0x8000000
je 0x54fe17
mov cl, byte [eax + 0x20]
test cl, cl
jne 0x54fe2e
mov cl, byte [eax + 0x1c]
test cl, cl
jne 0x54fe2b
mov cl, byte [eax + 0x1d]
test cl, cl
jne 0x54fe2b
inc edi
sub ebx, 2
jmp 0x54fe2f
mov byte [edi], 0xa
dec ebx
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54fe3a
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54fe45
mov byte [eax + 0x1d], 0
mov ecx, dword [esi + 0x7c]
mov byte [ecx + 0x20], 1
jmp 0x54ff02
test eax, eax
je 0x54fe86
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x54fe6a
test edx, 0x8000000
jne 0x54fe8d
inc edi
dec ebx
jmp 0x54fe8d
test eax, eax
je 0x54fe86
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54fe8a
test eax, eax
je 0x54fe86
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x54fe8a
inc edi
dec ebx
jmp 0x54fe8d
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 0x54feaa
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54ff02
jmp 0x54fefe
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x54fed3
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54fed7
test eax, eax
je 0x54fed3
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x54fed7
inc edi
dec ebx
jmp 0x54feda
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 0x54fef7
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54ff02
mov byte [eax + 0x20], 0
push ebx
push edi
push esi
call fcn.005500b0
mov edi, dword [esi + 0x128]
add esp, 0xc
and edi, 0xfbffffff
cmp eax, 0xffffffff
mov dword [esi + 0x128], edi
mov ecx, edi
jne 0x54ff3e
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 0x54ff89
mov edx, dword [esi + 0xa8]
xor edi, edi
push edx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x54ff6a
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 0x54ff89
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