Function at 0x5abf20
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 0x5abf36
mov edi, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
mov edx, edi
test eax, eax
jne 0x5abf42
mov eax, dword [esi + 0x28]
sub edx, eax
mov eax, dword [esi + 0xac]
mov dword [ebp - 4], edx
lea ebx, [edx + 4]
cmp ebx, eax
jbe 0x5abf9d
cmp byte [esi + 0x10c], 1
je 0x5abf9d
push 0x200
push esi
call fcn.005aa940
add esp, 8
test eax, eax
je 0x5abf9a
push 4
push esi
call fcn.005aa940
add esp, 8
test eax, eax
je 0x5abf9a
push esi
push 0xc0000042
push 0xc0000042
push 1
call fcn.005a4200
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 4]
movsx eax, byte [esi + 0x10c]
dec eax
mov ecx, 0xfffffffa
cmp eax, 6
ja case.0x5abfb3.3
jmp dword [eax*4 + 0x5aceb0]
mov ecx, dword [esi + 0xb0]
cmp edx, ecx
jae 0x5abfe2
sub ecx, edx
mov eax, 0x20202020
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edx, dword [esi + 0xb0]
mov dword [ebp - 4], edx
mov ecx, dword [esi + 0x11c]
test ecx, 0x8000000
je case.0x5abfb3.5
mov eax, dword [esi + 0x118]
test ah, 1
je case.0x5abfb3.5
test ah, 0x10
je case.0x5abfb3.5
cmp byte [esi + 0x10e], 1
je case.0x5abfb3.5
test cl, 4
jne case.0x5abfb3.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ac032
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
jmp 0x5ac034
xor eax, eax
test eax, eax
je 0x5ac07c
cmp dword [esi + 0xf4], 1
je case.0x5abfb3.5
mov eax, dword [0x7083c0]
test eax, eax
je 0x5ac07c
test byte [esi + 0x120], 0x40
je 0x5ac064
cmp dword [esi + 0xfc], 0xfffffffa
je case.0x5abfb3.5
mov eax, dword [esi + 0xfc]
cmp eax, 1
je case.0x5abfb3.5
cmp eax, 2
je case.0x5abfb3.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x5ac095
mov byte [edx + eax - 2], 0xd
mov eax, dword [esi + 0x30]
mov byte [edx + eax - 1], 0xa
jmp case.0x5abfb3.5
mov ecx, dword [esi + 0x28]
mov byte [edx + ecx - 2], 0xd
mov eax, dword [esi + 0x28]
mov byte [edx + eax - 1], 0xa
jmp case.0x5abfb3.5
mov ecx, dword [esi + 0x30]
lea eax, [edx - 4]
test ecx, ecx
mov dword [ebp + 8], eax
je 0x5ac0f2
test byte [esi + 0x11c], 2
je 0x5ac0dc
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 0x5ac137
mov byte [ecx], al
mov ecx, dword [esi + 0x30]
mov byte [ecx + 1], ah
mov edx, dword [esi + 0x30]
mov cl, byte [ebp + 0xa]
mov byte [edx + 2], cl
mov edi, dword [esi + 0x30]
jmp 0x5ac131
test byte [esi + 0x11c], 2
je 0x5ac11a
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 0x5ac137
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
test byte [esi + 0x11c], 2
mov edi, dword [esi + 0x2c]
je 0x5ac15f
mov byte [edi], dl
mov edx, dword [esi + 0x2c]
mov dword [ebp - 4], ebx
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 0x5ac2be
mov byte [edi], al
mov edi, dword [esi + 0x2c]
mov dword [ebp - 4], ebx
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 0x5ac2be
cmp byte [esi + 0x10e], 1
je case.0x5abfb3.5
test byte [esi + 0x11c], 4
jne case.0x5abfb3.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ac1a5
xor ebx, ebx
mov bl, byte [eax + 0x1e]
mov eax, ebx
jmp 0x5ac1a7
xor eax, eax
test eax, eax
je 0x5ac1ee
cmp dword [esi + 0xf4], 1
je case.0x5abfb3.5
mov eax, dword [0x7083c0]
test eax, eax
je 0x5ac1ee
test byte [esi + 0x120], 0x40
je 0x5ac1d6
cmp dword [esi + 0xfc], ecx
je case.0x5abfb3.5
mov eax, dword [esi + 0xfc]
cmp eax, 1
je case.0x5abfb3.5
cmp eax, 2
je case.0x5abfb3.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x5ac20a
mov byte [edx + eax], 0xd
mov eax, dword [esi + 0x30]
inc edx
mov byte [edx + eax], 0xa
inc edx
mov dword [ebp - 4], edx
jmp case.0x5abfb3.5
mov ecx, dword [esi + 0x28]
inc edx
mov byte [edx + ecx - 1], 0xd
mov eax, dword [esi + 0x28]
mov byte [edx + eax], 0xa
inc edx
mov dword [ebp - 4], edx
jmp case.0x5abfb3.5
cmp byte [esi + 0x10e], 1
je case.0x5abfb3.5
test byte [esi + 0x11c], 4
jne case.0x5abfb3.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ac24d
xor ebx, ebx
mov bl, byte [eax + 0x1e]
mov eax, ebx
jmp 0x5ac24f
xor eax, eax
test eax, eax
je 0x5ac286
cmp dword [esi + 0xf4], 1
je case.0x5abfb3.5
mov eax, dword [0x7083c0]
test eax, eax
je 0x5ac286
test byte [esi + 0x120], 0x40
je 0x5ac276
cmp dword [esi + 0xfc], ecx
je case.0x5abfb3.5
mov eax, dword [esi + 0xfc]
cmp eax, 1
je case.0x5abfb3.5
cmp eax, 2
je case.0x5abfb3.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x5ac297
mov byte [edx + eax], 0xd
inc edx
mov dword [ebp - 4], edx
jmp case.0x5abfb3.5
mov ecx, dword [esi + 0x28]
inc edx
mov dword [ebp - 4], edx
mov byte [ecx + edx - 1], 0xd
jmp case.0x5abfb3.5
push 0x30d
push str.E:_forrtl_build_for_put.c
push 2
push 0xc0000008
call fcn.005a41d0
add esp, 0x10
mov edx, dword [ebp - 4]
mov eax, dword [esi + 0x30]
test eax, eax
mov edi, eax
jne 0x5ac2cd
mov edi, dword [esi + 0x28]
movsx ecx, byte [esi + 0x10e]
dec ecx
je 0x5ac571
dec ecx
je 0x5ac398
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x5ac2f0
xor eax, eax
mov al, byte [ecx + 0x1e]
jmp 0x5ac2f2
xor eax, eax
test eax, eax
je 0x5ac33f
cmp dword [esi + 0xf4], 1
je 0x5acc05
mov eax, dword [0x7083c0]
test eax, eax
je 0x5ac33f
test byte [esi + 0x120], 0x40
je 0x5ac322
cmp dword [esi + 0xfc], 0xfffffffa
je 0x5acc05
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x5acc05
cmp eax, 2
jne 0x5ac33f
mov byte [ecx + 0x20], 1
jmp 0x5ace1d
cmp dword [esi + 0xf4], 1
je 0x5ac560
mov eax, dword [0x7083c0]
test eax, eax
je 0x5ace1d
test byte [esi + 0x120], 0x40
je 0x5ac54c
mov eax, dword [esi + 0xfc]
cmp eax, 0xfffffffa
je 0x5ac560
cmp eax, 1
je 0x5ac560
cmp eax, 2
jne 0x5ace1d
test ecx, ecx
je 0x5ace1d
mov byte [ecx + 0x20], 0
jmp 0x5ace1d
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ac3a6
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x5ac3a8
xor ecx, ecx
test ecx, ecx
jne 0x5ac3bb
test eax, eax
je 0x5ac3b5
mov cl, byte [eax + 0x1d]
jmp 0x5ac3b7
xor ecx, ecx
test ecx, ecx
je 0x5ac41e
test eax, eax
je 0x5ac3c8
xor edx, edx
mov dl, byte [eax + 0x20]
mov eax, edx
jmp 0x5ac3ca
xor eax, eax
test eax, eax
je 0x5ac402
cmp dword [esi + 0xf4], 1
je 0x5ac41e
mov eax, dword [0x7083c0]
test eax, eax
je 0x5ac402
test byte [esi + 0x120], 0x40
je 0x5ac3f2
cmp dword [esi + 0xfc], 0xfffffffa
je 0x5ac41e
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x5ac41e
cmp eax, 2
je 0x5ac41e
lea eax, [ebp + 8]
push 1
push eax
push esi
mov byte [ebp + 8], 0xa
call fcn.005acfe0
add esp, 0xc
cmp eax, 0xffffffff
je 0x5ace44
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ac429
mov byte [eax + 0x1c], 0
mov ecx, dword [esi + 0x11c]
test ecx, 0x8000000
je 0x5ac447
mov eax, dword [esi + 0x118]
test ah, 1
je 0x5ac447
test ah, 0x10
jne 0x5ac4bc
cmp byte [esi + 0x10c], 6
je 0x5ac4bc
test cl, 4
jne 0x5ac4bc
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ac465
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
jmp 0x5ac467
xor eax, eax
test eax, eax
je 0x5ac49f
cmp dword [esi + 0xf4], 1
je 0x5ac4bc
mov eax, dword [0x7083c0]
test eax, eax
je 0x5ac49f
test byte [esi + 0x120], 0x40
je 0x5ac48f
cmp dword [esi + 0xfc], 0xfffffffa
je 0x5ac4bc
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x5ac4bc
cmp eax, 2
je 0x5ac4bc
mov eax, dword [esi + 0x30]
test eax, eax
je 0x5ac4af
mov edx, dword [ebp - 4]
mov byte [edx + eax], 0xa
jmp 0x5ac4b9
mov eax, dword [esi + 0x28]
mov ecx, dword [ebp - 4]
mov byte [eax + ecx], 0xa
inc dword [ebp - 4]
mov ecx, dword [esi + 0x11c]
and ecx, 0xfffffffb
mov dword [esi + 0x11c], ecx
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x5ac4d9
xor eax, eax
mov al, byte [ecx + 0x1e]
jmp 0x5ac4db
xor eax, eax
mov edx, dword [0x7083c0]
test eax, eax
je 0x5ac529
cmp dword [esi + 0xf4], 1
je 0x5acc05
test edx, edx
je 0x5ac529
test byte [esi + 0x120], 0x40
je 0x5ac50c
cmp dword [esi + 0xfc], 0xfffffffa
je 0x5acc05
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x5acc05
cmp eax, 2
jne 0x5ac529
mov byte [ecx + 0x20], 1
jmp 0x5ace1d
cmp dword [esi + 0xf4], 1
je 0x5ac560
test edx, edx
je 0x5ace1d
test byte [esi + 0x120], 0x40
je 0x5ac54c
cmp dword [esi + 0xfc], 0xfffffffa
je 0x5ac560
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x5ac560
cmp eax, 2
jne 0x5ace1d
test ecx, ecx
je 0x5ace1d
mov byte [ecx + 0x20], 0
jmp 0x5ace1d
cmp edx, 5
jne 0x5ac57b
mov edx, 6
test eax, eax
je 0x5ac584
lea edi, [eax + 4]
jmp 0x5ac58a
mov edi, dword [esi + 0x28]
add edi, 4
sub edx, 4
test eax, eax
mov dword [ebp - 4], edx
jne 0x5ac597
mov eax, dword [esi + 0x28]
movsx eax, byte [eax + 5]
cmp eax, 0x31
ja case.0x5ac5ac.5
xor ecx, ecx
mov cl, byte [eax + 0x5acee4]
jmp dword [ecx*4 + 0x5acecc]
mov edx, dword [esi + 0x11c]
test dh, 1
je 0x5ac6aa
cmp dword [esi + 0xf4], 1
je 0x5ac5fe
mov eax, dword [0x7083c0]
test eax, eax
je 0x5ac6aa
test byte [esi + 0x120], 0x40
je 0x5ac5ea
cmp dword [esi + 0xfc], 0xfffffffa
je 0x5ac5fe
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x5ac5fe
cmp eax, 2
jne 0x5ac6aa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ac60c
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x5ac60e
xor ecx, ecx
test ecx, ecx
je 0x5ac649
test edx, 0x8000000
je 0x5ac638
test eax, eax
je 0x5ac625
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x5ac627
xor ecx, ecx
test ecx, ecx
je 0x5ac638
mov ecx, dword [ebp - 4]
inc edi
dec ecx
mov dword [ebp - 4], ecx
jmp 0x5ac7be
mov ecx, dword [ebp - 4]
add edi, 2
sub ecx, 2
mov dword [ebp - 4], ecx
jmp 0x5ac7be
test edx, 0x8000000
je 0x5ac66f
test eax, eax
je 0x5ac65e
xor ecx, ecx
mov cl, byte [eax + 0x20]
mov eax, ecx
jmp 0x5ac660
xor eax, eax
test eax, eax
je 0x5ac66f
mov edx, dword [ebp - 4]
inc edi
mov byte [edi + edx - 1], 0xd
jmp 0x5ac67e
mov eax, dword [ebp - 4]
add edi, 2
dec eax
mov dword [ebp - 4], eax
mov byte [edi + eax - 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 0x5acdb4
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ace1d
jmp 0x5ace19
mov eax, dword [ebp - 4]
add edi, 2
dec eax
mov dword [ebp - 4], eax
mov byte [edi + eax - 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 0x5acdb4
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ace1d
jmp 0x5ace19
mov edx, dword [esi + 0x11c]
test dh, 1
je 0x5ac800
cmp dword [esi + 0xf4], 1
je 0x5ac730
mov eax, dword [0x7083c0]
test eax, eax
je 0x5ac800
test byte [esi + 0x120], 0x40
je 0x5ac71c
cmp dword [esi + 0xfc], 0xfffffffa
je 0x5ac730
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x5ac730
cmp eax, 2
jne 0x5ac800
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ac73e
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x5ac740
xor ecx, ecx
test ecx, ecx
je 0x5ac7cb
and edx, 0x8000000
je 0x5ac76b
test eax, eax
je 0x5ac75b
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x5ac75d
xor ecx, ecx
test ecx, ecx
je 0x5ac76b
mov eax, dword [ebp - 4]
inc edi
dec eax
mov dword [ebp - 4], eax
jmp 0x5ac7bb
test eax, eax
je 0x5ac776
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x5ac778
xor ecx, ecx
test ecx, ecx
jne 0x5ac79b
test eax, eax
je 0x5ac787
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x5ac789
xor eax, eax
test eax, eax
jne 0x5ac79b
mov eax, dword [ebp - 4]
add edi, 2
sub eax, 2
mov dword [ebp - 4], eax
jmp 0x5ac7bb
test edx, edx
je 0x5ac7b4
mov eax, dword [ebp - 4]
dec edi
inc eax
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
mov dword [ebp - 4], eax
jmp 0x5ac7bb
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5acd26
jmp 0x5acd22
test eax, eax
je 0x5ac7d6
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x5ac7d8
xor ecx, ecx
test ecx, ecx
je 0x5ac803
test edx, 0x8000000
je 0x5ac7ef
mov eax, dword [ebp - 4]
inc edi
mov byte [edi + eax - 1], 0xd
jmp 0x5ac86c
mov eax, dword [ebp - 4]
add edi, 2
dec eax
mov dword [ebp - 4], eax
mov byte [edi + eax - 1], 0xd
jmp 0x5ac86c
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ac80e
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x5ac810
xor ecx, ecx
test ecx, ecx
jne 0x5ac840
test eax, eax
je 0x5ac81f
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x5ac821
xor eax, eax
test eax, eax
jne 0x5ac840
test edx, 0x8000000
je 0x5ac832
mov byte [edi], 0xd
jmp 0x5ac85d
mov edx, dword [ebp - 4]
inc edi
mov byte [edi], 0xa
mov byte [edi + edx - 1], 0xd
jmp 0x5ac86c
test edx, 0x8000000
je 0x5ac85a
mov eax, dword [ebp - 4]
dec edi
inc eax
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x5ac864
mov byte [edi], 0xa
mov eax, dword [ebp - 4]
mov byte [edi + 1], 0xa
mov byte [edi + eax], 0xd
inc eax
mov dword [ebp - 4], eax
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 0x5acdb4
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ace1d
jmp 0x5ace19
mov edx, dword [esi + 0x11c]
test dh, 1
je 0x5ac9a6
cmp dword [esi + 0xf4], 1
je 0x5ac8e3
mov eax, dword [0x7083c0]
test eax, eax
je 0x5ac9a6
test byte [esi + 0x120], 0x40
je 0x5ac8cf
cmp dword [esi + 0xfc], 0xfffffffa
je 0x5ac8e3
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x5ac8e3
cmp eax, 2
jne 0x5ac9a6
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x5ac8f2
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x5ac8f4
xor ecx, ecx
test ecx, ecx
je 0x5ac97c
and edx, 0x8000000
je 0x5ac915
test eax, eax
je 0x5ac90f
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x5ac911
xor ecx, ecx
test ecx, ecx
jne 0x5ac965
test eax, eax
je 0x5ac920
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x5ac922
xor ecx, ecx
test ecx, ecx
jne 0x5ac940
test eax, eax
je 0x5ac931
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x5ac933
xor eax, eax
test eax, eax
jne 0x5ac940
mov eax, dword [ebp - 4]
inc edi
sub eax, 2
jmp 0x5ac969
test edx, edx
je 0x5ac962
mov eax, dword [ebp - 4]
sub edi, 4
add eax, 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 0x5ac969
mov byte [edi], 0xc
mov eax, dword [ebp - 4]
dec eax
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5acd26
jmp 0x5acd22
test eax, eax
je 0x5ac987
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x5ac989
xor ecx, ecx
test ecx, ecx
je 0x5ac9aa
test edx, 0x8000000
jne 0x5aca34
mov eax, dword [ebp - 4]
inc edi
dec eax
mov dword [ebp - 4], eax
jmp 0x5aca37
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x5ac9b5
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x5ac9b7
xor ecx, ecx
test ecx, ecx
jne 0x5aca03
test eax, eax
je 0x5ac9c6
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x5ac9c8
xor eax, eax
test eax, eax
jne 0x5aca03
test edx, 0x8000000
je 0x5ac9f6
mov eax, dword [ebp - 4]
sub edi, 3
add eax, 2
mov byte [edi], 0xc
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0x20
mov byte [edi + 3], 0xd
mov byte [edi + eax], 0xd
inc eax
mov dword [ebp - 4], eax
jmp 0x5aca3c
mov edx, dword [ebp - 4]
mov byte [edi], 0xc
mov byte [edi + edx - 1], 0xd
jmp 0x5aca3c
test edx, 0x8000000
je 0x5aca31
mov eax, dword [ebp - 4]
sub edi, 4
add eax, 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
mov byte [edi + eax], 0xd
inc eax
mov dword [ebp - 4], eax
jmp 0x5aca3c
mov byte [edi], 0xc
mov eax, dword [ebp - 4]
mov byte [edi + eax - 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 0x5acdb4
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ace1d
jmp 0x5ace19
mov eax, dword [esi + 0x11c]
test ah, 1
je 0x5acb45
cmp dword [esi + 0xf4], 1
je 0x5acab3
mov eax, dword [0x7083c0]
test eax, eax
je 0x5acb45
test byte [esi + 0x120], 0x40
je 0x5aca9f
cmp dword [esi + 0xfc], 0xfffffffa
je 0x5acab3
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x5acab3
cmp eax, 2
jne 0x5acb45
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5acac1
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x5acac3
xor ecx, ecx
test ecx, ecx
je 0x5acb23
test eax, eax
je 0x5acad2
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x5acad4
xor ecx, ecx
test ecx, ecx
jne 0x5acaf1
test eax, eax
je 0x5acae3
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x5acae5
xor eax, eax
test eax, eax
jne 0x5acaf1
add edi, 2
sub edx, 2
jmp 0x5acaf6
inc edi
dec edx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
mov dword [ebp - 4], edx
test eax, eax
je 0x5acd26
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5acd31
mov byte [eax + 0x1d], 0
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x20], 1
jmp 0x5ace1d
test eax, eax
je 0x5acb2e
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x5acb30
xor ecx, ecx
test ecx, ecx
je 0x5acb48
mov eax, dword [esi + 0x7c]
add edi, 2
sub edx, 2
mov dword [ebp - 4], edx
jmp 0x5acc17
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5acb53
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x5acb55
xor ecx, ecx
test ecx, ecx
jne 0x5acb7b
test eax, eax
je 0x5acb64
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x5acb66
xor eax, eax
test eax, eax
jne 0x5acb7b
mov eax, dword [esi + 0x7c]
add edi, 2
sub edx, 2
mov dword [ebp - 4], edx
jmp 0x5acc17
inc edi
dec edx
mov dword [ebp - 4], edx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
jmp 0x5acc17
mov eax, dword [esi + 0x11c]
test ah, 1
je 0x5acc3c
cmp dword [esi + 0xf4], 1
je 0x5acbd2
mov eax, dword [0x7083c0]
test eax, eax
je 0x5acc3c
test byte [esi + 0x120], 0x40
je 0x5acbc2
cmp dword [esi + 0xfc], 0xfffffffa
je 0x5acbd2
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x5acbd2
cmp eax, 2
jne 0x5acc3c
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5acbe0
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x5acbe2
xor ecx, ecx
test ecx, ecx
je 0x5acc0e
add edi, 2
sub edx, 2
test eax, eax
mov dword [ebp - 4], edx
je 0x5acbf7
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5acc02
mov byte [eax + 0x1d], 0
mov ecx, dword [esi + 0x7c]
mov byte [ecx + 0x20], 1
jmp 0x5ace1d
add edi, 2
sub edx, 2
mov dword [ebp - 4], edx
test eax, eax
je 0x5acc1f
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 0x5ace1d
jmp 0x5ace19
mov eax, dword [esi + 0x7c]
add edi, 2
sub edx, 2
test eax, eax
mov dword [ebp - 4], edx
je 0x5acc50
mov byte [eax + 0x1c], 0
mov ecx, dword [esi + 0x7c]
mov byte [ecx + 0x1d], 1
mov edx, dword [esi + 0x7c]
mov dword [edx + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ace1d
jmp 0x5ace19
mov edx, dword [esi + 0x11c]
test dh, 1
je 0x5acdbd
cmp dword [esi + 0xf4], 1
je 0x5accb8
mov eax, dword [0x7083c0]
test eax, eax
je 0x5acdbd
test byte [esi + 0x120], 0x40
je 0x5acca4
cmp dword [esi + 0xfc], 0xfffffffa
je 0x5accb8
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x5accb8
cmp eax, 2
jne 0x5acdbd
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x5accc7
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x5accc9
xor ecx, ecx
test ecx, ecx
je 0x5acd3d
test edx, 0x8000000
je 0x5acce6
test eax, eax
je 0x5acce0
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x5acce2
xor ecx, ecx
test ecx, ecx
jne 0x5acd14
test eax, eax
je 0x5accf1
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x5accf3
xor ecx, ecx
test ecx, ecx
jne 0x5acd11
test eax, eax
je 0x5acd02
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x5acd04
xor eax, eax
test eax, eax
jne 0x5acd11
mov eax, dword [ebp - 4]
inc edi
sub eax, 2
jmp 0x5acd18
mov byte [edi], 0xa
mov eax, dword [ebp - 4]
dec eax
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5acd26
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5acd31
mov byte [eax + 0x1d], 0
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x20], 1
jmp 0x5ace1d
test eax, eax
je 0x5acd48
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x5acd4a
xor ecx, ecx
test ecx, ecx
je 0x5acd60
test edx, 0x8000000
je 0x5acd82
mov eax, dword [ebp - 4]
mov byte [edi + eax - 1], 0xd
jmp 0x5acd9c
test eax, eax
je 0x5acd6b
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x5acd6d
xor ecx, ecx
test ecx, ecx
jne 0x5acd91
test eax, eax
je 0x5acd7c
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x5acd7e
xor eax, eax
test eax, eax
jne 0x5acd91
mov eax, dword [ebp - 4]
inc edi
dec eax
mov dword [ebp - 4], eax
mov byte [edi + eax - 1], 0xd
jmp 0x5acd9c
mov edx, dword [ebp - 4]
mov byte [edi], 0xa
mov byte [edi + edx - 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 0x5acdb4
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ace1d
jmp 0x5ace19
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x5acdcc
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x5acdce
xor ecx, ecx
test ecx, ecx
jne 0x5acdef
test eax, eax
je 0x5acddf
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
jmp 0x5acde1
xor eax, eax
test eax, eax
jne 0x5acdef
mov eax, dword [ebp - 4]
inc edi
dec eax
mov dword [ebp - 4], eax
jmp 0x5acdf5
mov eax, dword [ebp - 4]
mov byte [edi], 0xa
mov byte [edi + eax - 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 0x5ace12
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5ace1d
mov byte [eax + 0x20], 0
mov eax, dword [ebp - 4]
push eax
push edi
push esi
call fcn.005acfe0
mov edi, dword [esi + 0x118]
add esp, 0xc
and edi, 0xfbffffff
cmp eax, 0xffffffff
mov dword [esi + 0x118], edi
mov ecx, edi
jne 0x5ace5c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xa8], eax
mov eax, 0xc0000026
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, 0x80000000
je 0x5acea7
mov ecx, dword [esi + 0xa4]
xor edi, edi
push ecx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x5ace88
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xa8], eax
mov edi, 0xc0000026
mov ecx, dword [esi + 0x118]
and ecx, 0x7fffffff
test edi, edi
mov dword [esi + 0x118], ecx
je 0x5acea7
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