Function at 0x54b770
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 0x54b786
mov edi, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
mov ebx, edi
test eax, eax
jne 0x54b792
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 0x54b7ea
cmp byte [esi + 0x11c], 1
je 0x54b7ea
push 0x200
push esi
call fcn.0054df80
add esp, 8
test eax, eax
je 0x54b7ea
push 4
push esi
call fcn.0054df80
add esp, 8
test eax, eax
je 0x54b7ea
push esi
push 0xc0000042
push 0xc0000042
push 1
call fcn.00543100
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.0x54b800.3
jmp dword [eax*4 + 0x54c674]
mov ecx, dword [esi + 0xb4]
cmp ebx, ecx
jae 0x54b831
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.0x54b800.5
mov eax, dword [esi + 0x128]
test ah, 1
je case.0x54b800.5
test ah, 0x10
je case.0x54b800.5
cmp byte [esi + 0x11e], 1
je case.0x54b800.5
test cl, 4
jne case.0x54b800.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54b8c6
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x54b8c6
cmp dword [esi + 0x100], 1
je case.0x54b800.5
mov eax, dword [0x599834]
test eax, eax
je 0x54b8c6
test byte [esi + 0x130], 0x40
je 0x54b8ae
cmp dword [esi + 0x108], edx
je case.0x54b800.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x54b800.5
cmp eax, 2
je case.0x54b800.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x54b8df
mov byte [eax + ebx - 2], 0xd
mov edx, dword [esi + 0x30]
mov byte [edx + ebx - 1], 0xa
jmp case.0x54b800.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.0x54b800.5
mov ecx, dword [esi + 0x30]
lea eax, [ebx - 4]
test ecx, ecx
mov dword [ebp + 8], eax
je 0x54b93c
test byte [esi + 0x12c], 2
je 0x54b926
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 0x54b981
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 0x54b97b
test byte [esi + 0x12c], 2
je 0x54b964
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 0x54b981
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 0x54b9ab
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.0x54b800.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.0x54b800.5
cmp byte [esi + 0x11e], 1
je case.0x54b800.5
test byte [esi + 0x12c], 4
jne case.0x54b800.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54ba36
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x54ba36
cmp dword [esi + 0x100], 1
je case.0x54b800.5
mov eax, dword [0x599834]
test eax, eax
je 0x54ba36
test byte [esi + 0x130], 0x40
je 0x54ba1e
cmp dword [esi + 0x108], edx
je case.0x54b800.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x54b800.5
cmp eax, 2
je case.0x54b800.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x54ba4f
mov byte [eax + ebx], 0xd
mov edx, dword [esi + 0x30]
inc ebx
mov byte [edx + ebx], 0xa
inc ebx
jmp case.0x54b800.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.0x54b800.5
cmp byte [esi + 0x11e], 1
je case.0x54b800.5
test byte [esi + 0x12c], 4
jne case.0x54b800.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54bac0
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x54bac0
cmp dword [esi + 0x100], 1
je case.0x54b800.5
mov eax, dword [0x599834]
test eax, eax
je 0x54bac0
test byte [esi + 0x130], 0x40
je 0x54bab0
cmp dword [esi + 0x108], edx
je case.0x54b800.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x54b800.5
cmp eax, 2
je case.0x54b800.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x54bace
mov byte [eax + ebx], 0xd
inc ebx
jmp case.0x54b800.5
mov edx, dword [esi + 0x28]
inc ebx
mov byte [edx + ebx - 1], 0xd
jmp case.0x54b800.5
push 0x36d
push str.E:_forrtl_build_for_put.c
push 2
push 0xc0000008
call fcn.005430d0
add esp, 0x10
mov eax, dword [esi + 0x30]
test eax, eax
mov edi, eax
jne 0x54bafe
mov edi, dword [esi + 0x28]
movsx ecx, byte [esi + 0x11e]
dec ecx
je 0x54bd5b
dec ecx
je 0x54bbb4
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x54bb67
xor eax, eax
mov al, byte [ecx + 0x1e]
test eax, eax
je 0x54bb67
cmp dword [esi + 0x100], 1
je 0x54c528
mov eax, dword [0x599834]
test eax, eax
je 0x54bb67
test byte [esi + 0x130], 0x40
je 0x54bb4f
cmp dword [esi + 0x108], 0xfffffffa
je 0x54c528
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54c528
cmp eax, 2
je 0x54c528
cmp dword [esi + 0x100], 1
je 0x54bba3
mov eax, dword [0x599834]
test eax, eax
je 0x54c5e2
test byte [esi + 0x130], 0x40
je 0x54bb8f
cmp dword [esi + 0x108], 0xfffffffa
je 0x54bba3
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54bba3
cmp eax, 2
jne 0x54c5e2
test ecx, ecx
je 0x54c5e2
mov byte [ecx + 0x20], 0
jmp 0x54c5e2
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54bc26
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54bbcf
test eax, eax
je 0x54bc26
mov cl, byte [eax + 0x1d]
test ecx, ecx
je 0x54bc26
mov cl, byte [eax + 0x20]
test cl, cl
je 0x54bc0a
cmp dword [esi + 0x100], 1
je 0x54bc26
mov eax, dword [0x599834]
test eax, eax
je 0x54bc0a
test byte [esi + 0x130], 0x40
je 0x54bbfa
cmp dword [esi + 0x108], 0xfffffffa
je 0x54bc26
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54bc26
cmp eax, 2
je 0x54bc26
lea eax, [ebp + 0xb]
push 1
push eax
push esi
mov byte [ebp + 0xb], 0xa
call fcn.0054c790
add esp, 0xc
cmp eax, 0xffffffff
je 0x54c606
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54bc31
mov byte [eax + 0x1c], 0
mov ecx, dword [esi + 0x12c]
test ecx, 0x8000000
je 0x54bc4f
mov eax, dword [esi + 0x128]
test ah, 1
je 0x54bc4f
test ah, 0x10
jne 0x54bcb8
cmp byte [esi + 0x11c], 6
je 0x54bcb8
test cl, 4
jne 0x54bcb8
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54bca3
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x54bca3
cmp dword [esi + 0x100], 1
je 0x54bcb8
mov eax, dword [0x599834]
test eax, eax
je 0x54bca3
test byte [esi + 0x130], 0x40
je 0x54bc93
cmp dword [esi + 0x108], 0xfffffffa
je 0x54bcb8
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54bcb8
cmp eax, 2
je 0x54bcb8
mov eax, dword [esi + 0x30]
test eax, eax
je 0x54bcb0
mov byte [eax + ebx], 0xa
jmp 0x54bcb7
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 [0x599834]
test ecx, ecx
je 0x54bd1c
xor eax, eax
mov al, byte [ecx + 0x1e]
test eax, eax
je 0x54bd1c
cmp dword [esi + 0x100], 1
je 0x54c528
test edx, edx
je 0x54bd1c
test byte [esi + 0x130], 0x40
je 0x54bd04
cmp dword [esi + 0x108], 0xfffffffa
je 0x54c528
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54c528
cmp eax, 2
je 0x54c528
cmp dword [esi + 0x100], 1
je 0x54bba3
test edx, edx
je 0x54c5e2
test byte [esi + 0x130], 0x40
je 0x54bd47
cmp dword [esi + 0x108], 0xfffffffa
je 0x54bba3
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54bba3
jmp 0x54bb9a
cmp ebx, 5
jne 0x54bd65
mov ebx, 6
test eax, eax
je 0x54bd6e
lea edi, [eax + 4]
jmp 0x54bd74
mov edi, dword [esi + 0x28]
add edi, 4
sub ebx, 4
test eax, eax
jne 0x54bd7e
mov eax, dword [esi + 0x28]
movsx eax, byte [eax + 5]
cmp eax, 0x31
ja case.0x54bd93.5
xor ecx, ecx
mov cl, byte [eax + 0x54c6a8]
jmp dword [ecx*4 + 0x54c690]
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x54be5a
cmp dword [esi + 0x100], 1
je 0x54bde1
mov eax, dword [0x599834]
test eax, eax
je 0x54be5a
test byte [esi + 0x130], 0x40
je 0x54bdd1
cmp dword [esi + 0x108], 0xfffffffa
je 0x54bde1
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54bde1
cmp eax, 2
jne 0x54be5a
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54be0f
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x54be0f
test edx, 0x8000000
je 0x54c40e
mov cl, byte [eax + 0x20]
test cl, cl
je 0x54c40e
inc edi
dec ebx
jmp 0x54c414
test edx, 0x8000000
je 0x54be29
test eax, eax
je 0x54be29
xor ecx, ecx
mov cl, byte [eax + 0x20]
mov eax, ecx
test eax, eax
je 0x54be29
inc edi
jmp 0x54be2d
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 0x54be4a
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c5e2
jmp 0x54c5de
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 0x54be7b
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c5e2
jmp 0x54c5de
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x54bff6
cmp dword [esi + 0x100], 1
je 0x54bed6
mov eax, dword [0x599834]
test eax, eax
je 0x54bff6
test byte [esi + 0x130], 0x40
je 0x54bec2
cmp dword [esi + 0x108], 0xfffffffa
je 0x54bed6
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54bed6
cmp eax, 2
jne 0x54bff6
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54bf93
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x54bf51
mov ecx, edx
and ecx, 0x8000000
je 0x54beff
mov dl, byte [eax + 0x20]
test dl, dl
je 0x54beff
inc edi
dec ebx
jmp 0x54bf2f
mov dl, byte [eax + 0x1c]
test dl, dl
jne 0x54bf15
mov dl, byte [eax + 0x1d]
test dl, dl
jne 0x54bf15
add edi, 2
sub ebx, 2
jmp 0x54bf2f
test ecx, ecx
je 0x54bf28
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x54bf2f
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54bf3a
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54bf45
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x20], 1
jmp 0x54c5e2
test eax, eax
je 0x54bf93
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x54bf79
test edx, 0x8000000
je 0x54bf6e
inc edi
mov byte [edi + ebx - 1], 0xd
jmp 0x54bfce
add edi, 2
dec ebx
mov byte [edi + ebx - 1], 0xd
jmp 0x54bfce
test eax, eax
je 0x54bf93
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54bfab
test eax, eax
je 0x54bf93
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x54bfab
test edx, 0x8000000
je 0x54bfa0
mov byte [edi], 0xd
jmp 0x54bfc5
inc edi
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
jmp 0x54bfce
test edx, 0x8000000
je 0x54bfc2
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x54bfc9
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 0x54bfe6
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c5e2
jmp 0x54c5de
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c013
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54c02b
test eax, eax
je 0x54c013
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x54c02b
test edx, 0x8000000
je 0x54c020
mov byte [edi], 0xd
jmp 0x54c045
inc edi
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
jmp 0x54c04e
test edx, 0x8000000
je 0x54c042
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x54c049
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 0x54c066
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c5e2
jmp 0x54c5de
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x54c1df
cmp dword [esi + 0x100], 1
je 0x54c0c1
mov eax, dword [0x599834]
test eax, eax
je 0x54c1df
test byte [esi + 0x130], 0x40
je 0x54c0ad
cmp dword [esi + 0x108], 0xfffffffa
je 0x54c0c1
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54c0c1
cmp eax, 2
jne 0x54c1df
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x54c161
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x54c12e
mov ecx, edx
and ecx, 0x8000000
je 0x54c0e7
mov dl, byte [eax + 0x20]
test dl, dl
jne 0x54c11d
mov dl, byte [eax + 0x1c]
test dl, dl
jne 0x54c0fb
mov dl, byte [eax + 0x1d]
test dl, dl
jne 0x54c0fb
inc edi
sub ebx, 2
jmp 0x54c11e
test ecx, ecx
je 0x54c11a
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 0x54c11e
mov byte [edi], 0xc
dec ebx
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c51a
jmp 0x54c516
test eax, eax
je 0x54c161
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x54c147
test edx, 0x8000000
jne 0x54c1b2
inc edi
dec ebx
jmp 0x54c1b2
test eax, eax
je 0x54c161
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54c186
test eax, eax
je 0x54c161
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x54c186
test edx, 0x8000000
je 0x54c1af
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 0x54c1b7
test edx, 0x8000000
je 0x54c1af
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 0x54c1b7
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 0x54c1cf
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c5e2
jmp 0x54c5de
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x54c1fd
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54c222
test eax, eax
je 0x54c1fd
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x54c222
test edx, 0x8000000
je 0x54c24b
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 0x54c253
test edx, 0x8000000
je 0x54c24b
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 0x54c253
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 0x54c26b
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c5e2
jmp 0x54c5de
mov eax, dword [esi + 0x12c]
test ah, 1
je 0x54c367
cmp dword [esi + 0x100], 1
je 0x54c2c6
mov eax, dword [0x599834]
test eax, eax
je 0x54c367
test byte [esi + 0x130], 0x40
je 0x54c2b2
cmp dword [esi + 0x108], 0xfffffffa
je 0x54c2c6
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54c2c6
cmp eax, 2
jne 0x54c367
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c332
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x54c301
mov cl, byte [eax + 0x1c]
test cl, cl
jne 0x54c2ec
mov cl, byte [eax + 0x1d]
test cl, cl
jne 0x54c2ec
add edi, 2
sub ebx, 2
jmp 0x54c2f1
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c51a
jmp 0x54c516
test eax, eax
je 0x54c332
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x54c316
add edi, 2
sub ebx, 2
jmp 0x54c33f
test eax, eax
je 0x54c332
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54c33a
test eax, eax
je 0x54c332
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x54c33a
add edi, 2
sub ebx, 2
jmp 0x54c33f
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c34a
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 0x54c5e2
jmp 0x54c5de
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c386
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54c38e
test eax, eax
je 0x54c386
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x54c38e
add edi, 2
sub ebx, 2
jmp 0x54c393
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c39e
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 0x54c5e2
jmp 0x54c5de
mov eax, dword [esi + 0x12c]
test ah, 1
je 0x54c45a
cmp dword [esi + 0x100], 1
je 0x54c3fe
mov eax, dword [0x599834]
test eax, eax
je 0x54c45a
test byte [esi + 0x130], 0x40
je 0x54c3ee
cmp dword [esi + 0x108], 0xfffffffa
je 0x54c3fe
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54c3fe
cmp eax, 2
jne 0x54c45a
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c42f
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x54c42f
add edi, 2
sub ebx, 2
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c423
mov byte [eax + 0x1d], 0
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x20], 1
jmp 0x54c5e2
add edi, 2
sub ebx, 2
test eax, eax
je 0x54c43d
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 0x54c5e2
jmp 0x54c5de
mov eax, dword [esi + 0x7c]
add edi, 2
sub ebx, 2
test eax, eax
je 0x54c46b
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 0x54c5e2
jmp 0x54c5de
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x54c593
cmp dword [esi + 0x100], 1
je 0x54c4d3
mov eax, dword [0x599834]
test eax, eax
je 0x54c593
test byte [esi + 0x130], 0x40
je 0x54c4bf
cmp dword [esi + 0x108], 0xfffffffa
je 0x54c4d3
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x54c4d3
cmp eax, 2
jne 0x54c593
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x54c566
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x54c531
test edx, 0x8000000
je 0x54c4f7
mov cl, byte [eax + 0x20]
test cl, cl
jne 0x54c50e
mov cl, byte [eax + 0x1c]
test cl, cl
jne 0x54c50b
mov cl, byte [eax + 0x1d]
test cl, cl
jne 0x54c50b
inc edi
sub ebx, 2
jmp 0x54c50f
mov byte [edi], 0xa
dec ebx
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c51a
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c525
mov byte [eax + 0x1d], 0
mov ecx, dword [esi + 0x7c]
mov byte [ecx + 0x20], 1
jmp 0x54c5e2
test eax, eax
je 0x54c566
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x54c54a
test edx, 0x8000000
jne 0x54c56d
inc edi
dec ebx
jmp 0x54c56d
test eax, eax
je 0x54c566
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54c56a
test eax, eax
je 0x54c566
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x54c56a
inc edi
dec ebx
jmp 0x54c56d
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 0x54c58a
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c5e2
jmp 0x54c5de
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x54c5b3
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x54c5b7
test eax, eax
je 0x54c5b3
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x54c5b7
inc edi
dec ebx
jmp 0x54c5ba
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 0x54c5d7
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x54c5e2
mov byte [eax + 0x20], 0
push ebx
push edi
push esi
call fcn.0054c790
mov edi, dword [esi + 0x128]
add esp, 0xc
and edi, 0xfbffffff
cmp eax, 0xffffffff
mov dword [esi + 0x128], edi
mov ecx, edi
jne 0x54c61e
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 0x54c669
mov edx, dword [esi + 0xa8]
xor edi, edi
push edx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x54c64a
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 0x54c669
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