Function at 0x40bf50
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
push eax
mov eax, 0x2198
call fcn.0044e3e0
mov esi, 2
sub esp, eax
mov ebx, edx
mov eax, dword [esp + eax]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x38], eax
mov eax, dword [0x47d998]
test eax, eax
jne 0x40bf8a
cmp dword [0x47d954], 1
sbb esi, esi
not esi
and esi, 2
movzx eax, word [ebx + 0xc]
xor edi, edi
and ax, 0xf000
cmp ax, 0x4000
je 0x40c2b0
cmp word [0x48095a], 0
jle 0x40bfcc
mov eax, dword [esp + 0x28]
mov dword [esp + 4], str.recv_generator__s__d__n
mov dword [esp], 2
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
call fcn.00420340
mov eax, dword [0x47d850]
test eax, eax
mov dword [esp + 0x30], eax
je 0x40c010
cmp edi, 0xffffffff
je 0x40c000
test edi, edi
je 0x40c190
mov esi, dword [0x452f00]
test esi, esi
jne 0x40c190
test byte [ebx + 0xe], 0x40
je 0x40c190
nop
add esp, 0x219c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x478258]
test eax, eax
je 0x40c05a
mov ecx, dword [eax - 4]
cmp dword [ebx - 4], ecx
jle 0x40c050
mov edx, dword [0x47825c]
test edx, edx
jne 0x40c040
test edi, edi
je 0x40c642
or word [ebx + 0xe], 0x10
jmp 0x40c000
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00404880
test eax, eax
jne 0x40c02b
mov dword [0x478258], 0
mov eax, dword [0x45118c]
mov dword [esp + 0x18c], 0
mov dword [esp + 0x188], 0
test eax, eax
je 0x40c0ae
mov eax, dword [esp + 0x38]
cmp byte [eax], 0x2e
je 0x40c2e0
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], edi
mov dword [esp + 4], 6
mov dword [esp], 0x45118c
mov dword [esp + 8], eax
call fcn.00414da0
test eax, eax
js 0x40c541
cmp dword [0x47d9a0], 1
jle 0x40c355
mov eax, dword [0x47d910]
xor ebp, ebp
test eax, eax
jle 0x40c0f9
lea esi, [esi]
lea edi, [edi]
mov eax, dword [ebp*4 + 0x478200]
test eax, eax
je 0x40c0ee
mov dword [esp], eax
call fcn.00404020
mov dword [ebp*4 + 0x478200], 0
add ebp, 1
cmp dword [0x47d910], ebp
jg 0x40c0d0
mov dword [0x45103c], 0x454b8c
mov dword [esp + 0x3c], 2
mov ebp, 0xffffffff
cmp dword [0x47d964], 2
je 0x40c2f0
mov eax, dword [0x47d904]
test eax, eax
jle 0x40c4a3
cmp ebp, 0xffffffff
jne 0x40c4a3
cmp dword [esp + 0x3c], 2
jne 0x40c4a3
test edi, edi
jne 0x40cbbd
test byte [ebx + 0xe], 0x20
jne 0x40ce51
cmp word [0x480926], 0
mov eax, 0x454d7e
jle 0x40c000
mov edx, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 4], str.not_creating_new__s___s__n
mov dword [esp], 2
mov dword [esp + 0xc], edx
call fcn.00420340
jmp 0x40c000
cmp dword [0x452ef4], 1
sbb ebp, ebp
and ebp, 0xfffffffd
add ebp, 0xe
cmp byte [ebx + 0x10], 0
je 0x40c000
movzx eax, word [ebx + 0xc]
xor edi, edi
mov dword [esp + 4], eax
lea eax, [esp + 0x1190]
mov dword [esp], eax
mov dword [esp + 0x48], eax
call fcn.00440520
movzx ecx, word [ebx + 0xe]
xor eax, eax
xor edx, edx
mov esi, dword [ebx + 8]
test ch, 2
je 0x40c1f5
mov eax, dword [0x47dcbc]
shr cx, 0xc
and ecx, 1
add eax, 1
mov edx, eax
shl edx, 0x1e
sub edx, eax
sub edx, ecx
mov eax, dword [ebx + edx*4]
mov edx, eax
xor eax, eax
mov ecx, dword [0x47d9d4]
add esi, eax
adc edi, edx
test ecx, ecx
je 0x40c5c2
movzx eax, word [ebx + 0xc]
and ax, 0xf000
cmp ax, 0xa000
jne 0x40c5c2
lea eax, [ebx + 0x10]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
lea edx, [ebx + eax + 0x11]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 0x28], edx
call fcn.004048e0
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00419b50
mov ebx, eax
mov eax, dword [0x452ef4]
mov dword [esp + 0xc], 0
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.0043ece0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], str._s__s__s__s_____s_n
mov dword [esp], 2
call fcn.00420340
jmp 0x40c000
mov ebp, dword [0x47dcb8]
mov di, 1
test ebp, ebp
je 0x40bf9e
mov eax, dword [0x47e700]
mov eax, dword [eax + 0x28]
sub eax, 1
cmp eax, dword [esp + 0x28]
sete al
movzx eax, al
lea edi, [eax + eax - 1]
jmp 0x40bf9e
cmp byte [eax + 1], 0
je 0x40c0ae
jmp 0x40c086
cmp word [ebx + 0xc], 0
jne 0x40c11d
mov eax, dword [0x4511ac]
test eax, eax
je 0x40c32c
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], edi
mov dword [esp + 4], 2
mov dword [esp], 0x4511ac
mov dword [esp + 8], eax
call fcn.00414da0
test eax, eax
js 0x40c000
test ebp, ebp
jne 0x40c000
movzx eax, word [esp + 0x138]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004221e0
jmp 0x40c000
mov eax, dword [0x478254]
test eax, eax
je 0x40c390
mov edx, dword [eax - 4]
cmp dword [ebx - 4], edx
jle 0x40c390
mov ebp, dword [0x47825c]
test ebp, ebp
je 0x40c0bb
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00404880
test eax, eax
jne 0x40c0bb
nop
lea esi, [esi]
mov ebp, dword [ebx]
mov eax, 0x454d7c
mov dword [0x478254], 0
test ebp, ebp
cmove ebp, eax
mov eax, dword [0x45103c]
cmp ebp, eax
je 0x40cd14
mov dword [esp + 4], ebp
mov dword [esp], eax
call sub.cygwin1.dll_strcmp
test eax, eax
je 0x40cd14
mov ecx, dword [0x452f04]
lea eax, [esp + 0x128]
mov dword [esp + 0x40], eax
test ecx, ecx
je 0x40c3ea
mov edx, dword [0x452f00]
test edx, edx
je 0x40d640
cmp dword [0x47d910], 0
je 0x40c437
mov eax, 0
jle 0x40c42d
mov dword [esp + 0x3c], ebx
mov ebx, eax
mov edx, dword [ebx*4 + 0x478200]
test edx, edx
je 0x40c41e
mov dword [esp], edx
call fcn.00404020
mov dword [ebx*4 + 0x478200], 0
add ebx, 1
cmp dword [0x47d910], ebx
jg 0x40c400
mov ebx, dword [esp + 0x3c]
mov dword [0x4781d0], 1
mov eax, dword [0x47d9c4]
test eax, eax
je 0x40d2d9
mov eax, dword [0x4781d0]
mov dword [0x45103c], ebp
test eax, eax
je 0x40c465
movzx eax, word [ebx + 0xc]
and ax, 0xf000
cmp ax, 0x8000
je 0x40d3b1
mov ecx, dword [0x47d9e0]
test edi, edi
setne al
xor edx, edx
test ecx, ecx
setne dl
and eax, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00402f20
mov ebp, eax
call sub.cygwin1.dll___errno
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
jmp 0x40c110
test ebp, ebp
jne 0x40c670
mov eax, dword [esp + 0x138]
test al, 0x80
jne 0x40c4d5
mov ecx, dword [0x47d970]
test ecx, ecx
jne 0x40c4d5
mov edx, esi
mov ecx, dword [0x47f7bc]
or edx, 1
cmp dword [esp + 0x140], ecx
cmove esi, edx
mov edx, dword [0x47d908]
test edx, edx
jle 0x40f0ed
test edi, edi
jne 0x40c920
cmp edi, 0xffffffff
je 0x40c516
cmp word [0x480926], 0
jle 0x40c516
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str._s_exists_n
mov dword [esp], 2
mov dword [esp + 8], eax
call fcn.00420340
test byte [ebx + 0xe], 0x20
je 0x40c5a0
mov eax, dword [esp + 0x21b8]
mov ecx, dword [esp + 0x21b4]
mov edx, dword [esp + 0x21b0]
mov dword [esp], eax
mov eax, ebx
call fcn.0040f5c0
jmp 0x40c5a0
cmp edi, 0xffffffff
je 0x40c000
test byte [ebx + 0xe], 0x20
jne 0x40ce75
test edi, edi
je 0x40cd71
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 0x454d83
mov dword [esp + 4], str.ERROR:_daemon_refused_to_receive__s___s__n
mov dword [esp], 1
mov dword [esp + 0xc], eax
call fcn.00420340
mov dword [esp + 4], str._Skipping_any_contents_from_this_failed_directory__n
mov dword [esp], 3
call fcn.00420340
or word [ebx + 0xe], 0x10
mov dword [0x478258], ebx
nop
mov edi, dword [0x47d9cc]
test edi, edi
je 0x40c000
lea eax, [esp + 0x128]
mov dword [esp], eax
call fcn.004368c0
jmp 0x40c000
cmp dword [0x47d964], 2
je 0x40cbe9
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.004048e0
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00419b50
mov ebx, eax
mov eax, dword [0x452ef4]
mov dword [esp + 0xc], 0
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.0043ece0
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 4], str._s__s__s__s_n
mov dword [esp + 0x18], edx
mov dword [esp], 2
mov dword [esp + 8], eax
call fcn.00420340
jmp 0x40c000
test byte [ebx + 0xe], 0x20
je 0x40c000
mov eax, dword [esp + 0x21b8]
mov ecx, dword [esp + 0x21b4]
mov edx, dword [esp + 0x21b0]
mov dword [esp], eax
mov eax, ebx
call fcn.0040f5c0
jmp 0x40c000
mov byte [esp + 0x40], 0
test edi, edi
jne 0x40c935
mov eax, dword [0x47d9c4]
test eax, eax
jne 0x40c6d3
cmp byte [esp + 0x40], 0
mov eax, dword [esp + 0x138]
je 0x40cdf1
mov ecx, eax
mov edx, 1
and ecx, 0xf000
cmp ecx, 0x4000
je 0x40cdf1
mov dword [esp + 0xc], edx
mov edx, dword [0x478260]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
movzx eax, word [ebx + 0xc]
mov dword [esp], eax
call fcn.00409360
mov word [ebx + 0xc], ax
mov edi, dword [0x47d9d0]
test edi, edi
jne 0x40cc3f
mov ecx, dword [0x47d9d4]
test ecx, ecx
je 0x40cd24
movzx ecx, word [ebx + 0xc]
mov eax, ecx
and ax, 0xf000
cmp ax, 0xa000
je 0x40d0e4
mov eax, dword [0x47d970]
test eax, eax
je 0x40cca0
mov edi, dword [0x47d9bc]
test edi, edi
je 0x40cca0
mov eax, ecx
and ax, 0xb000
cmp ax, 0x2000
jne 0x40cca0
mov eax, dword [0x47dcbc]
movzx edi, word [ebx + 0xe]
add eax, 1
mov edx, eax
shl edx, 0x1e
sub edx, eax
mov eax, edi
shr ax, 0xc
mov esi, edx
mov edx, eax
mov eax, edi
shr ax, 9
and edx, 1
and eax, 1
add eax, edx
test di, 0x120
je 0x40c76d
mov edx, dword [0x47dcb8]
add edx, 1
mov dword [esp + 0x30], edx
add eax, dword [esp + 0x30]
mov edx, esi
sub edx, eax
lea eax, [ebx + edx*4 - 4]
movzx edx, word [eax + 4]
mov eax, dword [eax]
shl eax, 0x10
or edx, eax
cmp byte [esp + 0x40], 0
mov edi, edx
je 0x40d048
mov eax, dword [esp + 0x138]
mov edx, eax
and edx, 0xb000
cmp edx, 0x2000
jne 0x40d78a
mov dx, 0x40
xor ecx, eax
and ch, 0xf0
jne 0x40c7df
and eax, 0xf000
cmp eax, 0xc000
je 0x40d85e
cmp eax, 0x1000
je 0x40d85e
cmp dword [esp + 0x148], edi
je 0x40d85e
lea eax, [esp + 0x128]
mov esi, dword [esp + 0x38]
xor ebp, ebp
mov dword [esp + 0x40], eax
cmp word [0x48095a], 0
jle 0x40c836
movzx eax, di
mov dword [esp + 0x30], edx
mov dword [esp + 0x14], eax
mov eax, edi
shr eax, 0x10
mov dword [esp + 0x10], eax
movzx eax, word [ebx + 0xc]
mov dword [esp + 4], str.mknod__s__0_o____ld__ld___n
mov dword [esp], 2
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
call fcn.00420340
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.0040bc90
test eax, eax
je 0x40c5a0
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004093e0
mov eax, dword [esp + 0x21b0]
test eax, eax
jne 0x40d7cb
mov ebp, dword [esp + 0x21b4]
test ebp, ebp
je 0x40c8d9
cmp word [0x480920], 0
jle 0x40c8d9
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x454edf
mov dword [esp + 8], eax
mov eax, dword [esp + 0x21b4]
mov dword [esp], eax
call fcn.00420340
mov edi, dword [0x47d9d0]
test edi, edi
je 0x40c8ed
test byte [ebx + 0xe], 0x20
jne 0x40daf7
cmp dword [0x47d984], 1
jne 0x40c5a0
mov eax, dword [0x47d9a0]
test eax, eax
jne 0x40c5a0
mov eax, dword [esp + 0x28]
mov dword [esp], 0x64
mov dword [esp + 4], eax
call fcn.0042a3d0
jmp 0x40c5a0
and eax, 0xf000
cmp eax, 0x4000
jne 0x40c4eb
mov byte [esp + 0x40], 1
mov eax, dword [0x452f00]
test eax, eax
je 0x40cc30
mov eax, dword [0x47d970]
sar eax, 0x1f
and eax, 0x1c0
cmp edi, 0xffffffff
mov dword [esp + 0x3c], eax
je 0x40ce99
cmp byte [esp + 0x40], 0
je 0x40cdc6
mov eax, dword [esp + 0x138]
mov edx, eax
and edx, 0xf000
cmp edx, 0x4000
jne 0x40cd9a
movzx eax, word [ebx + 0xe]
xor ebp, ebp
lea edi, [esp + 0x1190]
lea esi, [esp + 0x128]
test al, 2
mov dword [esp + 0x11f4], 0
mov dword [esp + 0x11f0], 0
mov ecx, 0x18
mov dword [esp + 0x48], edi
mov dword [esp + 0x40], esi
rep movsd dword es:[edi], dword [esi]
je 0x40cd2d
mov eax, dword [0x47d9c4]
mov edi, 0xffffffff
test eax, eax
je 0x40d0b7
mov eax, dword [0x4808c0]
test eax, eax
je 0x40d3a8
mov eax, dword [esp + 0x21b4]
lea esi, [esp + 0x190]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
mov dword [esp], esi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x21b0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, ebx
call fcn.0040b590
cmp eax, 0xfffffffe
je 0x40d6e3
test eax, eax
mov edx, esi
cmovs edx, dword [esp + 0x38]
mov eax, 1
cmovns edi, eax
cmp dword [esp + 0x21b8], 0xffffffff
mov ecx, dword [esp + 0x21b0]
setne al
test ecx, ecx
mov esi, eax
je 0x40ca94
test al, al
mov dword [esp + 0x30], 0x4000
je 0x40ca94
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], 0
mov esi, 1
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], edi
mov dword [esp + 4], ebx
mov dword [esp], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
call fcn.0040b150
test ebp, ebp
mov eax, dword [esp + 0x48]
jne 0x40d25f
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004093e0
test eax, eax
je 0x40cb02
cmp word [0x480920], 0
jle 0x40cb02
mov eax, esi
test al, al
je 0x40cb02
mov edi, dword [esp + 0x21b4]
test edi, edi
je 0x40cb02
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str._s__n
mov dword [esp + 8], eax
mov eax, dword [esp + 0x21b4]
mov dword [esp], eax
call fcn.00420340
mov ecx, dword [0x47d970]
test ecx, ecx
jne 0x40cb2c
movzx eax, word [ebx + 0xc]
mov edx, eax
and dx, 0x1c0
cmp dx, 0x1c0
je 0x40cb2c
mov edx, dword [0x478278]
test edx, edx
jne 0x40d6b5
test ebp, ebp
je 0x40cb49
mov eax, dword [0x47d980]
test eax, eax
je 0x40cdf8
mov eax, dword [0x47e704]
mov dword [esp + 0x1190], eax
mov ebp, dword [0x47dcb8]
test ebp, ebp
je 0x40ce05
mov edi, dword [0x47d980]
test edi, edi
je 0x40c5a0
mov ecx, dword [0x47dcbc]
movzx eax, word [ebx + 0xe]
mov esi, dword [0x480974]
lea edx, [ecx + 1]
mov ecx, edx
shl ecx, 0x1e
sub ecx, edx
mov edx, ecx
mov ecx, eax
shr ax, 9
shr cx, 0xc
and eax, 1
and ecx, 1
add eax, ecx
xor ecx, ecx
test esi, esi
setne cl
add eax, ecx
sub edx, eax
mov eax, dword [esp + 0x1190]
lea edx, [ebx + edx*4 - 4]
mov ecx, eax
and eax, 0xffff
shr ecx, 0x10
mov dword [edx + 4], eax
mov dword [edx], ecx
jmp 0x40c5a0
cmp edi, 0xffffffff
je 0x40c000
or word [ebx + 0xe], 0x10
mov dword [0x478258], ebx
mov eax, 0x454d83
cmp word [0x480926], 0
jg 0x40c163
jmp 0x40c000
cmp word [ebx + 0xc], 0
jne 0x40c5cf
mov dword [esp], ebx
lea ebx, [ebp + 0x1f]
mov dword [esp + 4], 0
call fcn.004048e0
mov dword [esp + 0xc], str.missing
mov dword [esp + 0x10], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.__s__s_n
mov dword [esp], 2
call fcn.00420340
jmp 0x40c000
test byte [ebx + 0xe], 0x40
jne 0x40c5a0
jmp 0x40c942
movzx eax, word [ebx + 0xe]
and eax, 0x60
cmp ax, 0x20
jne 0x40c6e1
mov eax, dword [esp + 0x21b4]
mov dword [esp + 0xc], ebp
mov dword [esp], ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x21b0]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x128]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
call fcn.0042ea70
test eax, eax
jne 0x40c5a0
jmp 0x40c6e1
mov edx, dword [0x47d9b8]
mov eax, ecx
and ax, 0xf000
test edx, edx
je 0x40cccb
movzx edx, ax
cmp edx, 0x1000
je 0x40cf1e
cmp edx, 0xc000
je 0x40cf1e
cmp ax, 0x8000
je 0x40cf8b
mov esi, dword [0x478268]
test esi, esi
je 0x40ccf3
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.004048e0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.skipping_non_regular_file___s__n
mov dword [esp], 2
mov dword [esp + 8], eax
call fcn.00420340
jmp 0x40c5a0
lea eax, [esp + 0x128]
mov dword [esp + 0x40], eax
jmp 0x40c444
movzx ecx, word [ebx + 0xc]
jmp 0x40c703
mov eax, dword [0x47d9c4]
mov edi, ebp
test eax, eax
je 0x40d0b0
test edi, edi
jne 0x40c9d5
cmp dword [esp + 0x21b8], 0xffffffff
mov ecx, dword [esp + 0x21b0]
setne al
test ecx, ecx
mov esi, eax
je 0x40ca94
test al, al
mov edx, dword [esp + 0x38]
jne 0x40ca57
jmp 0x40ca94
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 0x454d7e
mov dword [esp + 4], str.ERROR:_daemon_refused_to_receive__s___s__n
mov dword [esp], 1
mov dword [esp + 0xc], eax
call fcn.00420340
jmp 0x40c000
movzx eax, ax
mov edx, esi
mov ebp, 0xffffffff
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
or edx, 0x10
movsx edx, dx
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004221e0
test eax, eax
jne 0x40c580
mov esi, dword [0x47d9a0]
test esi, esi
je 0x40cf82
mov eax, dword [0x478254]
test eax, eax
je 0x40d808
movzx eax, word [ebx + 0xe]
or eax, 0x10
mov word [ebx + 0xe], ax
jmp 0x40c988
xor edx, edx
jmp 0x40c6b1
mov eax, dword [0x47dcb8]
test eax, eax
jne 0x40c5a0
mov eax, dword [0x47d994]
test eax, eax
je 0x40c5a0
mov eax, esi
test al, al
je 0x40c5a0
mov eax, dword [0x478264]
test eax, eax
jne 0x40c5a0
movzx eax, word [ebx + 0xe]
test al, 0x10
jne 0x40c5a0
test al, 4
je 0x40db22
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x38]
mov edx, ebx
call fcn.0040a880
jmp 0x40c5a0
mov eax, dword [esp + 0x21b8]
mov ecx, dword [esp + 0x21b4]
mov edx, dword [esp + 0x21b0]
mov dword [esp], eax
mov eax, ebx
call fcn.0040f5c0
jmp 0x40c150
mov eax, dword [esp + 0x21b8]
mov ecx, dword [esp + 0x21b4]
mov edx, dword [esp + 0x21b0]
mov dword [esp], eax
mov eax, ebx
call fcn.0040f5c0
jmp 0x40c554
test byte [0x47d9ac], 2
je 0x40c000
cmp byte [esp + 0x40], 0
je 0x40ceef
mov eax, dword [esp + 0x138]
mov edx, eax
and edx, 0xf000
cmp edx, 0x4000
je 0x40c5a0
movzx eax, ax
mov edx, esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
or edx, 0x10
movsx edx, dx
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004221e0
test eax, eax
jne 0x40c5a0
movzx eax, word [ebx + 0xc]
or eax, dword [esp + 0x3c]
and eax, 0x1c0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.0041f420
test eax, eax
jne 0x40c5a0
or word [ebx + 0xe], 2
jmp 0x40c5a0
mov eax, ecx
and ax, 0xb000
cmp ax, 0x2000
je 0x40c72e
xor edi, edi
cmp byte [esp + 0x40], 0
je 0x40d048
mov eax, dword [esp + 0x138]
mov esi, eax
and esi, 0xf000
cmp esi, 0x1000
je 0x40d77e
xor edi, edi
cmp esi, 0xc000
mov edx, pe_nt_image_headers32
je 0x40d77e
lea eax, [esp + 0x128]
mov esi, dword [esp + 0x38]
mov ebp, 0xffffffff
mov dword [esp + 0x40], eax
jmp 0x40c7f0
movzx eax, word [ebx + 0xe]
jmp 0x40c988
mov edi, dword [0x452ee4]
mov eax, dword [0x452ee0]
test edi, edi
mov dword [esp + 0x48], eax
js 0x40d2eb
movzx ecx, word [ebx + 0xe]
mov eax, dword [ebx + 8]
xor edx, edx
mov dword [esp + 0x34], edx
xor edx, edx
mov dword [esp + 0x30], eax
xor eax, eax
test ch, 2
je 0x40cfdf
mov eax, dword [0x47dcbc]
lea edx, [eax + 1]
mov eax, ecx
shr ax, 0xc
and eax, 1
mov ecx, eax
mov eax, edx
shl eax, 0x1e
sub eax, edx
sub eax, ecx
mov eax, dword [ebx + eax*4]
mov edx, eax
xor eax, eax
add eax, dword [esp + 0x30]
adc edx, dword [esp + 0x34]
cmp edi, edx
jg 0x40d2eb
jl 0x40cffb
cmp dword [esp + 0x48], eax
jae 0x40d2eb
cmp word [0x480926], 0
jle 0x40c5a0
mov esi, dword [0x478268]
test esi, esi
je 0x40d027
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.004048e0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str._s_is_over_max_size_n
mov dword [esp], 2
mov dword [esp + 8], eax
call fcn.00420340
jmp 0x40c5a0
mov eax, dword [0x4808c0]
test eax, eax
je 0x40d700
mov eax, dword [esp + 0x21b4]
lea esi, [esp + 0x190]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
mov dword [esp], esi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x21b0]
mov dword [esp + 8], eax
lea eax, [esp + 0x128]
mov dword [esp + 0x40], eax
mov dword [esp + 4], eax
mov eax, ebx
call fcn.0040b590
cmp eax, 0xfffffffe
je 0x40d794
test eax, eax
js 0x40d948
xor edx, edx
mov ebp, 1
jmp 0x40c7f0
xor eax, eax
test ebp, ebp
sete al
mov dword [esp + 0xc], eax
mov eax, dword [0x478260]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0xc]
mov dword [esp], eax
call fcn.00409360
mov word [ebx + 0xc], ax
jmp 0x40cd3c
lea eax, [ebx + 0x10]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov edx, dword [0x47d928]
lea esi, [ebx + eax + 0x11]
test edx, edx
jne 0x40d716
cmp byte [esp + 0x40], 0
je 0x40d47b
mov eax, dword [esp + 0x138]
and eax, 0xf000
cmp eax, 0xa000
je 0x40d813
lea eax, [esp + 0x128]
mov edi, dword [esp + 0x38]
xor ebp, ebp
mov dword [esp + 0x30], 0x20
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.0040bc90
test eax, eax
je 0x40c5a0
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004093e0
mov eax, dword [esp + 0x21b0]
test eax, eax
je 0x40d202
test ebp, ebp
jne 0x40d1ca
mov eax, dword [esp + 0x138]
and eax, 0xf000
cmp eax, 0xa000
setne al
movzx eax, al
neg eax
mov ebp, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x4002
mov dword [esp + 0xc], ebp
mov dword [esp + 4], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.0040b150
mov eax, dword [esp + 0x21b4]
test eax, eax
je 0x40d23a
cmp word [0x480920], 0
jle 0x40d23a
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], esi
mov dword [esp + 4], str._s_____s_n
mov dword [esp + 8], eax
mov eax, dword [esp + 0x21b4]
mov dword [esp], eax
call fcn.00420340
mov eax, dword [0x47d9d0]
test eax, eax
je 0x40d24d
test byte [ebx + 0xe], 0x20
jne 0x40f026
mov eax, dword [0x47d984]
test eax, eax
je 0x40c5a0
jmp 0x40c8fa
movzx eax, word [ebx + 0xc]
or eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.0041f420
test eax, eax
js 0x40d282
xor eax, eax
jmp 0x40caa0
call sub.cygwin1.dll___errno
cmp dword [eax], 0x11
je 0x40d27b
cmp dword [0x452f04], 0
je 0x40d2a3
call sub.cygwin1.dll___errno
cmp dword [eax], 2
je 0x40efd9
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004191d0
mov esi, eax
call sub.cygwin1.dll___errno
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.recv_generator:_mkdir__s_failed
mov eax, dword [eax]
mov dword [esp], 1
mov dword [esp + 4], eax
call fcn.0041f9e0
jmp 0x40c580
mov dword [esp], ebp
call fcn.00437160
mov dword [0x478260], eax
jmp 0x40c444
mov edi, dword [0x452edc]
mov eax, dword [0x452ed8]
test edi, edi
mov dword [esp + 0x48], eax
js 0x40d4e3
movzx ecx, word [ebx + 0xe]
mov eax, dword [ebx + 8]
xor edx, edx
mov dword [esp + 0x34], edx
xor edx, edx
mov dword [esp + 0x30], eax
xor eax, eax
test ch, 2
je 0x40d33f
mov eax, dword [0x47dcbc]
lea edx, [eax + 1]
mov eax, ecx
shr ax, 0xc
and eax, 1
mov ecx, eax
mov eax, edx
shl eax, 0x1e
sub eax, edx
sub eax, ecx
mov eax, dword [ebx + eax*4]
mov edx, eax
xor eax, eax
add eax, dword [esp + 0x30]
adc edx, dword [esp + 0x34]
cmp edi, edx
jl 0x40d4e3
jg 0x40d35b
cmp dword [esp + 0x48], eax
jbe 0x40d4e3
cmp word [0x480926], 0
jle 0x40c5a0
mov esi, dword [0x478268]
test esi, esi
je 0x40d387
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.004048e0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str._s_is_under_min_size_n
mov dword [esp], 2
mov dword [esp + 8], eax
call fcn.00420340
jmp 0x40c5a0
mov edx, dword [esp + 0x38]
jmp 0x40ca33
lea eax, [esp + 0x190]
mov dword [esp + 8], 0x1000
mov dword [esp + 4], ebp
mov dword [esp], eax
mov dword [esp + 0x60], eax
call sub.cygwin1.dll_strlcpy
mov ecx, dword [0x47d910]
xor edx, edx
test ecx, ecx
jle 0x40d46c
mov dword [esp + 0x3c], esi
mov dword [esp + 0x48], ebx
mov ebx, edx
mov esi, dword [esp + 0x60]
jmp 0x40d3fb
add ebx, 1
cmp dword [0x47d910], ebx
jle 0x40d464
test ebx, ebx
je 0x40d425
mov eax, dword [ebx*4 + 0x4808bc]
mov dword [esp + 0xc], ebp
mov dword [esp + 4], 0x1000
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00418470
cmp eax, 0xfff
ja 0x40d3f0
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call fcn.00408bc0
test eax, eax
mov dword [ebx*4 + 0x478200], eax
je 0x40d3f0
mov edx, dword [eax + 0x18]
test edx, edx
jne 0x40d3f0
mov dword [esp], eax
call fcn.00404020
mov dword [ebx*4 + 0x478200], 0
jmp 0x40d3f0
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x48]
mov dword [0x4781d0], 0
jmp 0x40c465
mov eax, dword [0x4808c0]
test eax, eax
je 0x40d934
mov eax, dword [esp + 0x21b4]
lea edi, [esp + 0x190]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
mov dword [esp], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x21b0]
mov dword [esp + 8], eax
lea eax, [esp + 0x128]
mov dword [esp + 0x40], eax
mov dword [esp + 4], eax
mov eax, ebx
call fcn.0040b590
cmp eax, 0xfffffffe
je 0x40d95d
test eax, eax
mov eax, 1
cmovs edi, dword [esp + 0x38]
cmovns ebp, eax
jmp 0x40d13c
mov ecx, dword [0x47d9a8]
test ecx, ecx
jle 0x40e74b
cmp byte [esp + 0x40], 0
jne 0x40e7c3
mov eax, dword [0x4808c0]
test eax, eax
je 0x40e7a8
test ebp, ebp
sete byte [esp + 0x30]
lea edi, [esp + 0xc8]
lea esi, [esp + 0x128]
mov ecx, 0x18
mov dword [esp + 0x70], ebp
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x64], edi
mov dword [esp + 0x40], esi
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x128]
xor edi, edi
xor esi, esi
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x190]
mov dword [esp + 0x60], ecx
mov ebp, ecx
jmp 0x40d57f
add edi, 1
mov eax, dword [edi*4 + 0x4808c0]
test eax, eax
je 0x40db50
mov edx, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1000
mov dword [esp], ebp
mov dword [esp + 0xc], edx
call fcn.00418470
mov eax, dword [esp + 0x40]
mov dword [esp + 8], 0
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.00402f20
test eax, eax
js 0x40d56d
mov eax, dword [esp + 0x138]
and eax, 0xf000
cmp eax, 0x8000
jne 0x40d56d
cmp esi, 1
je 0x40d5d8
cmp esi, 2
je 0x40d5f8
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x40]
mov dword [esp + 4], ebx
mov dword [esp], ebp
mov dword [esp + 8], eax
call fcn.0040bb30
test eax, eax
je 0x40d953
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x40]
mov dword [esp + 4], ebx
mov dword [esp], ebp
mov dword [esp + 8], eax
call fcn.0040afa0
test eax, eax
jne 0x40d9bf
cmp dword [0x47d9cc], 0
mov esi, 2
je 0x40d56d
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.004368c0
jmp 0x40d56d
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.0041f510
test eax, eax
jns 0x40c3ea
mov eax, dword [0x47d9a0]
test eax, eax
jne 0x40c0bb
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 3
mov dword [esp], eax
call fcn.004180a0
test eax, eax
jns 0x40c3ea
mov dword [esp], ebp
call fcn.004191d0
mov dword [esp + 0x3c], eax
call sub.cygwin1.dll___errno
mov edx, dword [esp + 0x3c]
mov dword [esp + 8], str.recv_generator:_mkdir__s_failed
mov dword [esp + 0xc], edx
mov eax, dword [eax]
mov dword [esp], 1
mov dword [esp + 4], eax
call fcn.0041f9e0
jmp 0x40c3ea
or ax, 0x1c0
movzx eax, ax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.0041f0a0
test eax, eax
js 0x40d989
mov dword [0x47826c], 1
jmp 0x40cb2c
cmp dword [esp + 0x21b8], 0xffffffff
mov dword [esp + 0x21b4], 0
setne al
mov esi, eax
jmp 0x40ca94
lea eax, [esp + 0x128]
mov esi, dword [esp + 0x38]
xor edx, edx
mov dword [esp + 0x40], eax
jmp 0x40c7f0
mov eax, dword [esp + 0x38]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00419a20
test eax, eax
je 0x40d101
cmp word [0x480920], 0
jle 0x40c000
cmp dword [0x478268], 0
je 0x40d759
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.004048e0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.ignoring_unsafe_symlink___s_______s__n
mov dword [esp], 2
mov dword [esp + 8], eax
call fcn.00420340
jmp 0x40c000
xor edi, edi
mov edx, pe_nt_image_headers32
jmp 0x40c7b0
mov edx, 0x40
jmp 0x40cf69
mov eax, dword [0x47d880]
test eax, eax
jne 0x40d7aa
cmp dword [0x47d884], 0
je 0x40c5a0
mov esi, dword [esp + 0x38]
xor edx, edx
mov dword [esp + 0x21b4], 0
mov dword [esp + 0x21b0], 0
jmp 0x40c7f0
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x4002
mov dword [esp + 0xc], ebp
mov dword [esp + 4], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.0040b150
jmp 0x40c8a5
mov dword [0x478254], ebx
jmp 0x40cde1
mov eax, dword [esp + 0x38]
lea edi, [esp + 0x1190]
mov dword [esp + 8], 0xfff
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.cygwin1.dll_readlink
test eax, eax
mov ebp, eax
jle 0x40d123
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.cygwin1.dll_strncmp
test eax, eax
jne 0x40d123
cmp byte [esi + ebp], 0
jne 0x40d123
mov eax, dword [0x4781c0]
mov dword [esp + 0xc], 0
mov dword [esp + 4], ebx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x128]
mov dword [esp + 0x40], eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004093e0
mov eax, dword [esp + 0x21b0]
test eax, eax
je 0x40d8d9
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.0040b150
mov edx, dword [0x47d9d0]
test edx, edx
je 0x40c8ed
test byte [ebx + 0xe], 0x20
je 0x40c8ed
mov eax, dword [esp + 0x21b4]
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x21b0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.0042f390
jmp 0x40c8ed
lea eax, [esp + 0x128]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x40], eax
jmp 0x40d13c
mov esi, dword [esp + 0x38]
xor edx, edx
jmp 0x40c7f0
mov esi, 1
jmp 0x40d56d
cmp dword [0x47d884], 0
je 0x40c5a0
mov edi, dword [esp + 0x38]
mov dword [esp + 0x21b4], 0
mov dword [esp + 0x21b0], 0
jmp 0x40d13c
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004191d0
mov edi, eax
call sub.cygwin1.dll___errno
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.failed_to_modify_permissions_on__s
mov eax, dword [eax]
mov dword [esp], 1
mov dword [esp + 4], eax
call fcn.0041f9e0
jmp 0x40d6d4
mov ebp, dword [esp + 0x70]
cmp dword [0x47d884], 0
jne 0x40da5c
cmp byte [esp + 0x30], 0
je 0x40da05
cmp dword [0x47d880], 0
je 0x40d9f1
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x128], eax
je 0x40dd67
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.0041ee10
test eax, eax
js 0x40edf8
cmp dword [0x47d880], 0
jne 0x40ebd0
cmp dword [esp + 0x21b0], 0
jne 0x40eb8b
cmp word [0x480920], 1
jle 0x40c8ed
cmp dword [0x4781c0], 0
je 0x40c8ed
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x454f3c
mov dword [esp], 7
mov dword [esp + 8], eax
call fcn.00420340
jmp 0x40c8ed
cmp byte [esp + 0x30], 0
jne 0x40ee06
mov esi, 3
mov eax, dword [0x47d9a0]
test eax, eax
je 0x40eca1
mov ebp, dword [esp + 0x21b0]
test ebp, ebp
jne 0x40eb39
cmp dword [0x4781c0], 0
je 0x40d8d9
cmp esi, 2
jne 0x40daa8
cmp word [0x480920], 0
jg 0x40ee46
cmp esi, 3
jne 0x40d8d9
cmp word [0x480920], 1
jle 0x40d8d9
mov dword [esp + 0x21b4], 7
mov eax, str._is_uptodate
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x454f5f
mov dword [esp + 8], eax
mov eax, dword [esp + 0x21b4]
mov dword [esp], eax
call fcn.00420340
jmp 0x40d8d9
mov eax, dword [esp + 0x21b4]
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x21b0]
mov dword [esp + 0x10], eax
jmp 0x40d917
mov edi, dword [esp + 0x38]
xor eax, eax
or ecx, 0xffffffff
mov edx, dword [ebx - 4]
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x38]
mov dword [esp + 8], edx
mov eax, ecx
not eax
sub eax, 1
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00416c60
jmp 0x40c5a0
test esi, esi
mov ebp, dword [esp + 0x70]
je 0x40dd89
mov eax, dword [esp + 0x48]
cmp eax, edi
je 0x40dbaf
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax*4 + 0x4808c0]
mov dword [esp + 4], 0x1000
mov dword [esp + 0xc], ecx
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.00418470
mov eax, dword [esp + 0x40]
mov dword [esp], edi
mov dword [esp + 8], 0
mov dword [esp + 4], eax
call fcn.00402f20
test eax, eax
mov edi, dword [esp + 0x48]
js 0x40dd89
cmp esi, 3
je 0x40d9c3
cmp byte [esp + 0x30], 0
jne 0x40ee06
cmp esi, 1
jne 0x40da6c
cmp edi, 0xffffffff
je 0x40dd89
mov eax, edi
mov byte [esp + 0x50], al
mov edx, dword [0x47d8b8]
lea edi, [esp + 0x1190]
mov dword [esp + 0x11f4], 0
mov dword [esp + 0x11f0], 0
mov ecx, 0x18
mov esi, dword [esp + 0x40]
mov dword [esp + 0x48], edi
test edx, edx
rep movsd dword es:[edi], dword [esi]
je 0x40dd50
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00419720
test eax, eax
mov dword [esp + 0x30], eax
je 0x40dd58
lea eax, [esp + 0xc8]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00402f20
test eax, eax
jne 0x40dd50
mov eax, dword [esp + 0xd8]
xor ebp, ebp
and eax, 0xf000
cmp eax, 0x8000
je 0x40ef30
mov dword [esp + 0x30], 0
mov dword [esp + 0x58], 0
movzx eax, byte [esp + 0x50]
test al, al
jns 0x40e64a
cmp al, 0x83
je 0x40e64a
mov eax, dword [esp + 0x40]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.0040bb30
test eax, eax
je 0x40e64a
mov esi, dword [esp + 0x30]
test esi, esi
je 0x40dcd2
mov dword [esp], esi
call fcn.0041ee10
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.00419850
mov eax, dword [0x4781c0]
mov dword [esp + 0xc], 0
mov dword [esp + 4], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004093e0
cmp dword [esp + 0x21b0], 0
je 0x40d8d9
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.0040b150
jmp 0x40d8d9
mov dword [esp + 0x30], 0
xor ebp, ebp
mov dword [esp + 0x58], 0
jmp 0x40dc7d
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x134], eax
jne 0x40d9f1
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x130], eax
jne 0x40d9f1
lea eax, [esp + 0x1190]
mov dword [esp + 0x48], eax
mov dword [esp + 0x11f4], 0
mov dword [esp + 0x11f0], 0
mov ecx, 0x18
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [0x47d8b8]
mov eax, dword [esp + 0x38]
test edi, edi
je 0x40de95
mov dword [esp], eax
call fcn.00419720
test eax, eax
mov dword [esp + 0x30], eax
je 0x40de91
lea eax, [esp + 0xc8]
mov dword [esp + 8], 0
mov dword [esp + 0x64], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00402f20
test eax, eax
mov eax, dword [esp + 0x38]
mov byte [esp + 0x50], pe_nt_image_headers32
mov dword [esp + 0x60], eax
jne 0x40de2a
mov eax, dword [esp + 0xd8]
and eax, 0xf000
cmp eax, 0x8000
je 0x40e8df
test ebp, ebp
je 0x40dc6d
mov esi, dword [0x47d910]
test esi, esi
jne 0x40dea0
cmp dword [0x47d9d0], 0
je 0x40de57
movzx eax, word [ebx + 0xe]
and ax, 0xa0
cmp ax, 0x20
je 0x40e8c0
mov esi, dword [esp + 0x3c]
cmp esi, 2
je 0x40e3b0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004191d0
mov dword [esp + 8], str.recv_generator:_failed_to_stat__s
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov dword [esp], 1
call fcn.0041f9e0
jmp 0x40c5a0
mov eax, dword [esp + 0x38]
mov dword [esp + 0x60], eax
mov byte [esp + 0x50], pe_nt_image_headers32
jmp 0x40de2a
lea edi, [ebx + 0x10]
xor eax, eax
or ecx, 0xffffffff
mov dword [esp + 0x7c], edi
mov esi, edi
repne scasb al, byte es:[edi]
mov dword [esp], esi
not ecx
lea eax, [ecx - 1]
mov ecx, eax
mov dword [esp + 0x80], eax
lea eax, [esp + 0x98]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00419c10
cmp dword [0x47d910], 0
mov dword [esp + 0x84], eax
jle 0x40de3c
mov dword [esp + 0x30], 0
mov dword [esp + 0x78], ebp
mov dword [esp + 0x64], ebx
mov eax, dword [esp + 0x30]
mov ebp, dword [eax*4 + 0x478200]
test ebp, ebp
je 0x40e1a0
mov ebx, dword [ebp + 0x18]
test ebx, ebx
jle 0x40e1a0
xor edi, edi
jmp 0x40df2c
add edi, 1
cmp edi, dword [ebp + 0x18]
jge 0x40e1a0
mov eax, dword [ebp + 8]
mov esi, dword [eax + edi*4]
cmp byte [esi + 0x10], 0
je 0x40df20
movzx eax, word [esi + 0xc]
and ax, 0xf000
cmp ax, 0x8000
jne 0x40df20
mov eax, dword [esi + 8]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x5c], edx
xor edx, edx
mov dword [esp + 0x58], eax
movzx eax, word [esi + 0xe]
mov ebx, eax
and ax, 0x200
mov word [esp + 0x68], ax
je 0x40df8f
mov eax, dword [0x47dcbc]
lea edx, [eax + 1]
mov eax, ebx
shr ax, 0xc
and eax, 1
mov ecx, eax
mov eax, edx
shl eax, 0x1e
sub eax, edx
sub eax, ecx
mov eax, dword [esi + eax*4]
mov edx, eax
xor eax, eax
mov ecx, edx
mov edx, eax
mov eax, edx
add eax, dword [esp + 0x58]
mov edx, ecx
adc edx, dword [esp + 0x5c]
mov ecx, edx
or ecx, eax
je 0x40df20
mov eax, ebx
test al, 2
jne 0x40df20
cmp word [esp + 0x68], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
je 0x40dff2
mov eax, dword [0x47dcbc]
mov edx, ebx
shr dx, 0xc
mov ecx, edx
add eax, 1
and ecx, 1
mov edx, eax
shl edx, 0x1e
sub edx, eax
sub edx, ecx
mov eax, dword [esi + edx*4]
mov edx, eax
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov ecx, dword [esp + 0x58]
add ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x5c]
adc ebx, dword [esp + 0x74]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x68], ecx
mov ecx, dword [eax + 8]
movzx eax, word [eax + 0xe]
mov dword [esp + 0x6c], ebx
xor ebx, ebx
test ah, 2
mov word [esp + 0x70], ax
je 0x40e06a
mov eax, dword [0x47dcbc]
lea edx, [eax + 1]
movzx eax, word [esp + 0x70]
shr ax, 0xc
and eax, 1
mov dword [esp + 0x58], eax
mov eax, edx
shl eax, 0x1e
sub eax, edx
sub eax, dword [esp + 0x58]
mov edx, dword [esp + 0x64]
mov eax, dword [edx + eax*4]
mov edx, eax
mov eax, 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
add ecx, dword [esp + 0x58]
adc ebx, dword [esp + 0x5c]
mov eax, ecx
mov ecx, dword [esp + 0x68]
mov edx, ebx
mov dword [esp + 0x58], eax
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x5c], edx
xor edx, ebx
xor eax, ecx
or edx, eax
jne 0x40df20
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00419bb0
test eax, eax
jne 0x40df20
cmp word [0x480958], 1
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x58], esi
mov ebx, dword [esp + 0x64]
jle 0x40e0f2
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.004048e0
mov dword [esp + 4], str.fuzzy_size_modtime_match_for__s_n
mov dword [esp + 8], eax
mov dword [esp], 2
call fcn.00420340
movzx eax, byte [esp + 0x30]
sub eax, 0x7d
mov byte [esp + 0x50], al
lea eax, [esp + 0x190]
mov dword [esp + 0x60], eax
mov dword [esp + 4], eax
mov esi, eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.004048e0
cmp word [0x480958], 0
jle 0x40e145
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.fuzzy_basis_selected_for__s:__s_n
mov dword [esp], 2
mov dword [esp + 8], eax
call fcn.00420340
mov eax, dword [esp + 0x58]
xor edi, edi
xor edx, edx
movzx ecx, word [eax + 0xe]
mov esi, dword [eax + 8]
xor eax, eax
test ch, 2
je 0x40e17f
mov eax, dword [0x47dcbc]
lea edx, [eax + 1]
mov eax, ecx
shr ax, 0xc
imul edx, edx, 0x3fffffff
and eax, 1
sub edx, eax
mov eax, dword [esp + 0x58]
mov eax, dword [eax + edx*4]
mov edx, eax
xor eax, eax
add eax, esi
mov dword [esp + 0x30], 0
adc edx, edi
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], edx
jmp 0x40dc7d
add dword [esp + 0x30], 1
mov eax, dword [0x47d910]
mov edx, dword [esp + 0x30]
cmp edx, eax
jl 0x40def9
test eax, eax
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x64]
jle 0x40de3c
mov dword [esp + 0x64], 0x190000
mov dword [esp + 0x58], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x30]
mov esi, dword [eax*4 + 0x478200]
test esi, esi
je 0x40e380
mov ebp, dword [esi + 0x18]
test ebp, ebp
jle 0x40e380
sub eax, 0x7d
xor ebp, ebp
mov byte [esp + 0x70], al
jmp 0x40e21c
add ebp, 1
cmp ebp, dword [esi + 0x18]
jge 0x40e380
mov eax, dword [esi + 8]
mov ebx, dword [eax + ebp*4]
cmp byte [ebx + 0x10], 0
je 0x40e210
movzx eax, word [ebx + 0xc]
and ax, 0xf000
cmp ax, 0x8000
jne 0x40e210
movzx ecx, word [ebx + 0xe]
mov eax, dword [ebx + 8]
xor edx, edx
mov dword [esp + 0x6c], edx
xor edx, edx
mov dword [esp + 0x68], eax
xor eax, eax
test ch, 2
je 0x40e273
mov eax, dword [0x47dcbc]
lea edx, [eax + 1]
mov eax, ecx
shr ax, 0xc
mov edi, eax
mov eax, edx
shl eax, 0x1e
and edi, 1
sub eax, edx
sub eax, edi
mov eax, dword [ebx + eax*4]
mov edx, eax
xor eax, eax
add eax, dword [esp + 0x68]
adc edx, dword [esp + 0x6c]
mov edi, edx
or edi, eax
je 0x40e210
and ecx, 2
jne 0x40e210
lea edx, [ebx + 0x10]
xor eax, eax
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
mov dword [esp], edx
mov dword [esp + 0x8c], edx
mov eax, ecx
not eax
lea edi, [eax - 1]
lea eax, [esp + 0xa8]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.00419c10
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], edx
mov dword [esp + 8], eax
call fcn.00419e10
mov edi, eax
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esp], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
call fcn.00419e10
imul eax, eax, 0xa
add edi, eax
cmp word [0x480958], 1
jle 0x40e357
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.004048e0
movzx edx, di
mov dword [esp + 8], eax
mov dword [esp + 4], str.fuzzy_distance_for__s___d._05d_n
mov dword [esp + 0x10], edx
mov edx, edi
mov dword [esp], 2
shr edx, 0x10
mov dword [esp + 0xc], edx
call fcn.00420340
cmp dword [esp + 0x64], edi
jb 0x40e210
movzx eax, byte [esp + 0x70]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x64], edi
mov byte [esp + 0x50], al
jmp 0x40e210
add dword [esp + 0x30], 1
mov eax, dword [esp + 0x30]
cmp eax, dword [0x47d910]
jl 0x40e1e5
cmp dword [esp + 0x58], 0
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x88]
jne 0x40e0fe
jmp 0x40de3c
mov dword [esp + 0x64], ebp
xor edi, edi
xor esi, esi
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x58], 0
mov eax, dword [0x47d984]
test eax, eax
je 0x40e59b
cmp dword [0x47d8ec], 0
jne 0x40e59b
cmp dword [0x478264], 0
jne 0x40e59b
cmp dword [0x47d9a0], 0
je 0x40e579
cmp dword [0x47dcb8], 0
je 0x40e41a
cmp dword [0x47d8cc], 0
js 0x40e5b5
mov eax, dword [0x47d9d0]
test eax, eax
je 0x40e432
movzx eax, word [ebx + 0xe]
test al, 0x20
je 0x40e432
or eax, 2
mov word [ebx + 0xe], ax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x21b8]
mov dword [esp], eax
call fcn.0042d150
mov eax, dword [esp + 0x21b0]
test eax, eax
je 0x40e4df
xor ecx, ecx
cmp dword [0x47d854], 0
setg cl
cmp byte [esp + 0x50], 0x80
lea ecx, [ecx + ecx + 0x8000]
je 0x40e486
mov edx, ecx
mov eax, ecx
or dh, 8
or ah, 0x18
cmp byte [esp + 0x50], 0x82
mov ecx, edx
cmova ecx, eax
mov edx, dword [esp + 0x58]
mov dword [esp + 0x14], ecx
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], ebx
mov eax, edx
add eax, 0x10
test edx, edx
mov edx, 0
cmove eax, edx
mov dword [esp + 0x1c], eax
movzx eax, byte [esp + 0x50]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.0040b150
cmp dword [0x47d9cc], 0
jne 0x40e8ce
mov eax, dword [0x452f14]
test eax, eax
jne 0x40e610
cmp dword [0x47d9d0], 0
jne 0x40e5c3
test esi, esi
je 0x40c5a0
mov eax, dword [esp + 0x30]
mov ebx, dword [0x47d9c8]
cmp eax, 0xffffffff
je 0x40e518
mov dword [esp], eax
call sub.cygwin1.dll_close
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004093e0
cmp word [0x480914], 0
mov dword [0x47d9c8], ebx
jle 0x40e56c
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x4550c4
mov dword [esp], 2
mov dword [esp + 8], eax
call fcn.00420340
mov dword [esp], esi
call fcn.00403eb0
jmp 0x40c5a0
mov eax, dword [esp + 0x21b4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x21b0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.0042bfa0
mov eax, dword [0x47dcb8]
test eax, eax
je 0x40e41a
cmp dword [0x47d9a0], 0
jne 0x40e40d
mov eax, dword [0x47e700]
add dword [eax + 0x34], 1
jmp 0x40e41a
test byte [ebx + 0xe], 0x20
je 0x40e4f9
mov eax, dword [esp + 0x21b4]
mov dword [esp + 0x18], 0xffffffff
mov dword [esp], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x21b0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.0042f390
jmp 0x40e4f9
cmp dword [0x47d8c8], 0
jne 0x40e4f9
test ebp, ebp
jne 0x40e62e
cmp dword [0x452f18], 0
je 0x40eebe
mov eax, dword [esp + 0x21b8]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0042cc50
jmp 0x40e4f9
cmp dword [0x47d9e4], 0
jle 0x40e6be
mov eax, dword [esp + 0x150]
movzx ecx, word [ebx + 0xe]
xor edi, edi
xor edx, edx
mov esi, dword [ebx + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x64], eax
xor eax, eax
test ch, 2
je 0x40e69e
mov eax, dword [0x47dcbc]
mov edx, ecx
shr dx, 0xc
and edx, 1
add eax, 1
imul eax, eax, 0x3fffffff
sub eax, edx
mov eax, dword [ebx + eax*4]
mov edx, eax
mov eax, 0
add eax, esi
adc edx, edi
cmp dword [esp + 0x64], edx
jl 0x40e6be
jg 0x40e6b0
cmp dword [esp + 0x3c], eax
jb 0x40e6be
and cl, 0x20
je 0x40c5a0
jmp 0x40c520
cmp dword [esp + 0x30], 0
je 0x40e918
lea eax, [esp + 0xc8]
mov dword [esp + 0x64], eax
mov esi, dword [esp + 0x64]
mov ecx, 0x18
mov edi, dword [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x64], ebp
mov byte [esp + 0x50], 0x81
mov dword [esp + 0x60], eax
cmp dword [0x452f14], 0
je 0x40e730
cmp dword [0x47d8c8], 0
jne 0x40e713
cmp dword [0x452f18], 0
je 0x40e921
cmp dword [0x47d8f0], 0
je 0x40e730
cmp byte [esp + 0x50], 0x80
jne 0x40e730
cmp dword [0x47d9e8], 0
jg 0x40f069
xor edi, edi
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
jmp 0x40e3d0
cmp byte [esp + 0x40], 0
je 0x40d4fc
mov eax, dword [esp + 0x138]
mov edx, eax
and edx, 0xf000
cmp edx, 0x8000
je 0x40e810
movzx eax, ax
mov edx, esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
or edx, 8
movsx edx, dx
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004221e0
test eax, eax
jne 0x40c5a0
mov dword [esp + 0x3c], 2
or ebp, 0xffffffff
jmp 0x40d4fc
lea eax, [esp + 0x1190]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x128]
mov dword [esp + 0x40], eax
jmp 0x40dd94
mov eax, dword [ebx + 4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x160]
mov dword [esp], eax
call fcn.00419bb0
test eax, eax
jle 0x40e756
cmp word [0x480926], 0
jle 0x40c516
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str._s_is_newer_n
mov dword [esp], 2
mov dword [esp + 8], eax
call fcn.00420340
jmp 0x40c516
mov eax, dword [0x4808c0]
test eax, eax
je 0x40e84c
mov edx, dword [0x47d884]
test edx, edx
jne 0x40e82f
mov byte [esp + 0x30], 1
xor ebp, ebp
jmp 0x40d510
mov eax, dword [esp + 0x38]
mov byte [esp + 0x50], pe_nt_image_headers32
mov dword [esp + 0x60], eax
lea eax, [esp + 0x128]
mov dword [esp + 0x40], eax
jmp 0x40dbdb
cmp dword [0x47d8b8], 0
lea edi, [esp + 0x1190]
lea esi, [esp + 0x128]
mov dword [esp + 0x11f4], 0
mov dword [esp + 0x11f0], 0
mov ecx, 0x18
mov dword [esp + 0x48], edi
mov dword [esp + 0x40], esi
rep movsd dword es:[edi], dword [esi]
je 0x40e8f4
mov eax, dword [esp + 0x38]
xor ebp, ebp
mov dword [esp], eax
call fcn.00419720
test eax, eax
mov dword [esp + 0x30], eax
jne 0x40dddf
mov eax, dword [esp + 0x38]
mov byte [esp + 0x50], pe_nt_image_headers32
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x58], 0
mov dword [esp + 0x60], eax
jmp 0x40dc7d
mov eax, dword [0x47e700]
add dword [eax + 0x34], 1
jmp 0x40c5a0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.004368c0
jmp 0x40e4df
test ebp, ebp
mov dword [esp + 0x58], 0
jne 0x40e6d4
jmp 0x40dc7d
mov eax, dword [esp + 0x38]
mov dword [esp + 0x30], 0
xor ebp, ebp
mov byte [esp + 0x50], pe_nt_image_headers32
mov dword [esp + 0x58], 0
mov dword [esp + 0x60], eax
jmp 0x40dc92
mov dword [esp + 0x64], ebp
jmp 0x40e6f4
mov eax, dword [0x478200]
test eax, eax
je 0x40e94b
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004046e0
test eax, eax
js 0x40e94b
mov edx, dword [0x478200]
mov edx, dword [edx + 8]
mov eax, dword [edx + eax*4]
or word [eax + 0xe], 2
mov eax, dword [esp + 0x60]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0041f020
test eax, eax
mov dword [esp + 0x3c], eax
js 0x40ea21
cmp dword [0x47d8f0], 0
je 0x40e990
cmp byte [esp + 0x50], 0x80
jne 0x40e990
cmp dword [0x47d9e8], 0
jg 0x40ea89
xor edi, edi
xor esi, esi
mov dword [esp + 0x30], 0xffffffff
cmp word [0x48094e], 2
jle 0x40e9f0
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0x154]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0043ece0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], str.gen_mapped__s_of_size__s_n
mov dword [esp], 2
mov dword [esp + 8], eax
call fcn.00420340
xor ebp, ebp
cmp word [0x48094e], 1
jle 0x40e3d0
mov eax, dword [esp + 0x28]
mov dword [esp + 4], str.generating_and_sending_sums_for__d_n
mov dword [esp], 2
mov dword [esp + 8], eax
call fcn.00420340
jmp 0x40e3d0
mov eax, dword [esp + 0x60]
xor edi, edi
mov dword [esp], eax
call fcn.004191d0
mov esi, eax
call sub.cygwin1.dll___errno
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.failed_to_open__s__continuing
mov eax, dword [eax]
mov dword [esp], 3
mov dword [esp + 4], eax
call fcn.0041f9e0
cmp dword [0x47d9d0], 0
je 0x40ea6f
movzx eax, word [ebx + 0xe]
and ax, 0xa0
cmp ax, 0x20
je 0x40e8c0
mov dword [esp + 0x64], 0xffffffff
or ebp, 0xffffffff
xor esi, esi
mov dword [esp + 0x30], 0xffffffff
jmp 0x40e3d0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004218a0
test eax, eax
mov edi, eax
je 0x40eb28
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004031a0
test eax, eax
mov esi, eax
je 0x40f14d
mov dword [esp], edi
call fcn.004182e0
test eax, eax
je 0x40f104
call sub.cygwin1.dll___errno
cmp dword [eax], 2
je 0x40f104
mov dword [esp], edi
call fcn.004191d0
mov ebx, eax
call sub.cygwin1.dll___errno
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x455014
mov eax, dword [eax]
mov dword [esp], 1
mov dword [esp + 4], eax
call fcn.0041f9e0
mov dword [esp], esi
call fcn.00403eb0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.cygwin1.dll_close
jmp 0x40c5a0
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x4000
mov dword [esp + 0xc], 0
mov dword [esp + 4], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.0040b150
cmp dword [0x4781c0], 0
je 0x40d8d9
jmp 0x40daa8
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.0040b150
jmp 0x40da20
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], 1
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.0042f300
test eax, eax
je 0x40da67
cmp dword [0x47d9d0], 0
je 0x40ec41
test byte [ebx + 0xe], 0x20
je 0x40ec41
mov eax, dword [esp + 0x21b4]
mov dword [esp + 0x18], edi
mov dword [esp], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x21b0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.0042f390
cmp dword [0x4781c0], 0
jne 0x40ec8e
cmp word [0x480920], 1
jg 0x40ec61
cmp dword [0x47d864], 1
jle 0x40c8ed
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], 0x454b8c
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x5000
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], eax
jmp 0x40ebb3
cmp word [0x480920], 1
jg 0x40da3b
jmp 0x40c8ed
cmp dword [0x47d8f0], 0
mov eax, dword [0x47d9c8]
mov dword [esp + 0x70], eax
jne 0x40edec
mov eax, dword [esp + 0x38]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
lea eax, [esp + 0x1190]
mov dword [esp], eax
mov edi, eax
mov dword [esp + 0x48], eax
call fcn.00411810
test eax, eax
mov edx, eax
js 0x40edac
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edi
mov dword [esp + 0x48], edx
call fcn.00413580
movzx eax, word [ebx + 0xc]
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.004192b0
test eax, eax
js 0x40ee62
cmp dword [0x47d8b8], 0
je 0x40ee5b
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00419720
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [0x47d9c8], 0
mov dword [esp], eax
call fcn.00409be0
mov edi, eax
mov eax, dword [esp + 0x70]
mov dword [0x47d9c8], eax
call fcn.00413540
test edi, edi
jne 0x40da79
lea eax, [esp + 0x1190]
mov dword [esp + 0x48], eax
cmp byte [esp + 0x30], 0
je 0x40dd94
mov eax, dword [esp + 0x50]
mov ecx, 0x18
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x64]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xd4], eax
rep movsd dword es:[edi], dword [esi]
jmp 0x40dd94
mov edi, dword [esp + 0x38]
or edx, 0xffffffff
jmp 0x40ece2
call sub.cygwin1.dll___errno
cmp dword [eax], 2
je 0x40da05
mov eax, dword [esp + 0x50]
mov ecx, 0x18
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x64]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xd4], eax
lea eax, [esp + 0x1190]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x48], eax
jmp 0x40dd94
mov dword [esp + 0x21b4], 2
mov eax, 0x454b8c
jmp 0x40dacf
xor eax, eax
jmp 0x40ed4f
cmp word [0x480916], 0
jle 0x40eea1
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.004191d0
mov esi, eax
call sub.cygwin1.dll___errno
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.copy_file__s____s
mov eax, dword [eax]
mov dword [esp], 2
mov dword [esp + 4], eax
call fcn.0041f9e0
mov dword [esp], edi
call fcn.0044e894
call fcn.00413540
lea eax, [esp + 0x1190]
mov dword [esp + 0x48], eax
jmp 0x40edac
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
cmp edx, 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jle 0x40f15e
mov ebp, dword [0x47d8e8]
test ebp, ebp
jne 0x40ef92
cmp dword [esp + 0x2c], 0
jl 0x40ef8d
jle 0x40ef7f
cmp dword [0x452f10], 0x1e
mov edx, 0x20000000
mov eax, 0x20000
mov ecx, 1
cmovl eax, edx
mov edx, dword [esp + 0x2c]
mov ebp, eax
mov eax, dword [esp + 0x28]
shrd eax, edx, 2
sar edx, 2
mov ebx, edx
or ebx, eax
je 0x40ef3d
add ecx, ecx
jmp 0x40ef1f
mov dword [esp + 0x58], 0
jmp 0x40dc7d
cmp ebp, ecx
jle 0x40ef92
mov eax, ecx
shr eax, 0x1f
test al, al
jne 0x40ef92
xor ebx, ebx
or ebx, ecx
mov eax, ebx
imul ebx
cmp dword [esp + 0x2c], edx
jg 0x40ef66
jl 0x40ef60
cmp dword [esp + 0x28], eax
jae 0x40ef66
mov eax, ecx
not eax
and ebx, eax
sar ecx, 1
cmp ecx, 7
jg 0x40ef4c
cmp ebx, 0x2bc
mov eax, 0x2bc
cmovge eax, ebx
mov ebp, eax
jmp 0x40ef92
cmp dword [esp + 0x28], 0x77a10
ja 0x40eefc
mov ebp, 0x2bc
cmp dword [0x452f10], 0x1a
mov eax, dword [0x45301c]
jle 0x40f1b3
mov ebx, dword [0x45301c]
cmp ebx, 0x10
je 0x40f1ae
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ecx, 0xa
mov dword [esp + 0x40], ebx
shrd eax, edx, 1
sar edx, 1
mov ebx, edx
or ebx, eax
je 0x40f193
add ecx, 2
jmp 0x40efc4
mov edi, dword [esp + 0x38]
mov dword [esp + 4], 3
mov dword [esp], edi
call fcn.004180a0
test eax, eax
js 0x40d2a3
movzx eax, word [ebx + 0xc]
mov dword [esp], edi
or eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call fcn.0041f420
test eax, eax
jns 0x40d27b
call sub.cygwin1.dll___errno
cmp dword [eax], 0x11
jne 0x40d2a3
xor eax, eax
jmp 0x40caa0
mov eax, dword [esp + 0x21b4]
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x21b0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.0042f390
jmp 0x40d24d
mov ebp, dword [esp + 0x38]
mov dword [esp], ebp
call fcn.004218a0
test eax, eax
mov edi, eax
je 0x40c5a0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.004031a0
test eax, eax
mov esi, eax
je 0x40f0f7
movzx eax, word [eax + 0xc]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 0xc], eax
call fcn.004192b0
test eax, eax
js 0x40e56c
mov byte [esp + 0x50], pe_nt_image_headers32
xor ebp, ebp
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
jmp 0x40e3d0
mov byte [esp + 0x40], 1
jmp 0x40c675
mov dword [esp + 0x3c], 0xffffffff
jmp 0x40ea54
mov dword [esp + 8], 0x180
mov dword [esp + 4], 0xe01
mov dword [esp], edi
call fcn.0041f020
test eax, eax
mov dword [esp + 0x30], eax
mov byte [esp + 0x50], 0x82
jns 0x40e99c
mov dword [esp], edi
call fcn.004191d0
mov ebx, eax
call sub.cygwin1.dll___errno
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x45501e
jmp 0x40eb0e
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.cygwin1.dll_close
jmp 0x40ea54
jl 0x40f16b
cmp dword [esp + 0x28], 0
ja 0x40eedd
mov eax, dword [esp + 0x21b8]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0042cc50
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.cygwin1.dll_close
jmp 0x40e4f9
mov ebx, dword [esp + 0x40]
mov eax, ebp
sar eax, 1
je 0x40f581
test ecx, ecx
je 0x40f581
sub ecx, 1
jmp 0x40f199
mov eax, 0x10
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 8], ebp
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xc0], eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0xa8], ecx
mov ecx, ebp
mov dword [esp + 0xac], ebx
sar ecx, 0x1f
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x44], ecx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ebx
mov dword [esp], ecx
call sub.cyggcc_s_1.dll___moddi3
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov ebx, eax
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.cyggcc_s_1.dll___divdi3
xor ecx, ecx
test ebx, ebx
setne cl
xor ebx, ebx
add eax, ecx
adc edx, ebx
mov ebx, eax
mov dword [esp + 0xb4], eax
sar ebx, 0x1f
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebx
cmp edx, dword [esp + 0x44]
je 0x40f5a1
cmp word [0x48094e], 1
mov dword [esp + 0xb4], 0xffffffff
jle 0x40f549
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0043ece0
mov ebx, eax
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xb8]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov ebp, dword [esp + 0xbc]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x48], ecx
mov dword [esp + 4], eax
mov dword [esp + 0x40], edx
call fcn.0043ece0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x18], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], str.count_s_rem_ld_blength_ld_s2length_d_flength_s_n
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov dword [esp], 2
call fcn.00420340
cmp dword [esp + 0xb4], 0
js 0x40f549
lea eax, [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x21b8]
mov dword [esp], eax
call fcn.0042cc50
cmp dword [esp + 0x30], 0xffffffff
jne 0x40f346
cmp dword [0x47d9e4], 0
jg 0x40f45e
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xc], 0x40000
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.00433d20
mov dword [esp + 0x48], 0
mov ebp, eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x58], esi
mov dword [esp + 0x60], edi
jmp 0x40f439
mov ebx, dword [esp + 0xb8]
mov eax, ebx
cdq
cmp edx, dword [esp + 0x2c]
jl 0x40f3c0
jg 0x40f3bc
cmp ebx, dword [esp + 0x28]
jbe 0x40f3c0
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], ebx
mov dword [esp], ebp
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call fcn.00433da0
mov esi, eax
mov eax, ebx
cdq
sub dword [esp + 0x28], ebx
mov eax, dword [esp + 0x30]
sbb dword [esp + 0x2c], edx
mov ecx, edx
mov edx, ebx
add edx, dword [esp + 0x40]
adc ecx, dword [esp + 0x44]
cmp eax, 0xffffffff
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
je 0x40f46f
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00418270
cmp dword [0x47d9e4], 0
jle 0x40f46f
add dword [esp + 0x48], 1
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
adc dword [esp + 0x4c], 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x48]
cmp dword [esp + 0xb4], eax
jg 0x40f3a4
test ebp, ebp
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x60]
je 0x40f45e
mov dword [esp], ebp
call fcn.004341e0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.cygwin1.dll_close
jmp 0x40e4f9
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0041d170
mov edi, eax
lea eax, [esp + 0x98]
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.0041d230
cmp word [0x48094e], 2
jle 0x40f50c
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0043ece0
mov edx, dword [esp + 0x4c]
mov esi, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0043ece0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], str.chunk__s__offset_s_len_ld_sum1_08lx_n
mov dword [esp], 2
call fcn.00420340
mov eax, dword [esp + 0x21b8]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0042cbe0
mov eax, dword [esp + 0xc0]
mov dword [esp + 8], eax
lea eax, [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x21b8]
mov dword [esp], eax
call fcn.0042bb30
jmp 0x40f41f
mov eax, dword [esp + 0x60]
mov dword [esp + 4], str.WARNING:_file_is_too_large_for_checksum_sending:__s_n
mov dword [esp], 4
mov dword [esp + 8], eax
call fcn.00420340
mov eax, dword [esp + 0x21b8]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0042cc50
jmp 0x40f45e
lea eax, [ecx - 0x18]
mov ecx, 8
cdq
idiv ecx
mov edx, 0x10
cmp eax, ebx
cmovl eax, ebx
cmp eax, 0x10
cmovg eax, edx
jmp 0x40f1b3
test eax, eax
je 0x40f318
cmp word [0x48094e], 1
jg 0x40f271
jmp 0x40f30a