Function at 0x4b0f70
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, ecx
push edi
push esi
push ebx
sub esp, 0xdc
test eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], edx
sete byte [esp + 0x4f]
je 0x4b1488
mov dword [esp + 0x18], 0
mov ebx, dword [esp + 0x38]
call sym.zsh.exe_mb_charinit
mov dword [esp + 0x5c], ebx
cmp byte [ebx], 0
je 0x4b1bcd
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x44], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x28], 0
jmp 0x4b106f
mov edx, dword [esp + 0x5c]
movsx cx, byte [edx]
mov eax, ecx
movzx ecx, cx
cmp al, 0x83
jne 0x4b0fff
movzx ecx, byte [edx + 1]
xor ecx, 0x20
movsx cx, cl
movzx ecx, cx
mov dword [esp + 0x60], ecx
mov eax, 1
mov esi, dword [esp + 0xf0]
test esi, esi
je 0x4b101c
cmp ecx, 0x25
je 0x4b1348
mov edi, dword [esp + 0x28]
add ebp, eax
mov eax, dword [sym.zsh.exe_zterm_columns]
mov edx, dword [0x522e34]
mov dword [esp + 0x2c], edi
mov edi, ebp
sar edi, 0x1f
mov dword [esp + 0x18], eax
add eax, 0xfffffffe
mov dword [esp + 0x1c], edx
adc edx, 0xffffffff
cmp ebp, eax
sbb edi, edx
jge 0x4b10a0
cmp ecx, 0xa
je 0x4b13b0
cmp dword [esp + 0x20], 1
je 0x4b1143
add ebx, dword [esp + 0x5c]
mov dword [esp + 0x5c], ebx
cmp byte [ebx], 0
je 0x4b129d
lea eax, [esp + 0x60]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym.zsh.exe_mb_metacharlenconv
mov ebx, eax
mov eax, dword [esp + 0x60]
cmp eax, 0xffffffff
je 0x4b0fe0
mov dword [esp], eax
call sym.zsh.exe_zwcwidth
mov ecx, dword [esp + 0x60]
jmp 0x4b1008
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4b1400
cmp ecx, 0xa
jne 0x4b1053
cmp dword [esp + 0x20], 1
je 0x4b10f8
lea eax, [ebp - 1]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
xor ebp, ebp
mov dword [esp + 4], eax
call sub.cyggcc_s_1.dll___divdi3
mov edi, dword [esp + 0x28]
lea eax, [edi + eax + 1]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
jmp 0x4b105e
mov eax, dword [0x4eb870]
test eax, eax
js 0x4b110f
mov edi, dword [0x5215f8]
test edi, edi
jne 0x4b14bb
lea eax, [ebp - 1]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
xor ebp, ebp
mov dword [esp + 4], eax
call sub.cyggcc_s_1.dll___divdi3
mov edi, dword [esp + 0x28]
lea eax, [edi + eax + 1]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
mov eax, dword [0x4eb86c]
mov edi, ebp
mov dword [esp + 0x20], ebp
sar edi, 0x1f
mov dword [esp + 0x24], edi
sub eax, 1
cmp eax, dword [esp + 0xf4]
jne 0x4b119b
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call sub.cyggcc_s_1.dll___moddi3
mov ecx, eax
mov eax, dword [esp + 0x18]
mov esi, edx
mov edx, dword [esp + 0x1c]
add eax, 0xffffffff
adc edx, 0xffffffff
xor ecx, eax
xor esi, edx
or esi, ecx
je 0x4b1420
lea esi, [ebx - 1]
test ebx, ebx
jne 0x4b11c7
jmp 0x4b1210
lea ecx, [eax + 1]
mov dword [esp + 4], edx
mov ebx, esi
mov dword [esp + 0x5c], ecx
movsx eax, byte [eax]
lea esi, [ebx - 1]
mov dword [esp], eax
call sub.cygwin1.dll_putc
test ebx, ebx
je 0x4b11fd
mov eax, dword [esp + 0x5c]
mov edx, dword [sym.zsh.exe_shout]
cmp byte [eax], 0x83
jne 0x4b11a8
lea ecx, [eax + 2]
mov dword [esp + 4], edx
sub ebx, 2
mov dword [esp + 0x5c], ecx
movzx eax, byte [eax + 1]
lea esi, [ebx - 1]
xor eax, 0x20
movsx eax, al
mov dword [esp], eax
call sub.cygwin1.dll_putc
test ebx, ebx
jne 0x4b11c7
mov eax, dword [sym.zsh.exe_zterm_columns]
mov edx, dword [0x522e34]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.cyggcc_s_1.dll___moddi3
or edx, eax
jne 0x4b1288
mov esi, dword [esp + 0x38]
test esi, esi
je 0x4b126d
mov eax, dword [sym.zsh.exe_shout]
mov dword [esp + 8], 2
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov dword [esp], 0x4fd0a9
add dword [esp + 0xf4], 1
call sub.cygwin1.dll_fwrite
mov ecx, dword [0x529398]
test ecx, ecx
je 0x4b1288
sub dword [0x529394], 1
je 0x4b14e3
lea esi, [esi]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x20], 1
cmp byte [ebx], 0
jne 0x4b106f
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov eax, dword [sym.zsh.exe_zterm_columns]
mov edx, dword [0x522e34]
mov edi, esi
sar edi, 0x1f
test ebp, ebp
je 0x4b1300
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 4], edi
call sub.cyggcc_s_1.dll___moddi3
or edx, eax
je 0x4b1b06
mov ecx, dword [0x4eb870]
mov eax, dword [sym.zsh.exe_zterm_columns]
mov edx, dword [0x522e34]
test ecx, ecx
js 0x4b1300
mov ebp, dword [0x5215f8]
test ebp, ebp
jne 0x4b1562
lea esi, [esi]
mov ebx, dword [esp + 0x40]
test ebx, ebx
je 0x4b1319
cmp byte [esp + 0x4f], 0
je 0x4b1319
mov dword [0x529380], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 4], edi
call sub.cyggcc_s_1.dll___divdi3
add eax, dword [esp + 0x2c]
mov dword [0x529378], eax
add esp, 0xdc
pop ebx
pop esi
pop edi
pop ebp
ret
add ebx, dword [esp + 0x5c]
mov dword [esp + 0x5c], ebx
movzx eax, byte [ebx]
test al, al
je 0x4b1b30
xor esi, esi
test byte [eax + eax + sym.zsh.exe_typtab], 1
jne 0x4b1460
lea eax, [esp + 0x60]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym.zsh.exe_mb_metacharlenconv
mov edi, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov ebx, eax
cmp edi, 0xffffffff
je 0x4b1438
mov eax, dword [esp + 0x28]
add ebx, edx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x2c], eax
lea eax, [edi - 0x25]
cmp eax, 0x56
ja case.0x4b13a8.38
jmp dword [eax*4 + 0x4fd0ac]
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x4b10b1
lea eax, [ebp - 1]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
xor ebp, ebp
mov dword [esp + 4], eax
call sub.cyggcc_s_1.dll___divdi3
mov edi, dword [esp + 0x28]
mov dword [esp + 0x20], 2
lea eax, [edi + eax + 1]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
jmp 0x4b105e
mov dword [esp + 0x20], 2
cmp ecx, 0xa
jne 0x4b105e
jmp 0x4b10b8
add ebx, dword [esp + 0x5c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x5c], ebx
jmp case.0x4b13a8.38
movsx di, byte [edx]
mov eax, edi
movzx edi, di
cmp al, 0x83
jne 0x4b1453
movzx eax, byte [edx + 1]
xor eax, 0x20
movsx di, al
movzx edi, di
mov dword [esp + 0x60], edi
jmp 0x4b138e
lea eax, [esp + 0x5c]
mov dword [esp], ebx
mov dword [esp + 8], 0xa
mov dword [esp + 4], eax
call sym.zsh.exe_zstrtol
mov ebx, dword [esp + 0x5c]
mov esi, eax
jmp 0x4b136b
mov edi, dword [0x4eb870]
test edi, edi
js 0x4b1af3
mov ebx, dword [0x529368]
mov dword [esp + 0x18], 0xffffffff
test ebx, ebx
jne 0x4b0f9d
mov dword [0x529378], 0
jmp 0x4b1336
mov dword [esp], 0xe
call sym.zsh.exe_tcout
mov edi, dword [sym.zsh.exe_zterm_columns]
lea eax, [ebp - 1]
mov ebp, dword [0x522e34]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebp
jmp 0x4b111a
mov eax, dword [esp + 0xf4]
call fcn.004b1c80
test eax, eax
je 0x4b1288
mov eax, dword [esp + 0xf8]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x18], ebp
mov dword [eax], 1
test ebx, ebx
je 0x4b1521
cmp byte [esp + 0x4f], 0
je 0x4b1521
mov dword [0x529380], 0xffffffff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4b1554
sub eax, 1
mov edx, dword [0x522e34]
mov ecx, eax
mov eax, dword [sym.zsh.exe_zterm_columns]
mov dword [esp], ecx
sar ecx, 0x1f
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], ecx
call sub.cyggcc_s_1.dll___divdi3
add dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov dword [0x529378], eax
jmp 0x4b1336
mov dword [esp], 0xe
call sym.zsh.exe_tcout
mov eax, dword [sym.zsh.exe_zterm_columns]
mov edx, dword [0x522e34]
jmp 0x4b1300
xor eax, eax
cmp edi, 0x46
sete al
cmp byte [ebx], 0x7b
je 0x4b1b51
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], 0
call sym.zsh.exe_match_colour
mov ecx, eax
mov eax, edx
mov edx, ecx
xor dh, 8
or edx, eax
je 0x4b1a55
mov edx, dword [esp + 0x20]
test edx, edx
je 0x4b1a55
xor edx, edx
cmp edi, 0x46
mov dword [esp + 0xc], 0
setne dl
mov dword [esp], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call sym.zsh.exe_set_colour_attribute
mov ebx, dword [esp + 0x5c]
jmp case.0x4b13a8.38
mov edx, dword [esp + 0x38]
test edx, edx
jne case.0x4b13a8.38
mov eax, dword [0x528fd4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xf4]
add eax, 1
jmp 0x4b18d0
mov eax, dword [esp + 0x38]
test eax, eax
jne case.0x4b13a8.38
mov edx, dword [0x528fd0]
mov edi, dword [esp + 0x40]
mov eax, dword [0x52937c]
mov dword [esp + 0xc], edx
test edi, edi
cmove eax, dword [0x5293b4]
mov dword [esp + 8], eax
lea eax, [esp + 0x64]
mov dword [esp + 4], str._d__d
mov esi, eax
mov dword [esp], eax
call sub.cygwin1.dll_sprintf
cmp dword [esp + 0x20], 1
jne 0x4b1a55
mov dword [esp], esi
call sub.cygwin1.dll_strlen
mov edx, dword [sym.zsh.exe_zterm_columns]
mov ebx, dword [0x522e34]
mov ecx, edx
lea edx, [eax + ebp]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ecx
mov edi, edx
add ecx, 0xffffffff
adc ebx, 0xffffffff
sar edi, 0x1f
cmp edx, ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x1c]
sbb edi, ebx
jl 0x4b1ab0
mov ecx, dword [esp + 0x30]
sub ecx, 2
add ecx, eax
sub ecx, edx
mov byte [esp + ecx + 0x64], 0
add ebp, ecx
mov eax, dword [sym.zsh.exe_shout]
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.cygwin1.dll_fputs
mov ebx, dword [esp + 0x5c]
jmp case.0x4b13a8.38
mov ecx, dword [esp + 0x38]
test ecx, ecx
je case.0x4b13a8.38
mov eax, dword [esp + 0x40]
mov dword [esp + 4], 0x4fd08d
mov dword [esp + 8], eax
lea eax, [esp + 0x64]
mov dword [esp], eax
mov esi, eax
call sub.cygwin1.dll_sprintf
cmp dword [esp + 0x20], 1
je 0x4b1c1d
mov dword [esp], esi
call sub.cygwin1.dll_strlen
mov ebx, dword [esp + 0x5c]
add ebp, eax
jmp case.0x4b13a8.38
mov eax, dword [esp + 0x38]
test eax, eax
jne case.0x4b13a8.38
mov ecx, dword [0x528fd4]
lea eax, [ecx - 1]
cmp eax, dword [esp + 0xf4]
je 0x4b1b8d
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4b1c33
mov eax, dword [0x529380]
test eax, eax
je 0x4b1c53
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], str._d__
add eax, 1
imul eax, eax, 0x64
cdq
idiv ecx
mov dword [esp + 8], eax
lea eax, [esp + 0x64]
mov dword [esp], eax
mov esi, eax
call sub.cygwin1.dll_sprintf
jmp 0x4b164f
mov eax, dword [esp + 0x20]
mov dword [esp + 0x3c], 0
test eax, eax
je case.0x4b13a8.38
mov dword [esp], 0x16
call sym.zsh.exe_tcout
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4b1a3d
mov dword [esp], 0x12
call sym.zsh.exe_tcout
jmp 0x4b1a3d
mov esi, dword [esp + 0x20]
mov dword [esp + 0x44], 0
test esi, esi
je case.0x4b13a8.38
mov dword [esp], 0x17
call sym.zsh.exe_tcout
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x4b1ab7
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4b17f7
mov dword [esp], 0x13
call sym.zsh.exe_tcout
mov dword [esp + 0x44], 0
mov ebx, dword [esp + 0x5c]
jmp case.0x4b13a8.38
movsx eax, byte [ebx]
add ebp, esi
mov esi, dword [esp + 0x20]
test al, al
jne 0x4b1862
jmp case.0x4b13a8.38
test esi, esi
je 0x4b184b
mov edx, dword [sym.zsh.exe_shout]
cmp al, 0x83
jne 0x4b183f
lea eax, [ebx + 1]
mov dword [esp + 0x5c], eax
movzx eax, byte [ebx + 1]
xor eax, 0x20
movsx eax, al
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.cygwin1.dll_putc
mov eax, dword [esp + 0x5c]
lea ebx, [eax + 1]
mov dword [esp + 0x5c], ebx
movsx eax, byte [eax + 1]
test al, al
je case.0x4b13a8.38
cmp al, 0x25
jne 0x4b1820
cmp byte [ebx + 1], 0x7d
je 0x4b1b45
test esi, esi
je 0x4b184b
mov edx, dword [sym.zsh.exe_shout]
jmp 0x4b183f
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x20]
test eax, eax
je case.0x4b13a8.38
mov dword [esp], 0x13
call sym.zsh.exe_tcout
mov ebx, dword [esp + 0x5c]
jmp case.0x4b13a8.38
mov esi, dword [esp + 0x38]
test esi, esi
jne case.0x4b13a8.38
mov edx, dword [0x528fd0]
mov ebx, dword [esp + 0x40]
mov eax, dword [0x52937c]
mov dword [esp + 0xc], edx
test ebx, ebx
cmove eax, dword [0x5293b4]
lea ebx, [esp + 0x9a]
mov dword [esp + 8], eax
mov dword [esp + 4], str._d__d
mov dword [esp], ebx
call sub.cygwin1.dll_sprintf
lea eax, [esp + 0x64]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.__9s
mov esi, eax
mov dword [esp], eax
call sub.cygwin1.dll_sprintf
jmp 0x4b164f
mov edi, dword [esp + 0x38]
test edi, edi
jne case.0x4b13a8.38
mov ecx, dword [0x528fd4]
lea eax, [ecx - 1]
cmp eax, dword [esp + 0xf4]
je 0x4b1b8d
mov esi, dword [esp + 0x40]
test esi, esi
je 0x4b1bda
mov ebx, dword [0x529380]
test ebx, ebx
je 0x4b1bfb
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], str._2d__
add eax, 1
imul eax, eax, 0x64
cdq
idiv ecx
mov dword [esp + 8], eax
lea eax, [esp + 0x64]
mov dword [esp], eax
mov esi, eax
call sub.cygwin1.dll_sprintf
jmp 0x4b164f
mov eax, dword [esp + 0x20]
test eax, eax
je case.0x4b13a8.38
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp], 0x200
mov dword [esp + 4], 0
call sym.zsh.exe_set_colour_attribute
mov ebx, dword [esp + 0x5c]
jmp case.0x4b13a8.38
mov ecx, dword [esp + 0x38]
test ecx, ecx
jne case.0x4b13a8.38
mov eax, dword [0x528fd4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xf4]
add eax, 1
jmp 0x4b1635
cmp dword [esp + 0x20], 1
je 0x4b1baf
add ebp, 1
jmp case.0x4b13a8.38
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x48], eax
test edx, edx
je case.0x4b13a8.38
mov dword [esp], 0x12
call sym.zsh.exe_tcout
mov ebx, dword [esp + 0x5c]
jmp case.0x4b13a8.38
mov eax, dword [esp + 0x20]
mov dword [esp + 0x48], 0
test eax, eax
je case.0x4b13a8.38
mov dword [esp], 0x15
call sym.zsh.exe_tcout
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x4b1c66
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4b17f7
mov dword [esp], 0x14
call sym.zsh.exe_tcout
mov ebx, dword [esp + 0x5c]
jmp case.0x4b13a8.38
mov eax, dword [esp + 0xf0]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x44], eax
test edi, edi
je case.0x4b13a8.38
jmp 0x4b1a49
mov eax, dword [esp + 0x20]
test eax, eax
je case.0x4b13a8.38
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0x100
mov dword [esp + 4], 0
call sym.zsh.exe_set_colour_attribute
mov ebx, dword [esp + 0x5c]
jmp case.0x4b13a8.38
mov ebp, edx
jmp 0x4b16ae
mov dword [esp], 0x12
call sym.zsh.exe_tcout
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4b17f7
mov dword [esp], 0x13
call sym.zsh.exe_tcout
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x3c], eax
jmp 0x4b1a3d
mov dword [esp + 0x18], 0
mov ebx, dword [0x529364]
jmp 0x4b0f9d
mov eax, dword [sym.zsh.exe_shout]
mov dword [esp + 8], 2
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov dword [esp], 0x4fd0a9
call sub.cygwin1.dll_fwrite
jmp 0x4b12d9
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
jmp 0x4b12a5
add ebx, 2
mov dword [esp + 0x5c], ebx
jmp case.0x4b13a8.38
mov dword [esp + 4], eax
lea eax, [esp + 0x5c]
add ebx, 1
mov dword [esp + 8], 0
mov dword [esp], eax
mov dword [esp + 0x5c], ebx
call sym.zsh.exe_match_colour
mov ecx, eax
mov eax, edx
mov edx, dword [esp + 0x5c]
cmp byte [edx], 0x7d
jne 0x4b15a7
add edx, 1
mov dword [esp + 0x5c], edx
jmp 0x4b15a7
lea eax, [esp + 0x64]
mov dword [esp + 0x64], 0x74746f42
mov esi, eax
mov eax, 0x6d6f
mov byte [esp + 0x6a], 0
mov word [esp + 0x68], ax
jmp 0x4b164f
mov eax, dword [sym.zsh.exe_shout]
mov dword [esp], 0x25
mov dword [esp + 4], eax
call sub.cygwin1.dll_putc
mov ebx, dword [esp + 0x5c]
jmp 0x4b19dd
mov dword [esp + 0x2c], 0
jmp 0x4b12a5
mov edx, dword [0x4eb870]
test edx, edx
jg 0x4b1946
mov eax, dword [esp + 0xf4]
cmp dword [0x529380], eax
jne 0x4b1946
lea eax, [esp + 0x64]
mov dword [esp + 0x64], 0x20706f54
mov esi, eax
mov eax, 0x2020
mov byte [esp + 0x6a], 0
mov word [esp + 0x68], ax
jmp 0x4b164f
mov eax, dword [sym.zsh.exe_shout]
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.cygwin1.dll_fputs
jmp 0x4b16fd
mov eax, dword [0x4eb870]
test eax, eax
jg 0x4b174b
mov eax, dword [esp + 0xf4]
cmp dword [0x529380], eax
jne 0x4b174b
lea eax, [esp + 0x64]
mov dword [esp + 0x64], 0x706f54
mov esi, eax
jmp 0x4b164f
mov dword [esp + 0x3c], 0
jmp 0x4b1acf