Function at 0x429d60
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 0x429d76
mov edi, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
mov ebx, edi
test eax, eax
jne 0x429d82
mov eax, dword [esi + 0x28]
sub ebx, eax
mov eax, dword [esi + 0xac]
mov dword [ebp - 4], ebx
add ebx, 4
cmp ebx, eax
jbe 0x429dda
cmp byte [esi + 0x110], 1
je 0x429dda
push 0x200
push esi
call fcn.00429040
add esp, 8
test eax, eax
je 0x429dda
push 4
push esi
call fcn.00429040
add esp, 8
test eax, eax
je 0x429dda
push esi
push 0xc0000042
push 0xc0000042
push 1
call fcn.00423e40
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, byte [esi + 0x110]
dec eax
cmp eax, 6
ja case.0x429deb.3
jmp dword [eax*4 + 0x42adc0]
mov ecx, dword [esi + 0xb0]
mov eax, dword [ebp - 4]
cmp eax, ecx
jae 0x429e1d
sub ecx, eax
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 eax, dword [esi + 0xb0]
mov dword [ebp - 4], eax
mov ecx, dword [esi + 0x120]
test ecx, 0x8000000
je case.0x429deb.5
mov eax, dword [esi + 0x11c]
test ah, 1
je case.0x429deb.5
test ah, 0x10
je case.0x429deb.5
cmp byte [esi + 0x112], 1
je case.0x429deb.5
test cl, 4
jne case.0x429deb.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x429e6d
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
jmp 0x429e6f
xor eax, eax
test eax, eax
je 0x429ebe
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa4], eax
je case.0x429deb.5
mov eax, dword [0x47eb44]
test eax, eax
je 0x429ebe
test byte [esi + 0x124], 0x40
je 0x429ea6
cmp dword [esi + 0x100], 0xfffffffa
je case.0x429deb.5
mov eax, dword [esi + 0x100]
cmp eax, 1
je case.0x429deb.5
cmp eax, 2
je case.0x429deb.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x429eda
mov ecx, dword [ebp - 4]
mov byte [ecx + eax - 2], 0xd
mov edx, dword [esi + 0x30]
mov byte [ecx + edx - 1], 0xa
jmp case.0x429deb.5
mov ecx, dword [esi + 0x28]
mov eax, dword [ebp - 4]
mov byte [eax + ecx - 2], 0xd
mov edx, dword [esi + 0x28]
mov byte [eax + edx - 1], 0xa
jmp case.0x429deb.5
mov eax, dword [ebp - 4]
mov ecx, dword [esi + 0x30]
add eax, 0xfffffffc
test ecx, ecx
mov dword [ebp + 8], eax
je 0x429f3d
test byte [esi + 0x120], 2
je 0x429f27
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 0x429f82
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 0x429f7c
test byte [esi + 0x120], 2
je 0x429f65
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 0x429f82
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 + 0x120], 2
mov edi, dword [esi + 0x2c]
je 0x429faa
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 case.0x429deb.5
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 case.0x429deb.5
cmp byte [esi + 0x112], 1
je case.0x429deb.5
test byte [esi + 0x120], 4
jne case.0x429deb.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x429ff0
xor edx, edx
mov dl, byte [eax + 0x1e]
mov eax, edx
jmp 0x429ff2
xor eax, eax
test eax, eax
je 0x42a041
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa4], eax
je case.0x429deb.5
mov eax, dword [0x47eb44]
test eax, eax
je 0x42a041
test byte [esi + 0x124], 0x40
je 0x42a029
cmp dword [esi + 0x100], 0xfffffffa
je case.0x429deb.5
mov eax, dword [esi + 0x100]
cmp eax, 1
je case.0x429deb.5
cmp eax, 2
je case.0x429deb.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x42a060
mov ecx, dword [ebp - 4]
mov byte [ecx + eax], 0xd
mov eax, dword [esi + 0x30]
inc ecx
mov byte [ecx + eax], 0xa
inc ecx
mov dword [ebp - 4], ecx
jmp case.0x429deb.5
mov ecx, dword [esi + 0x28]
mov eax, dword [ebp - 4]
mov byte [eax + ecx], 0xd
mov edx, dword [esi + 0x28]
inc eax
mov byte [eax + edx], 0xa
inc eax
mov dword [ebp - 4], eax
jmp case.0x429deb.5
cmp byte [esi + 0x112], 1
je case.0x429deb.5
test byte [esi + 0x120], 4
jne case.0x429deb.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42a0a5
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
jmp 0x42a0a7
xor eax, eax
test eax, eax
je 0x42a0e6
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa4], eax
je case.0x429deb.5
mov eax, dword [0x47eb44]
test eax, eax
je 0x42a0e6
test byte [esi + 0x124], 0x40
je 0x42a0d6
cmp dword [esi + 0x100], 0xfffffffa
je case.0x429deb.5
mov eax, dword [esi + 0x100]
cmp eax, 1
je case.0x429deb.5
cmp eax, 2
je case.0x429deb.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x42a0fa
mov ecx, dword [ebp - 4]
mov byte [ecx + eax], 0xd
inc ecx
mov dword [ebp - 4], ecx
jmp case.0x429deb.5
mov edx, dword [esi + 0x28]
mov eax, dword [ebp - 4]
mov byte [edx + eax], 0xd
inc eax
mov dword [ebp - 4], eax
jmp case.0x429deb.5
push 0x305
push str.E:_forrtl_build_for_put.c
push 2
push 0xc0000008
call fcn.00423e10
add esp, 0x10
mov eax, dword [esi + 0x30]
test eax, eax
mov edi, eax
jne 0x42a12f
mov edi, dword [esi + 0x28]
movsx ecx, byte [esi + 0x112]
dec ecx
je 0x42a3c1
mov eax, dword [esi + 0x7c]
dec ecx
je 0x42a1b6
test eax, eax
je 0x42a150
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
jmp 0x42a152
xor eax, eax
test eax, eax
je 0x42a1a9
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa4], eax
je 0x42ab45
mov eax, dword [0x47eb44]
test eax, eax
je 0x42a1a9
test byte [esi + 0x124], 0x40
je 0x42a189
cmp dword [esi + 0x100], 0xfffffffa
je 0x42ab45
mov eax, dword [esi + 0x100]
cmp eax, 1
je 0x42ab45
cmp eax, 2
jne 0x42a1a9
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x20], 1
jmp 0x42a7c4
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
jmp 0x42a36a
test eax, eax
je 0x42a1c1
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42a1c3
xor ecx, ecx
test ecx, ecx
jne 0x42a1d6
test eax, eax
je 0x42a1d0
mov cl, byte [eax + 0x1d]
jmp 0x42a1d2
xor ecx, ecx
test ecx, ecx
je 0x42a24b
test eax, eax
je 0x42a1e3
xor ecx, ecx
mov cl, byte [eax + 0x20]
mov eax, ecx
jmp 0x42a1e5
xor eax, eax
test eax, eax
je 0x42a228
mov ebx, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
call ebx
cmp dword [esi + 0xa4], eax
je 0x42a251
mov eax, dword [0x47eb44]
test eax, eax
je 0x42a22e
test byte [esi + 0x124], 0x40
je 0x42a216
cmp dword [esi + 0x100], 0xfffffffa
je 0x42a251
mov eax, dword [esi + 0x100]
cmp eax, 1
je 0x42a251
cmp eax, 2
je 0x42a251
jmp 0x42a22e
mov ebx, dword [sym.imp.KERNEL32.dll_GetStdHandle]
lea edx, [ebp + 8]
push 1
push edx
push esi
mov byte [ebp + 8], 0xa
call fcn.0042b000
add esp, 0xc
cmp eax, 0xffffffff
jne 0x42a251
jmp 0x42a7eb
mov ebx, dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42a25c
mov byte [eax + 0x1c], 0
mov ecx, dword [esi + 0x120]
test ecx, 0x8000000
je 0x42a27a
mov eax, dword [esi + 0x11c]
test ah, 1
je 0x42a27a
test ah, 0x10
jne 0x42a2f2
cmp byte [esi + 0x110], 6
je 0x42a2f2
test cl, 4
jne 0x42a2f2
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42a298
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
jmp 0x42a29a
xor eax, eax
test eax, eax
je 0x42a2d5
push 0xfffffffffffffff5
call ebx
cmp dword [esi + 0xa4], eax
je 0x42a2f2
mov eax, dword [0x47eb44]
test eax, eax
je 0x42a2d5
test byte [esi + 0x124], 0x40
je 0x42a2c5
cmp dword [esi + 0x100], 0xfffffffa
je 0x42a2f2
mov eax, dword [esi + 0x100]
cmp eax, 1
je 0x42a2f2
cmp eax, 2
je 0x42a2f2
mov eax, dword [esi + 0x30]
test eax, eax
je 0x42a2e5
mov edx, dword [ebp - 4]
mov byte [edx + eax], 0xa
jmp 0x42a2ef
mov eax, dword [esi + 0x28]
mov ecx, dword [ebp - 4]
mov byte [eax + ecx], 0xa
inc dword [ebp - 4]
mov edx, dword [esi + 0x120]
mov eax, dword [esi + 0x7c]
and edx, 0xfffffffb
test eax, eax
mov dword [esi + 0x120], edx
je 0x42a311
xor edx, edx
mov dl, byte [eax + 0x1e]
mov eax, edx
jmp 0x42a313
xor eax, eax
test eax, eax
je 0x42a366
push 0xfffffffffffffff5
call ebx
cmp dword [esi + 0xa4], eax
je 0x42a4b1
mov eax, dword [0x47eb44]
test eax, eax
je 0x42a366
test byte [esi + 0x124], 0x40
je 0x42a346
cmp dword [esi + 0x100], 0xfffffffa
je 0x42a4b1
mov eax, dword [esi + 0x100]
cmp eax, 1
je 0x42a4b1
cmp eax, 2
jne 0x42a366
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x20], 1
jmp 0x42a7c4
push 0xfffffffffffffff5
call ebx
cmp dword [esi + 0xa4], eax
je 0x42a763
mov eax, dword [0x47eb44]
test eax, eax
je 0x42a7c4
test byte [esi + 0x124], 0x40
je 0x42a399
cmp dword [esi + 0x100], 0xfffffffa
je 0x42a763
mov eax, dword [esi + 0x100]
cmp eax, 1
je 0x42a763
cmp eax, 2
jne 0x42a7c4
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42a7c4
jmp 0x42a7c0
mov ebx, dword [ebp - 4]
cmp ebx, 5
jne 0x42a3ce
mov ebx, 6
test eax, eax
je 0x42a3d7
lea edi, [eax + 4]
jmp 0x42a3dd
mov edi, dword [esi + 0x28]
add edi, 4
sub ebx, 4
test eax, eax
mov dword [ebp - 4], ebx
je 0x42a3ed
movsx eax, byte [eax + 5]
jmp 0x42a3f4
mov ecx, dword [esi + 0x28]
movsx eax, byte [ecx + 5]
cmp eax, 0x31
ja case.0x42a405.5
xor edx, edx
mov dl, byte [eax + 0x42adf4]
jmp dword [edx*4 + 0x42addc]
mov eax, dword [esi + 0x120]
test ah, 1
je 0x42a513
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa4], eax
je 0x42a45e
mov eax, dword [0x47eb44]
test eax, eax
je 0x42a513
test byte [esi + 0x124], 0x40
je 0x42a44a
cmp dword [esi + 0x100], 0xfffffffa
je 0x42a45e
mov eax, dword [esi + 0x100]
cmp eax, 1
je 0x42a45e
cmp eax, 2
jne 0x42a513
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42a46c
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x42a46e
xor ecx, ecx
test ecx, ecx
mov ecx, dword [esi + 0x120]
je 0x42a4bd
test ecx, 0x8000000
je 0x42a495
test eax, eax
je 0x42a48b
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42a48d
xor ecx, ecx
test ecx, ecx
je 0x42a495
inc edi
dec ebx
jmp 0x42a49b
add edi, 2
sub ebx, 2
test eax, eax
mov dword [ebp - 4], ebx
je 0x42a4a6
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42a4b1
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x20], 1
jmp 0x42a7c4
test ecx, 0x8000000
je 0x42a4db
test eax, eax
je 0x42a4d2
xor ecx, ecx
mov cl, byte [eax + 0x20]
mov eax, ecx
jmp 0x42a4d4
xor eax, eax
test eax, eax
je 0x42a4db
inc edi
jmp 0x42a4e2
add edi, 2
dec ebx
mov dword [ebp - 4], 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 0x42a763
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42a7c4
jmp 0x42a7c0
add edi, 2
dec ebx
mov dword [ebp - 4], 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 0x42a763
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42a7c4
jmp 0x42a7c0
mov eax, dword [esi + 0x120]
test ah, 1
je 0x42a6f8
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa4], eax
je 0x42a59d
mov eax, dword [0x47eb44]
test eax, eax
je 0x42a6f8
test byte [esi + 0x124], 0x40
je 0x42a589
cmp dword [esi + 0x100], 0xfffffffa
je 0x42a59d
mov eax, dword [esi + 0x100]
cmp eax, 1
je 0x42a59d
cmp eax, 2
jne 0x42a6f8
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42a5ab
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x42a5ad
xor ecx, ecx
test ecx, ecx
je 0x42a64e
mov edx, dword [esi + 0x120]
and edx, 0x8000000
je 0x42a5da
test eax, eax
je 0x42a5ce
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42a5d0
xor ecx, ecx
test ecx, ecx
je 0x42a5da
inc edi
jmp 0x42ab2b
test eax, eax
je 0x42a5e5
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42a5e7
xor ecx, ecx
test ecx, ecx
jne 0x42a607
test eax, eax
je 0x42a5f6
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42a5f8
xor eax, eax
test eax, eax
jne 0x42a607
add edi, 2
sub ebx, 2
jmp 0x42ab2c
test edx, edx
je 0x42a61d
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x42ab2c
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42ab3a
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42ab45
mov byte [eax + 0x1d], 0
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x20], 1
jmp 0x42a7c4
test eax, eax
je 0x42a659
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42a65b
xor ecx, ecx
test ecx, ecx
je 0x42a67d
test dword [esi + 0x120], 0x8000000
je 0x42a671
inc edi
jmp 0x42a746
add edi, 2
dec ebx
mov dword [ebp - 4], ebx
jmp 0x42a746
test eax, eax
je 0x42a688
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42a68a
xor ecx, ecx
test ecx, ecx
jne 0x42a6c3
test eax, eax
je 0x42a699
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42a69b
xor eax, eax
test eax, eax
jne 0x42a6c3
test dword [esi + 0x120], 0x8000000
je 0x42a742
mov byte [edi], 0xd
mov byte [edi + 1], 0xa
mov byte [edi + ebx], 0xd
inc ebx
mov dword [ebp - 4], ebx
jmp 0x42a74b
test dword [esi + 0x120], 0x8000000
je 0x42a6e7
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
mov dword [ebp - 4], ebx
jmp 0x42a74b
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov byte [edi + ebx], 0xd
inc ebx
mov dword [ebp - 4], ebx
jmp 0x42a74b
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42a706
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42a708
xor ecx, ecx
test ecx, ecx
jne 0x42a857
test eax, eax
je 0x42a71b
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42a71d
xor eax, eax
test eax, eax
jne 0x42a857
test dword [esi + 0x120], 0x8000000
je 0x42a742
mov byte [edi], 0xd
mov byte [edi + 1], 0xa
mov byte [edi + ebx], 0xd
inc ebx
mov dword [ebp - 4], ebx
jmp 0x42a74b
inc edi
mov byte [edi], 0xa
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 0x42a763
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42a7c4
jmp 0x42a7c0
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x42a77b
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42a77d
xor ecx, ecx
test ecx, ecx
jne 0x42a799
test eax, eax
je 0x42a78c
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42a78e
xor eax, eax
test eax, eax
jne 0x42a799
inc edi
dec ebx
mov dword [ebp - 4], ebx
jmp 0x42a79c
mov byte [edi], 0xa
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 0x42a7b9
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42a7c4
mov byte [eax + 0x20], 0
mov ecx, dword [ebp - 4]
push ecx
push edi
push esi
call fcn.0042b000
mov edi, dword [esi + 0x11c]
add esp, 0xc
and edi, 0xfbffffff
cmp eax, 0xffffffff
mov dword [esi + 0x11c], edi
mov ecx, edi
jne 0x42a803
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 0x42a84e
mov edx, dword [esi + 0xa4]
xor edi, edi
push edx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x42a82f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xa8], eax
mov edi, 0xc0000026
mov ecx, dword [esi + 0x11c]
and ecx, 0x7fffffff
test edi, edi
mov dword [esi + 0x11c], ecx
je 0x42a84e
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
test dword [esi + 0x120], 0x8000000
je 0x42a87e
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
mov dword [ebp - 4], ebx
jmp 0x42a74b
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov byte [edi + ebx], 0xd
inc ebx
mov dword [ebp - 4], ebx
jmp 0x42a74b
mov eax, dword [esi + 0x120]
test ah, 1
je 0x42aa03
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa4], eax
je 0x42a8e4
mov eax, dword [0x47eb44]
test eax, eax
je 0x42aa03
test byte [esi + 0x124], 0x40
je 0x42a8d0
cmp dword [esi + 0x100], 0xfffffffa
je 0x42a8e4
mov eax, dword [esi + 0x100]
cmp eax, 1
je 0x42a8e4
cmp eax, 2
jne 0x42aa03
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x42a8f3
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x42a8f5
xor ecx, ecx
test ecx, ecx
je 0x42a971
mov edx, dword [esi + 0x120]
and edx, 0x8000000
je 0x42a91c
test eax, eax
je 0x42a912
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42a914
xor ecx, ecx
test ecx, ecx
jne 0x42ab2b
test eax, eax
je 0x42a927
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42a929
xor ecx, ecx
test ecx, ecx
jne 0x42a947
test eax, eax
je 0x42a938
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42a93a
xor eax, eax
test eax, eax
jne 0x42a947
inc edi
sub ebx, 2
jmp 0x42ab2c
test edx, edx
je 0x42a969
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 0x42ab2c
mov byte [edi], 0xc
jmp 0x42ab2b
test eax, eax
je 0x42a97c
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42a97e
xor ecx, ecx
test ecx, ecx
je 0x42a99c
test dword [esi + 0x120], 0x8000000
jne 0x42a746
inc edi
dec ebx
mov dword [ebp - 4], ebx
jmp 0x42a746
test eax, eax
je 0x42a9a7
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42a9a9
xor ecx, ecx
test ecx, ecx
jne 0x42a9f1
test eax, eax
je 0x42a9b8
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42a9ba
xor eax, eax
test eax, eax
jne 0x42a9f1
test dword [esi + 0x120], 0x8000000
je 0x42aa8b
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
mov dword [ebp - 4], ebx
jmp 0x42a74b
test dword [esi + 0x120], 0x8000000
je 0x42aa8b
jmp 0x42aa64
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x42aa12
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42aa14
xor ecx, ecx
test ecx, ecx
jne 0x42aa58
test eax, eax
je 0x42aa23
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42aa25
xor eax, eax
test eax, eax
jne 0x42aa58
test dword [esi + 0x120], 0x8000000
je 0x42aa8b
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
mov dword [ebp - 4], ebx
jmp 0x42a74b
test dword [esi + 0x120], 0x8000000
je 0x42aa8b
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
mov dword [ebp - 4], ebx
jmp 0x42a74b
mov byte [edi], 0xc
jmp 0x42a746
mov eax, dword [esi + 0x120]
test ah, 1
je 0x42abd2
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa4], eax
je 0x42aae5
mov eax, dword [0x47eb44]
test eax, eax
je 0x42abd2
test byte [esi + 0x124], 0x40
je 0x42aad1
cmp dword [esi + 0x100], 0xfffffffa
je 0x42aae5
mov eax, dword [esi + 0x100]
cmp eax, 1
je 0x42aae5
cmp eax, 2
jne 0x42abd2
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42aaf3
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x42aaf5
xor ecx, ecx
test ecx, ecx
je 0x42abb0
test eax, eax
je 0x42ab08
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42ab0a
xor ecx, ecx
test ecx, ecx
jne 0x42ab27
test eax, eax
je 0x42ab19
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42ab1b
xor eax, eax
test eax, eax
jne 0x42ab27
add edi, 2
sub ebx, 2
jmp 0x42ab2c
inc edi
mov byte [edi], 0xa
dec ebx
mov eax, dword [esi + 0x7c]
mov dword [ebp - 4], ebx
test eax, eax
je 0x42ab3a
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42ab45
mov byte [eax + 0x1d], 0
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x20], 1
jmp 0x42a7c4
test eax, eax
je 0x42ab5c
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42ab5e
xor ecx, ecx
test ecx, ecx
je 0x42ab7c
test dword [esi + 0x120], 0x8000000
jne 0x42a746
inc edi
dec ebx
mov dword [ebp - 4], ebx
jmp 0x42a746
test eax, eax
je 0x42ab87
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42ab89
xor ecx, ecx
test ecx, ecx
jne 0x42a743
test eax, eax
je 0x42ab9c
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42ab9e
xor eax, eax
test eax, eax
jne 0x42a743
inc edi
dec ebx
mov dword [ebp - 4], ebx
jmp 0x42a746
test eax, eax
je 0x42abbb
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42abbd
xor ecx, ecx
test ecx, ecx
je 0x42abd5
mov eax, dword [esi + 0x7c]
add edi, 2
sub ebx, 2
mov dword [ebp - 4], ebx
jmp 0x42acab
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42abe0
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42abe2
xor ecx, ecx
test ecx, ecx
jne 0x42ac08
test eax, eax
je 0x42abf1
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42abf3
xor eax, eax
test eax, eax
jne 0x42ac08
mov eax, dword [esi + 0x7c]
add edi, 2
sub ebx, 2
mov dword [ebp - 4], ebx
jmp 0x42acab
inc edi
dec ebx
mov dword [ebp - 4], ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
jmp 0x42acab
mov eax, dword [esi + 0x120]
test ah, 1
je 0x42acd0
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa4], eax
je 0x42ac66
mov eax, dword [0x47eb44]
test eax, eax
je 0x42acd0
test byte [esi + 0x124], 0x40
je 0x42ac56
cmp dword [esi + 0x100], 0xfffffffa
je 0x42ac66
mov eax, dword [esi + 0x100]
cmp eax, 1
je 0x42ac66
cmp eax, 2
jne 0x42acd0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42ac74
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x42ac76
xor ecx, ecx
test ecx, ecx
je 0x42aca2
add edi, 2
sub ebx, 2
test eax, eax
mov dword [ebp - 4], ebx
je 0x42ac8b
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42ac96
mov byte [eax + 0x1d], 0
mov ecx, dword [esi + 0x7c]
mov byte [ecx + 0x20], 1
jmp 0x42a7c4
add edi, 2
sub ebx, 2
mov dword [ebp - 4], ebx
test eax, eax
je 0x42acb3
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 0x42a7c4
jmp 0x42a7c0
mov eax, dword [esi + 0x7c]
add edi, 2
sub ebx, 2
test eax, eax
mov dword [ebp - 4], ebx
je 0x42ace4
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 0x42a7c4
jmp 0x42a7c0
mov eax, dword [esi + 0x120]
test ah, 1
je 0x42a76c
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [esi + 0xa4], eax
je 0x42ad53
mov eax, dword [0x47eb44]
test eax, eax
je 0x42a76c
test byte [esi + 0x124], 0x40
je 0x42ad3f
cmp dword [esi + 0x100], 0xfffffffa
je 0x42ad53
mov eax, dword [esi + 0x100]
cmp eax, 1
je 0x42ad53
cmp eax, 2
jne 0x42a76c
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x42ad62
xor ecx, ecx
mov cl, byte [eax + 0x1e]
jmp 0x42ad64
xor ecx, ecx
test ecx, ecx
je 0x42ab51
test dword [esi + 0x120], 0x8000000
je 0x42ad8d
test eax, eax
je 0x42ad83
xor ecx, ecx
mov cl, byte [eax + 0x20]
jmp 0x42ad85
xor ecx, ecx
test ecx, ecx
jne 0x42ab2b
test eax, eax
je 0x42ad98
xor ecx, ecx
mov cl, byte [eax + 0x1c]
jmp 0x42ad9a
xor ecx, ecx
test ecx, ecx
jne 0x42ab28
test eax, eax
je 0x42adad
mov cl, byte [eax + 0x1d]
mov eax, ecx
jmp 0x42adaf
xor eax, eax
test eax, eax
jne 0x42ab28
inc edi
sub ebx, 2
jmp 0x42ab2c