Function at 0x42c4b0
Capabilities:
Clear file content

Disassembly:
push ecx
push ebx
push ebp
push esi
mov esi, dword [esp + 0x14]
push edi
mov eax, dword [esi + 0x38]
test eax, eax
mov edi, eax
jne 0x42c4c5
mov edi, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0xa8]
mov ebx, edi
sub ebx, ecx
lea ebp, [ebx + 4]
cmp ebp, eax
jbe 0x42c51e
cmp byte [esi + 0x10c], 1
je 0x42c51e
push 0x200
push esi
call fcn.00432220
add esp, 8
test eax, eax
je 0x42c51e
push 4
push esi
call fcn.00432220
add esp, 8
test eax, eax
je 0x42c51e
push esi
push 0xc0000042
push 0xc0000042
push 1
call fcn.0042eac0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
movsx eax, byte [esi + 0x10c]
dec eax
cmp eax, 6
ja case.0x42c52f.3
jmp dword [eax*4 + 0x42d420]
mov ecx, dword [esi + 0xac]
cmp ebx, ecx
jae 0x42c55b
sub ecx, ebx
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 ebx, dword [esi + 0xac]
mov ecx, dword [esi + 0x11c]
test ecx, 0x8000000
je case.0x42c52f.5
mov eax, dword [esi + 0x118]
test ah, 1
je case.0x42c52f.5
test ah, 0x10
je case.0x42c52f.5
cmp byte [esi + 0x10e], 1
je case.0x42c52f.5
test cl, 4
jne case.0x42c52f.5
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42c5ab
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
jmp 0x42c5ad
xor eax, eax
test eax, eax
je 0x42c5fc
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa0], eax
je case.0x42c52f.5
mov eax, dword [0x499e2c]
test eax, eax
je 0x42c5fc
test byte [esi + 0x120], 0x40
je 0x42c5e4
cmp dword [esi + 0xfc], 0xfffffffa
je case.0x42c52f.5
mov eax, dword [esi + 0xfc]
cmp eax, 1
je case.0x42c52f.5
cmp eax, 2
je case.0x42c52f.5
mov edx, dword [esi + 0x28]
mov byte [ebx + edx - 2], 0xd
mov eax, dword [esi + 0x28]
mov byte [ebx + eax - 1], 0xa
jmp case.0x42c52f.5
mov cl, byte [esi + 0x11c]
lea eax, [ebx - 4]
test cl, 2
mov dword [esp + 0x18], eax
je 0x42c644
mov ecx, dword [esi + 0x28]
mov dl, byte [esp + 0x1b]
mov byte [ecx], dl
mov edi, dword [esi + 0x28]
mov cl, byte [esp + 0x1a]
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 0x42c663
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 [esp + 0x1a]
mov byte [edx + 2], cl
mov edi, dword [esi + 0x28]
mov dl, byte [esp + 0x1b]
mov byte [edi + 3], dl
mov bl, byte [esi + 0x11c]
mov edi, dword [esi + 0x2c]
test bl, 2
je 0x42c68c
mov byte [edi], dl
mov edx, dword [esi + 0x2c]
mov ebx, ebp
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.0x42c52f.5
mov byte [edi], al
mov edi, dword [esi + 0x2c]
mov ebx, ebp
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.0x42c52f.5
cmp byte [esi + 0x10e], 1
je case.0x42c52f.5
test byte [esi + 0x11c], 4
jne case.0x42c52f.5
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42c6d1
xor edx, edx
mov dl, byte [eax + 0x1e]
mov eax, edx
jmp 0x42c6d3
xor eax, eax
test eax, eax
je 0x42c722
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa0], eax
je case.0x42c52f.5
mov eax, dword [0x499e2c]
test eax, eax
je 0x42c722
test byte [esi + 0x120], 0x40
je 0x42c70a
cmp dword [esi + 0xfc], 0xfffffffa
je case.0x42c52f.5
mov eax, dword [esi + 0xfc]
cmp eax, 1
je case.0x42c52f.5
cmp eax, 2
je case.0x42c52f.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.0x42c52f.5
cmp byte [esi + 0x10e], 1
je case.0x42c52f.5
test byte [esi + 0x11c], 4
jne case.0x42c52f.5
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42c75a
xor edx, edx
mov dl, byte [eax + 0x1e]
mov eax, edx
jmp 0x42c75c
xor eax, eax
test eax, eax
je 0x42c79b
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa0], eax
je case.0x42c52f.5
mov eax, dword [0x499e2c]
test eax, eax
je 0x42c79b
test byte [esi + 0x120], 0x40
je 0x42c78b
cmp dword [esi + 0xfc], 0xfffffffa
je case.0x42c52f.5
mov eax, dword [esi + 0xfc]
cmp eax, 1
je case.0x42c52f.5
cmp eax, 2
je case.0x42c52f.5
mov eax, dword [esi + 0x28]
inc ebx
mov byte [ebx + eax - 1], 0xd
jmp case.0x42c52f.5
push 0x2d0
push str.E:_forrtl_build_for_put.c
push 2
push 0xc0000008
call fcn.0042ea90
add esp, 0x10
movsx ecx, byte [esi + 0x10e]
mov eax, dword [esi + 0x28]
dec ecx
mov edi, eax
je 0x42ca76
mov eax, dword [esi + 0x78]
dec ecx
je 0x42c84b
test eax, eax
je 0x42c7e5
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
jmp 0x42c7e7
xor eax, eax
test eax, eax
je 0x42c83e
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa0], eax
je 0x42d1ba
mov eax, dword [0x499e2c]
test eax, eax
je 0x42c83e
test byte [esi + 0x120], 0x40
je 0x42c81e
cmp dword [esi + 0xfc], 0xfffffffa
je 0x42d1ba
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x42d1ba
cmp eax, 2
jne 0x42c83e
mov edx, dword [esi + 0x78]
mov byte [edx + 0x20], 1
jmp 0x42ce2a
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
jmp 0x42ca1f
test eax, eax
je 0x42c856
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42c858
xor ecx, ecx
test ecx, ecx
jne 0x42c86f
test eax, eax
je 0x42c865
mov cl, byte [eax + 0x1d]
jmp 0x42c867
xor ecx, ecx
test ecx, ecx
je 0x42c914
test eax, eax
je 0x42c87c
xor ecx, ecx
mov cl, byte [eax + 0x20]
mov eax, ecx
jmp 0x42c87e
xor eax, eax
test eax, eax
je 0x42c8c5
mov ebp, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
call ebp
cmp dword [esi + 0xa0], eax
je 0x42c91a
mov eax, dword [0x499e2c]
test eax, eax
je 0x42c8cb
test byte [esi + 0x120], 0x40
je 0x42c8b3
cmp dword [esi + 0xfc], 0xfffffffa
je 0x42c91a
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x42c91a
cmp eax, 2
je 0x42c91a
jmp 0x42c8cb
mov ebp, dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov eax, dword [esi + 0x120]
mov edx, dword [esi + 0xfc]
mov ecx, eax
push edx
shr ecx, 7
shr eax, 6
and ecx, 1
and eax, 1
push ecx
mov ecx, dword [esi + 0xa0]
push eax
lea edx, [esp + 0x1c]
push 0
push edx
lea eax, [esp + 0x2c]
push 1
push eax
push ecx
mov byte [esp + 0x38], 0xa
call fcn.0042d650
add esp, 0x20
cmp eax, 0xffffffff
jne 0x42c91a
jmp 0x42ce78
mov ebp, dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42c925
mov byte [eax + 0x1c], 0
mov ecx, dword [esi + 0x11c]
test ecx, 0x8000000
je 0x42c943
mov eax, dword [esi + 0x118]
test ah, 1
je 0x42c943
test ah, 0x10
jne 0x42c9a7
cmp byte [esi + 0x10c], 6
je 0x42c9a7
test cl, 4
jne 0x42c9a7
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42c961
xor edx, edx
mov dl, byte [eax + 0x1e]
mov eax, edx
jmp 0x42c963
xor eax, eax
test eax, eax
je 0x42c99e
push 0xfffffffffffffff5
call ebp
cmp dword [esi + 0xa0], eax
je 0x42c9a7
mov eax, dword [0x499e2c]
test eax, eax
je 0x42c99e
test byte [esi + 0x120], 0x40
je 0x42c98e
cmp dword [esi + 0xfc], 0xfffffffa
je 0x42c9a7
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x42c9a7
cmp eax, 2
je 0x42c9a7
mov eax, dword [esi + 0x28]
inc ebx
mov byte [ebx + eax - 1], 0xa
mov edx, dword [esi + 0x11c]
mov eax, dword [esi + 0x78]
and edx, 0xfffffffb
test eax, eax
mov dword [esi + 0x11c], edx
je 0x42c9c6
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
jmp 0x42c9c8
xor eax, eax
test eax, eax
je 0x42ca1b
push 0xfffffffffffffff5
call ebp
cmp dword [esi + 0xa0], eax
je 0x42d1ba
mov eax, dword [0x499e2c]
test eax, eax
je 0x42ca1b
test byte [esi + 0x120], 0x40
je 0x42c9fb
cmp dword [esi + 0xfc], 0xfffffffa
je 0x42d1ba
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x42d1ba
cmp eax, 2
jne 0x42ca1b
mov edx, dword [esi + 0x78]
mov byte [edx + 0x20], 1
jmp 0x42ce2a
push 0xfffffffffffffff5
call ebp
cmp dword [esi + 0xa0], eax
je 0x42cdcc
mov eax, dword [0x499e2c]
test eax, eax
je 0x42ce2a
test byte [esi + 0x120], 0x40
je 0x42ca4e
cmp dword [esi + 0xfc], 0xfffffffa
je 0x42cdcc
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x42cdcc
cmp eax, 2
jne 0x42ce2a
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42ce2a
jmp 0x42ce26
cmp ebx, 5
jne 0x42ca80
mov ebx, 6
lea edi, [eax + 4]
sub ebx, 4
movsx eax, byte [eax + 5]
cmp eax, 0x31
ja case.0x42ca9b.5
xor ecx, ecx
mov cl, byte [eax + 0x42d454]
jmp dword [ecx*4 + 0x42d43c]
mov eax, dword [esi + 0x11c]
test ah, 1
je 0x42cb91
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa0], eax
je 0x42caf4
mov eax, dword [0x499e2c]
test eax, eax
je 0x42cb91
test byte [esi + 0x120], 0x40
je 0x42cae0
cmp dword [esi + 0xfc], 0xfffffffa
je 0x42caf4
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x42caf4
cmp eax, 2
jne 0x42cb91
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42cb02
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x42cb04
xor ecx, ecx
test ecx, ecx
mov ecx, dword [esi + 0x11c]
je 0x42cb3e
test ecx, 0x8000000
je 0x42cb2b
test eax, eax
je 0x42cb21
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42cb23
xor ecx, ecx
test ecx, ecx
je 0x42cb2b
inc edi
dec ebx
jmp 0x42cb31
add edi, 2
sub ebx, 2
test eax, eax
je 0x42d1af
jmp 0x42d1ab
test ecx, 0x8000000
je 0x42cb5c
test eax, eax
je 0x42cb53
xor ecx, ecx
mov cl, byte [eax + 0x20]
mov eax, ecx
jmp 0x42cb55
xor eax, eax
test eax, eax
je 0x42cb5c
inc edi
jmp 0x42cb60
add edi, 2
dec ebx
mov byte [edi + ebx - 1], 0xd
mov edx, dword [esi + 0x78]
mov byte [edx + 0x1c], 1
mov eax, dword [esi + 0x78]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42cdcc
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42ce2a
jmp 0x42ce26
add edi, 2
dec ebx
mov byte [edi + ebx - 1], 0xd
mov ecx, dword [esi + 0x78]
mov byte [ecx + 0x1c], 1
mov edx, dword [esi + 0x78]
mov dword [edx + 0x10], esi
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42cdcc
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42ce2a
jmp 0x42ce26
mov eax, dword [esi + 0x11c]
test ah, 1
je 0x42cd64
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa0], eax
je 0x42cc18
mov eax, dword [0x499e2c]
test eax, eax
je 0x42cd64
test byte [esi + 0x120], 0x40
je 0x42cc04
cmp dword [esi + 0xfc], 0xfffffffa
je 0x42cc18
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x42cc18
cmp eax, 2
jne 0x42cd64
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42cc26
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x42cc28
xor ecx, ecx
test ecx, ecx
je 0x42ccc9
mov edx, dword [esi + 0x11c]
and edx, 0x8000000
je 0x42cc55
test eax, eax
je 0x42cc49
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42cc4b
xor ecx, ecx
test ecx, ecx
je 0x42cc55
inc edi
jmp 0x42d1a3
test eax, eax
je 0x42cc60
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42cc62
xor ecx, ecx
test ecx, ecx
jne 0x42cc82
test eax, eax
je 0x42cc71
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42cc73
xor eax, eax
test eax, eax
jne 0x42cc82
add edi, 2
sub ebx, 2
jmp 0x42d1a4
test edx, edx
je 0x42cc98
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x42d1a4
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42d1af
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42d1ba
mov byte [eax + 0x1d], 0
mov edx, dword [esi + 0x78]
mov byte [edx + 0x20], 1
jmp 0x42ce2a
test eax, eax
je 0x42ccd4
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42ccd6
xor ecx, ecx
test ecx, ecx
je 0x42ccf5
test dword [esi + 0x11c], 0x8000000
je 0x42ccec
inc edi
jmp 0x42cdaf
add edi, 2
dec ebx
jmp 0x42cdaf
test eax, eax
je 0x42cd00
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42cd02
xor ecx, ecx
test ecx, ecx
jne 0x42cd35
test eax, eax
je 0x42cd11
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42cd13
xor eax, eax
test eax, eax
jne 0x42cd35
test dword [esi + 0x11c], 0x8000000
je 0x42cdab
mov byte [edi], 0xd
mov byte [edi + 1], 0xa
mov byte [edi + ebx], 0xd
inc ebx
jmp 0x42cdb4
test dword [esi + 0x11c], 0x8000000
je 0x42cd56
dec edi
inc ebx
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
mov byte [edi + ebx - 1], 0xd
jmp 0x42cdb4
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov byte [edi + ebx], 0xd
inc ebx
jmp 0x42cdb4
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42cd72
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42cd74
xor ecx, ecx
test ecx, ecx
jne 0x42cee1
test eax, eax
je 0x42cd87
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42cd89
xor eax, eax
test eax, eax
jne 0x42cee1
test dword [esi + 0x11c], 0x8000000
je 0x42cdab
mov byte [edi], 0xd
mov byte [edi + 1], 0xa
mov byte [edi + ebx], 0xd
inc ebx
jmp 0x42cdb4
inc edi
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
mov edx, dword [esi + 0x78]
mov byte [edx + 0x1c], 1
mov eax, dword [esi + 0x78]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42cdcc
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42ce2a
jmp 0x42ce26
mov eax, dword [esi + 0x78]
inc edi
test eax, eax
je 0x42cde4
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42cde6
xor ecx, ecx
test ecx, ecx
jne 0x42cdff
test eax, eax
je 0x42cdf5
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42cdf7
xor eax, eax
test eax, eax
jne 0x42cdff
inc edi
dec ebx
jmp 0x42ce02
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
mov edx, dword [esi + 0x78]
mov byte [edx + 0x1c], 1
mov eax, dword [esi + 0x78]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42ce1f
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42ce2a
mov byte [eax + 0x20], 0
mov eax, dword [esi + 0x120]
mov ecx, dword [esi + 0xfc]
mov edx, eax
push ecx
shr edx, 7
shr eax, 6
mov ecx, dword [esi + 0xa0]
and edx, 1
and eax, 1
push edx
push eax
lea eax, [esp + 0x1c]
push 0
push eax
push ebx
push edi
push ecx
call fcn.0042d650
mov edi, dword [esi + 0x118]
add esp, 0x20
and edi, 0xfbffffff
cmp eax, 0xffffffff
mov dword [esi + 0x118], edi
mov ecx, edi
jne 0x42ce8f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xa4], eax
mov eax, 0xc0000026
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
test ecx, 0x80000000
je 0x42ced9
mov edx, dword [esi + 0xa0]
xor edi, edi
push edx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x42cebb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xa4], eax
mov edi, 0xc0000026
mov ecx, dword [esi + 0x118]
and ecx, 0x7fffffff
test edi, edi
mov dword [esi + 0x118], ecx
je 0x42ced9
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
pop ecx
ret
test dword [esi + 0x11c], 0x8000000
je 0x42cf05
dec edi
inc ebx
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
mov byte [edi + ebx - 1], 0xd
jmp 0x42cdb4
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov byte [edi + ebx], 0xd
inc ebx
jmp 0x42cdb4
mov eax, dword [esi + 0x11c]
test ah, 1
je 0x42d081
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa0], eax
je 0x42cf68
mov eax, dword [0x499e2c]
test eax, eax
je 0x42d081
test byte [esi + 0x120], 0x40
je 0x42cf54
cmp dword [esi + 0xfc], 0xfffffffa
je 0x42cf68
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x42cf68
cmp eax, 2
jne 0x42d081
mov eax, dword [esi + 0x78]
inc edi
test eax, eax
je 0x42cf77
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x42cf79
xor ecx, ecx
test ecx, ecx
je 0x42cff5
mov edx, dword [esi + 0x11c]
and edx, 0x8000000
je 0x42cfa0
test eax, eax
je 0x42cf96
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42cf98
xor ecx, ecx
test ecx, ecx
jne 0x42d1a3
test eax, eax
je 0x42cfab
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42cfad
xor ecx, ecx
test ecx, ecx
jne 0x42cfcb
test eax, eax
je 0x42cfbc
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42cfbe
xor eax, eax
test eax, eax
jne 0x42cfcb
inc edi
sub ebx, 2
jmp 0x42d1a4
test edx, edx
je 0x42cfed
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 0x42d1a4
mov byte [edi], 0xc
jmp 0x42d1a3
test eax, eax
je 0x42d000
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42d002
xor ecx, ecx
test ecx, ecx
je 0x42d01d
test dword [esi + 0x11c], 0x8000000
jne 0x42cdaf
inc edi
dec ebx
jmp 0x42cdaf
test eax, eax
je 0x42d028
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42d02a
xor ecx, ecx
test ecx, ecx
jne 0x42d06f
test eax, eax
je 0x42d039
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42d03b
xor eax, eax
test eax, eax
jne 0x42d06f
test dword [esi + 0x11c], 0x8000000
je 0x42d103
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 0x42cdb4
test dword [esi + 0x11c], 0x8000000
je 0x42d103
jmp 0x42d0df
mov eax, dword [esi + 0x78]
inc edi
test eax, eax
je 0x42d090
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42d092
xor ecx, ecx
test ecx, ecx
jne 0x42d0d3
test eax, eax
je 0x42d0a1
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42d0a3
xor eax, eax
test eax, eax
jne 0x42d0d3
test dword [esi + 0x11c], 0x8000000
je 0x42d103
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 0x42cdb4
test dword [esi + 0x11c], 0x8000000
je 0x42d103
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 0x42cdb4
mov byte [edi], 0xc
jmp 0x42cdaf
mov eax, dword [esi + 0x11c]
test ah, 1
je 0x42d23e
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa0], eax
je 0x42d15d
mov eax, dword [0x499e2c]
test eax, eax
je 0x42d23e
test byte [esi + 0x120], 0x40
je 0x42d149
cmp dword [esi + 0xfc], 0xfffffffa
je 0x42d15d
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x42d15d
cmp eax, 2
jne 0x42d23e
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42d16b
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x42d16d
xor ecx, ecx
test ecx, ecx
je 0x42d21f
test eax, eax
je 0x42d180
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42d182
xor ecx, ecx
test ecx, ecx
jne 0x42d19f
test eax, eax
je 0x42d191
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42d193
xor eax, eax
test eax, eax
jne 0x42d19f
add edi, 2
sub ebx, 2
jmp 0x42d1a4
inc edi
mov byte [edi], 0xa
dec ebx
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42d1af
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42d1ba
mov byte [eax + 0x1d], 0
mov edx, dword [esi + 0x78]
mov byte [edx + 0x20], 1
jmp 0x42ce2a
test eax, eax
je 0x42d1d1
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42d1d3
xor ecx, ecx
test ecx, ecx
je 0x42d1ee
test dword [esi + 0x11c], 0x8000000
jne 0x42cdaf
inc edi
dec ebx
jmp 0x42cdaf
test eax, eax
je 0x42d1f9
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42d1fb
xor ecx, ecx
test ecx, ecx
jne 0x42cdac
test eax, eax
je 0x42d20e
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42d210
xor eax, eax
test eax, eax
jne 0x42cdac
inc edi
dec ebx
jmp 0x42cdaf
test eax, eax
je 0x42d22a
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42d22c
xor ecx, ecx
test ecx, ecx
je 0x42d241
mov eax, dword [esi + 0x78]
add edi, 2
sub ebx, 2
jmp 0x42d30b
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42d24c
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42d24e
xor ecx, ecx
test ecx, ecx
jne 0x42d271
test eax, eax
je 0x42d25d
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42d25f
xor eax, eax
test eax, eax
jne 0x42d271
mov eax, dword [esi + 0x78]
add edi, 2
sub ebx, 2
jmp 0x42d30b
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x78]
jmp 0x42d30b
mov eax, dword [esi + 0x11c]
test ah, 1
je 0x42d330
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa0], eax
je 0x42d2cc
mov eax, dword [0x499e2c]
test eax, eax
je 0x42d330
test byte [esi + 0x120], 0x40
je 0x42d2bc
cmp dword [esi + 0xfc], 0xfffffffa
je 0x42d2cc
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x42d2cc
cmp eax, 2
jne 0x42d330
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42d2da
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x42d2dc
xor ecx, ecx
test ecx, ecx
je 0x42d305
add edi, 2
sub ebx, 2
test eax, eax
je 0x42d2ee
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42d2f9
mov byte [eax + 0x1d], 0
mov ecx, dword [esi + 0x78]
mov byte [ecx + 0x20], 1
jmp 0x42ce2a
add edi, 2
sub ebx, 2
test eax, eax
je 0x42d313
mov byte [eax + 0x1c], 0
mov edx, dword [esi + 0x78]
mov byte [edx + 0x1d], 1
mov eax, dword [esi + 0x78]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42ce2a
jmp 0x42ce26
mov eax, dword [esi + 0x78]
add edi, 2
sub ebx, 2
test eax, eax
je 0x42d341
mov byte [eax + 0x1c], 0
mov ecx, dword [esi + 0x78]
mov byte [ecx + 0x1d], 1
mov edx, dword [esi + 0x78]
mov dword [edx + 0x10], esi
mov eax, dword [esi + 0x78]
test eax, eax
je 0x42ce2a
jmp 0x42ce26
mov eax, dword [esi + 0x11c]
test ah, 1
je 0x42cdd5
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa0], eax
je 0x42d3b0
mov eax, dword [0x499e2c]
test eax, eax
je 0x42cdd5
test byte [esi + 0x120], 0x40
je 0x42d39c
cmp dword [esi + 0xfc], 0xfffffffa
je 0x42d3b0
mov eax, dword [esi + 0xfc]
cmp eax, 1
je 0x42d3b0
cmp eax, 2
jne 0x42cdd5
mov eax, dword [esi + 0x78]
inc edi
test eax, eax
je 0x42d3bf
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x42d3c1
xor ecx, ecx
test ecx, ecx
je 0x42d1c6
test dword [esi + 0x11c], 0x8000000
je 0x42d3ea
test eax, eax
je 0x42d3e0
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42d3e2
xor ecx, ecx
test ecx, ecx
jne 0x42d1a3
test eax, eax
je 0x42d3f5
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42d3f7
xor ecx, ecx
test ecx, ecx
jne 0x42d1a0
test eax, eax
je 0x42d40a
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42d40c
xor eax, eax
test eax, eax
jne 0x42d1a0
inc edi
sub ebx, 2
jmp 0x42d1a4