joyce8/EMBER2024-capa huggingface dataset:
Function at 0x41efc0
Capabilities:
Delete directory

Disassembly:
sub esp, 0xc
mov edx, dword [0x47d9a0]
mov eax, dword [esp + 0x10]
test edx, edx
jne 0x41eff1
mov ecx, dword [0x47e208]
test ecx, ecx
jne 0x41f000
mov edx, dword [0x47d850]
test edx, edx
jne 0x41f000
mov dword [esp + 0x10], eax
add esp, 0xc
jmp 0x44e704
xor eax, eax
add esp, 0xc
ret
call sub.cygwin1.dll___errno
mov dword [eax], 0x1e
mov eax, 0xffffffff
jmp 0x41eff3
jmp dword [sym.imp.cygwin1.dll_rmdir]

Function at 0x41f2f0
Capabilities:
Move file

Disassembly:
sub esp, 0xc
mov ecx, dword [0x47d9a0]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
jne 0x41f330
mov ecx, dword [0x47e208]
test ecx, ecx
jne 0x41f340
mov ecx, dword [0x47d850]
test ecx, ecx
jne 0x41f340
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
add esp, 0xc
jmp 0x44e6fc
xor eax, eax
add esp, 0xc
ret
call sub.cygwin1.dll___errno
mov dword [eax], 0x1e
mov eax, 0xffffffff
jmp 0x41f332
jmp dword [sym.imp.cygwin1.dll_rename]

Function at 0x41f420
Capabilities:
Create directory

Disassembly:
push esi
push ebx
sub esp, 0x14
mov ecx, dword [0x47d9a0]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
test ecx, ecx
jne 0x41f464
mov edx, dword [0x47e208]
test edx, edx
jne 0x41f470
mov eax, dword [0x47d850]
test eax, eax
jne 0x41f470
mov dword [esp], ebx
call fcn.0041f3d0
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], ebx
add esp, 0x14
pop ebx
pop esi
jmp 0x44e68c
xor eax, eax
add esp, 0x14
pop ebx
pop esi
ret
call sub.cygwin1.dll___errno
mov dword [eax], 0x1e
mov eax, 0xffffffff
jmp 0x41f466
jmp dword [sym.imp.cygwin1.dll_mkdir]

Function at 0x41f670
Capabilities:
Set file attributes

Disassembly:
mov ecx, dword [0x47d9a0]
xor eax, eax
test ecx, ecx
jne 0x41f6db
sub esp, 0x2c
mov edx, dword [0x47e208]
test edx, edx
jne 0x41f6e0
mov eax, dword [0x47d850]
test eax, eax
jne 0x41f6e0
mov dword [esp], 0
call sub.cygwin1.dll_time
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x34]
mov edx, 0x10624dd3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
mov eax, edx
mul dword [esp + 0x38]
lea eax, [esp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
shr edx, 6
mov dword [esp], eax
mov dword [esp + 0x1c], edx
call sub.cygwin1.dll_utimes
add esp, 0x2c
repz ret
call sub.cygwin1.dll___errno
mov dword [eax], 0x1e
mov eax, 0xffffffff
jmp 0x41f6d8
Function at 0x41f7f0
Capabilities:
Write file on windows

Disassembly:
push ebp
push edi
mov edi, eax
push esi
lea esi, [edx + ecx]
push ebx
sub esp, 0x2c
cmp edx, esi
jae 0x41f8bc
mov eax, dword [sym.imp.cygwin1.dll___ctype_ptr__]
lea ebp, [esi - 4]
mov ebx, edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
jmp 0x41f889
mov edi, dword [sym.imp.cygwin1.dll___ctype_ptr__]
movzx ecx, al
mov edi, dword [edi]
movsx ecx, byte [edi + ecx + 1]
and ecx, 0x97
jne 0x41f8ad
cmp ebx, edx
je 0x41f865
mov eax, dword [esp + 0x18]
mov dword [esp + 8], 1
mov dword [esp], edx
mov dword [esp + 0xc], eax
mov eax, ebx
sub eax, edx
mov dword [esp + 4], eax
call sub.cygwin1.dll_fwrite
cmp eax, 1
jne 0x41f92e
movzx eax, byte [ebx]
add ebx, 1
mov dword [esp + 4], str._03o
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
cmp esi, ebx
mov edx, ebx
jbe 0x41f8b8
cmp ebp, ebx
jbe 0x41f926
movzx eax, byte [ebx]
cmp al, 0x5c
mov ecx, eax
je 0x41f8f0
cmp cl, 9
mov eax, ecx
je 0x41f8b1
mov ecx, dword [esp + 0x40]
test ecx, ecx
jne 0x41f820
cmp al, 0x1f
jbe 0x41f838
add ebx, 1
cmp esi, ebx
ja 0x41f889
mov edi, dword [esp + 0x18]
cmp edx, esi
je 0x41f8df
sub esi, edx
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov dword [esp], edx
call sub.cygwin1.dll_fwrite
cmp eax, 1
jne 0x41f94a
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [ebx + 1], 0x23
jne 0x41f8a1
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi]
movzx edi, byte [ebx + 2]
test byte [ecx + edi + 1], 4
je 0x41f8a1
movzx edi, byte [ebx + 3]
test byte [ecx + edi + 1], 4
je 0x41f8a1
movzx edi, byte [ebx + 4]
test byte [ecx + edi + 1], 4
jne 0x41f838
jmp 0x41f8a1
movzx ecx, byte [ebx]
jmp 0x41f89a
mov dword [esp + 8], 0xee
mov dword [esp + 4], str.log.c
mov dword [esp], 0xd
call fcn.00412fd0
mov dword [esp + 8], 0xf4
mov dword [esp + 4], str.log.c
mov dword [esp], 0xd
call fcn.00412fd0
lea esi, [esi]
lea edi, [edi]
Function at 0x4212d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
mov eax, str.recv
push esi
push ebx
sub esp, 0x2c
mov edx, dword [0x47d968]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
test edx, edx
mov edx, str.send
cmovne eax, edx
cmp ebx, 6
mov dword [esp + 0x1c], eax
je 0x42131d
mov edx, dword [0x47d8a4]
test edx, edx
je 0x421318
mov eax, dword [0x47d96c]
test eax, eax
je 0x421360
cmp ebx, 7
je 0x42132c
mov edx, dword [0x47d8a8]
test edx, edx
je 0x42132c
cmp byte [edx], 0
jne 0x421334
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], edi
mov eax, 6
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x1c]
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004203f0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc], ebp
mov eax, 7
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.004203f0
jmp 0x421318

Function at 0x421390
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push edi
push esi
push ebx
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov eax, edx
and ah, 0xa7
test edi, edi
je 0x421410
test eax, eax
je 0x421482
test eax, eax
mov eax, edx
mov edi, 1
setne cl
shr eax, 0xe
and al, cl
jne 0x421420
mov eax, ecx
mov ecx, dword [0x47d96c]
test ecx, ecx
jne 0x421430
test edi, edi
je 0x4214e3
test al, al
mov ecx, 2
jne 0x4213f3
cmp dword [0x47d85c], 1
sbb ecx, ecx
and ecx, 5
add ecx, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ecx
pop ebx
pop esi
pop edi
jmp fcn.004212d0
xor edi, edi
test eax, eax
mov eax, edx
setne cl
shr eax, 0xe
and al, cl
je 0x4213c7
mov ecx, dword [0x47d96c]
test ecx, ecx
je 0x421514
nop
mov ecx, dword [0x47d8ac]
test ecx, ecx
je 0x421510
mov ecx, dword [0x47d9a0]
test ecx, ecx
jne 0x421510
test edi, edi
je 0x421510
test al, al
jne 0x421466
mov edi, dword [0x47d85c]
test edi, edi
je 0x421510
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 6
pop ebx
pop esi
pop edi
jmp fcn.004212d0
cmp byte [ebx], 0
je 0x4214b0
mov eax, dword [0x47d96c]
test eax, eax
je 0x4213e4
mov ecx, dword [0x47d8ac]
xor eax, eax
mov edi, 1
test ecx, ecx
jne 0x42143e
jmp 0x421510
mov ecx, dword [0x47d864]
cmp ecx, 1
jg 0x421487
cmp word [0x480920], 1
setg al
test ecx, ecx
mov edi, eax
setne al
mov ecx, edi
and al, cl
jne 0x421487
mov ecx, dword [0x47d96c]
xor edi, edi
test ecx, ecx
jne 0x421430
cmp byte [ebx], 0
jne 0x4213db
test al, al
je 0x421510
movzx eax, word [esi + 0xc]
mov ecx, 2
and ax, 0xf000
cmp ax, 0x4000
je 0x4213f3
mov esi, esi
lea edi, [edi]
pop ebx
pop esi
pop edi
ret
mov ecx, 2
jmp 0x4213f3
Function at 0x428cb0
Capabilities:
Get socket status

Disassembly:
push ebx
sub esp, 0x18
mov dword [esp], 1
mov ebx, dword [esp + 0x20]
call fcn.0042a6f0
mov edx, dword [0x47d95c]
test edx, edx
je 0x428cf9
cmp word [0x480962], 1
jle 0x428cf9
call fcn.00409f30
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str.__s__io_start_multiplex_out__d__n
mov dword [esp], 2
call fcn.00420340
mov eax, dword [0x452fe0]
test eax, eax
je 0x428d40
mov dword [esp], ebx
mov dword [0x452ffc], 4
call fcn.00428a00
mov eax, dword [0x452fd8]
mov edx, dword [0x452fd4]
mov dword [0x453014], 0
add edx, eax
add eax, 4
mov dword [0x453000], edx
mov dword [0x452fd8], eax
add esp, 0x18
pop ebx
ret
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 0x8000
call fcn.0041a790
test eax, eax
mov dword [0x452fe0], eax
je 0x428d88
mov dword [0x452fec], 0x8000
mov dword [0x452fe4], 0
mov dword [0x452fe8], 0
jmp 0x428d02
mov dword [esp], str.alloc_xbuf
call fcn.0041a8d0
lea esi, [esi]
lea edi, [edi]
Function at 0x42a6f0
Capabilities:
Get socket status

Disassembly:
sub esp, 0xc
mov edx, dword [0x452fd8]
mov eax, dword [0x452ffc]
mov ecx, dword [esp + 0x10]
cmp edx, eax
jbe 0x42a71e
test ecx, ecx
je 0x42a730
mov ecx, dword [0x452fdc]
mov edx, 2
sub ecx, eax
mov eax, ecx
call fcn.00428da0
mov eax, dword [0x452fe8]
test eax, eax
jne 0x42a74d
add esp, 0xc
ret
mov eax, dword [0x452fdc]
add eax, 1
sub eax, edx
mov edx, 2
call fcn.00428da0
mov eax, dword [0x452fe8]
test eax, eax
je 0x42a727
mov eax, dword [0x452fec]
mov edx, 4
add esp, 0xc
jmp fcn.00428da0

Function at 0x42a860
Capabilities:
Get socket status

Disassembly:
sub esp, 0x1c
mov ecx, dword [0x470040]
mov eax, dword [esp + 0x20]
test ecx, ecx
je 0x42a8c0
mov edx, dword [0x452fd0]
test edx, edx
je 0x42a8c0
mov edx, dword [0x452ffc]
cmp dword [0x452fd8], edx
jbe 0x42a8c0
test eax, eax
je 0x42a8a0
mov dword [esp + 0x20], 0
add esp, 0x1c
jmp fcn.0042a6f0
mov dword [esp], 0
call sub.cygwin1.dll_time
sub eax, dword [0x47dc80]
cmp eax, 4
jg 0x42a88d
mov esi, esi
lea edi, [edi]
add esp, 0x1c
ret

Function at 0x42a8d0
Capabilities:
Get socket status

Disassembly:
push ebx
sub esp, 0x18
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
test bl, 2
je 0x42a8e6
mov dword [0x47dc84], eax
mov ecx, dword [0x47d968]
test ecx, ecx
jne 0x42a960
mov edx, dword [0x47d654]
test edx, edx
jne 0x42a995
mov ecx, dword [0x47d650]
test ecx, ecx
je 0x42a990
sub eax, dword [0x47dc80]
cmp eax, dword [0x47dbe0]
jl 0x42a990
lea esi, [esi]
mov edx, dword [0x452fe8]
test edx, edx
jne 0x42a9c0
mov eax, dword [0x452fd8]
mov ecx, dword [0x452ffc]
cmp eax, ecx
je 0x42a9e0
and ebx, 1
je 0x42a990
cmp eax, ecx
jbe 0x42a990
mov dword [esp + 0x20], 0
add esp, 0x18
pop ebx
jmp fcn.0042a6f0
mov edx, eax
sub edx, dword [0x47dc80]
cmp edx, dword [0x47dbe0]
jl 0x42a990
mov edx, dword [0x47d654]
test edx, edx
je 0x42a920
sub eax, dword [0x47dc84]
cmp eax, dword [0x47d950]
jl 0x42a920
nop
lea esi, [esi]
add esp, 0x18
pop ebx
ret
mov edx, eax
sub edx, dword [0x47dc80]
cmp edx, dword [0x47dbe0]
jl 0x42a990
sub eax, dword [0x47dc84]
cmp eax, dword [0x47d950]
jl 0x42a920
jmp 0x42a990
and ebx, 1
je 0x42a990
mov eax, dword [0x452fec]
add esp, 0x18
pop ebx
add eax, 1
sub eax, edx
mov edx, 4
jmp fcn.00428da0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x45c7a2
mov dword [esp], 0
call fcn.0042a120
and ebx, 1
je 0x42a990
mov edx, dword [0x452fe8]
mov eax, dword [0x452fd8]
mov ecx, dword [0x452ffc]
test edx, edx
je 0x42a946
jmp 0x42a9c5
Function at 0x42aa30
Capabilities:
Get socket status

Disassembly:
push edi
push esi
mov esi, eax
push ebx
mov edi, edx
sub esp, 0x10
mov dword [esp], 0
call sub.cygwin1.dll_time
test esi, esi
mov ebx, eax
jne 0x42aa90
mov edx, dword [0x47dc84]
test edx, edx
jne 0x42aa5c
mov dword [0x47dc84], ebx
mov eax, dword [0x47d654]
test eax, eax
jne 0x42aa81
mov eax, dword [0x47dc84]
cmp dword [0x47dc80], eax
cmovge eax, dword [0x47dc80]
sub ebx, eax
cmp ebx, dword [0x47d950]
jge 0x42aa9e
add esp, 0x10
pop ebx
pop esi
pop edi
ret
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0042a8d0
jmp 0x42aa4c
cmp dword [0x47d96c], 0
je 0x42aab1
mov dword [0x47d95c], 1
call fcn.00409f30
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str.__s__io_timeout_after__d_seconds____exiting_n
mov dword [esp], 3
call fcn.00420340
mov dword [esp + 8], 0xc3
mov dword [esp + 4], str.io.c
mov dword [esp], 0x1e
call fcn.00412fd0
nop
Function at 0x42aaf0
Capabilities:
Get socket status

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x6c
cmp dword [0x452ff0], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
mov ecx, eax
mov dword [esp + 0x38], edx
je 0x42ad0c
mov ebx, eax
lea eax, [eax + 1]
mov esi, 1
lea edi, [esp + 0x50]
lea ebp, [esp + 0x58]
shr ebx, 5
shl esi, cl
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov eax, edi
lea esi, [esi]
lea edi, [edi]
add eax, 1
mov byte [eax - 1], 0
cmp eax, ebp
jne 0x42ab40
or dword [esp + ebx*4 + 0x50], esi
mov eax, ebp
lea ecx, [esp + 0x60]
add eax, 1
mov byte [eax - 1], 0
cmp eax, ecx
jne 0x42ab51
mov eax, dword [0x452f74]
or dword [esp + ebx*4 + 0x58], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], eax
lea eax, [esp + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_select
cmp eax, 0
jle 0x42ac35
test dword [esp + ebx*4 + 0x50], esi
je 0x42ab34
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
sub eax, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
add eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call sub.cygwin1.dll_read
cmp word [0x480962], 1
mov edx, eax
jle 0x42ac0d
mov dword [esp + 0x3c], eax
call fcn.00409f30
mov edx, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.__s__safe_read__d__ld_n
mov dword [esp], 2
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], edx
call fcn.00420340
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x42ac29
js 0x42acb0
add dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x30]
jne 0x42ab34
mov eax, dword [esp + 0x2c]
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
jne 0x42ac58
mov eax, dword [0x47d950]
test eax, eax
je 0x42ab34
mov edx, 1
mov eax, 1
call fcn.0042aa30
jmp 0x42ab34
call sub.cygwin1.dll___errno
cmp dword [eax], 9
jne 0x42ac37
call fcn.00409f30
mov ebx, eax
call sub.cygwin1.dll___errno
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.safe_read_select_failed___s_
mov eax, dword [eax]
mov dword [esp], 3
mov dword [esp + 4], eax
call fcn.0041f9e0
mov dword [esp + 8], 0x100
mov dword [esp + 4], str.io.c
mov dword [esp], 0xb
call fcn.00412fd0
nop
lea esi, [esi]
call sub.cygwin1.dll___errno
cmp dword [eax], 4
je 0x42ab34
call fcn.00409f30
mov ebx, eax
call sub.cygwin1.dll___errno
mov edi, dword [esp + 0x30]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], str.safe_read_failed_to_read__ld_bytes___s_
mov dword [esp + 0xc], edi
mov eax, dword [eax]
mov dword [esp], 3
mov dword [esp + 4], eax
call fcn.0041f9e0
mov dword [esp + 8], 0x114
mov dword [esp + 4], str.io.c
mov dword [esp], 0xc
call fcn.00412fd0
mov dword [esp + 0xc], str.fd___iobuf.in_fd
mov dword [esp + 8], str.safe_read
mov dword [esp + 4], 0xed
mov dword [esp], str.io.c
call sub.cygwin1.dll___assert_func
Function at 0x42b8f0
Capabilities:
Get socket status

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
cmp dword [0x452ff4], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
je 0x42bb07
mov eax, dword [esp + 0x28]
mov edi, ecx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.cygwin1.dll_write
cmp eax, edi
je 0x42b9bd
test eax, eax
js 0x42ba84
add dword [esp + 0x28], eax
sub edi, eax
test edi, edi
je 0x42b9bd
mov ecx, dword [esp + 0x2c]
mov esi, 1
lea ebx, [esp + 0x38]
lea eax, [ecx + 1]
mov ebp, ecx
shl esi, cl
shr ebp, 5
mov dword [esp + 0x24], eax
lea esi, [esi]
mov eax, ebx
lea edx, [esp + 0x40]
add eax, 1
mov byte [eax - 1], 0
cmp eax, edx
jne 0x42b962
mov eax, dword [0x452f74]
or dword [esp + ebp*4 + 0x38], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call sub.cygwin1.dll_select
cmp eax, 0
jle 0x42b9c5
test dword [esp + ebp*4 + 0x38], esi
jne 0x42b9f1
test edi, edi
jne 0x42b960
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
jne 0x42ba15
mov eax, dword [0x47d950]
test eax, eax
je 0x42b960
mov dword [esp], 0
call sub.cygwin1.dll_time
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0042a8d0
jmp 0x42b960
mov eax, dword [esp + 0x28]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.cygwin1.dll_write
test eax, eax
js 0x42ba74
add dword [esp + 0x28], eax
sub edi, eax
jmp 0x42b9b9
call sub.cygwin1.dll___errno
cmp dword [eax], 9
jne 0x42b9c7
call fcn.00409f30
mov esi, eax
mov eax, dword [esp + 0x2c]
call fcn.0045014e
mov ebx, eax
call sub.cygwin1.dll___errno
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.safe_write_select_failed_on__s___s_
mov eax, dword [eax]
mov dword [esp], 3
mov dword [esp + 4], eax
call fcn.0041f9e0
mov dword [esp + 8], 0x156
mov dword [esp + 4], str.io.c
mov dword [esp], 0xb
call fcn.00412fd0
call sub.cygwin1.dll___errno
cmp dword [eax], 4
je 0x42b960
jmp 0x42baae
call sub.cygwin1.dll___errno
cmp dword [eax], 4
je 0x42b93b
call sub.cygwin1.dll___errno
cmp dword [eax], 0xb
je 0x42b93b
call sub.cygwin1.dll___errno
cmp dword [eax], 0xb
je 0x42b93b
call fcn.00409f30
mov esi, eax
mov eax, dword [esp + 0x2c]
call fcn.0045014e
mov ebx, eax
call sub.cygwin1.dll___errno
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.safe_write_failed_to_write__ld_bytes_to__s___s_
mov eax, dword [eax]
mov dword [esp], 3
mov dword [esp + 4], eax
call fcn.0041f9e0
mov dword [esp + 8], 0x140
mov dword [esp + 4], str.io.c
mov dword [esp], 0xc
call fcn.00412fd0
mov dword [esp + 0xc], str.fd___iobuf.out_fd
mov dword [esp + 8], str.safe_write
mov dword [esp + 4], 0x135
mov dword [esp], str.io.c
call sub.cygwin1.dll___assert_func
nop
lea esi, [esi]
Function at 0x42bb30
Capabilities:
Get socket status

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov edi, dword [esp + 0x40]
cmp dword [0x452ff4], edi
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
je 0x42bb70
mov ecx, esi
mov edx, ebp
mov eax, edi
call fcn.0042b8f0
cmp edi, dword [0x452f80]
je 0x42bbcf
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [0x452fd8]
mov eax, dword [0x452fdc]
lea edx, [esi + ebx]
cmp edx, eax
ja 0x42bbe4
mov edx, dword [0x452fd4]
add ebx, edx
mov ecx, ebx
sub ecx, eax
cmp ebx, eax
cmovae ebx, ecx
cmp ebx, edx
jb 0x42bb9d
sub eax, ebx
cmp esi, eax
ja 0x42bc00
add ebx, dword [0x452fd0]
mov dword [esp + 8], esi
mov dword [esp + 4], ebp
mov dword [esp], ebx
call sub.cygwin1.dll_memcpy
xor edx, edx
add dword [0x452fd8], esi
add dword [0x47dbc0], esi
adc dword [0x47dbc4], edx
cmp edi, dword [0x452f80]
jne 0x42bb5e
mov eax, dword [0x453018]
add esp, 0x2c
mov ecx, esi
pop ebx
mov edx, ebp
pop esi
pop edi
pop ebp
jmp fcn.0042b8f0
mov edx, 2
mov eax, esi
call fcn.00428da0
mov ebx, dword [0x452fd8]
mov eax, dword [0x452fdc]
jmp 0x42bb82
add ebx, dword [0x452fd0]
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp + 0x1c], eax
mov dword [esp], ebx
call sub.cygwin1.dll_memcpy
mov edx, dword [esp + 0x1c]
mov ecx, esi
lea eax, [ebp + edx]
sub ecx, edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [0x452fd0]
mov dword [esp], eax
call sub.cygwin1.dll_memcpy
jmp 0x42bbb3

Function at 0x42bc40
Capabilities:
Get socket status

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
mov ebp, dword [0x452ff0]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
cmp ebp, ebx
je 0x42bc84
mov ecx, esi
mov edx, edi
mov eax, ebx
call fcn.0042aaf0
cmp eax, esi
jne 0x42bd75
cmp ebx, dword [0x452f84]
je 0x42bd60
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [0x452ff8]
test ecx, ecx
je 0x42bd20
mov ebx, dword [0x453008]
test ebx, ebx
je 0x42bce9
sub ebx, dword [0x452fc4]
mov eax, dword [0x452fcc]
cmp ebx, eax
cmova ebx, eax
mov eax, edi
cmp ebx, esi
cmova ebx, esi
mov edx, ebx
call fcn.0042a620
mov eax, dword [0x47dbd8]
xor edx, edx
add dword [0x47dbc8], ebx
adc dword [0x47dbcc], edx
test eax, eax
jne 0x42bcf0
cmp ebp, dword [0x452f84]
je 0x42bd0d
sub esi, ebx
je 0x42bc7c
add edi, ebx
mov ebx, dword [0x453008]
test ebx, ebx
jne 0x42bc9c
call fcn.0042ade0
jmp 0x42bc92
mov eax, dword [0x452ff4]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0042bb30
cmp ebp, dword [0x452f84]
jne 0x42bcd9
mov eax, dword [0x453018]
mov ecx, ebx
mov edx, edi
call fcn.0042b8f0
jmp 0x42bcd9
mov edx, esi
mov eax, edi
call fcn.0042a620
xor edx, edx
add dword [0x47dbc8], esi
adc dword [0x47dbcc], edx
mov edx, dword [0x47dbd8]
test edx, edx
je 0x42bc70
mov eax, dword [0x452ff4]
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0042bb30
jmp 0x42bc70
mov eax, dword [0x453018]
add esp, 0x1c
mov ecx, esi
pop ebx
mov edx, edi
pop esi
pop edi
pop ebp
jmp fcn.0042b8f0
xor eax, eax
call fcn.00428770
lea esi, [esi]
Function at 0x42c470
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
and eax, 4
mov dword [esp + 0x18], eax
je 0x42c49c
mov eax, dword [esp + 0x68]
cmp dword [0x47dc68], eax
jb 0x42c5e9
mov eax, dword [esp + 0x68]
sub eax, 1
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x6c]
and eax, 2
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
test ebx, ebx
mov ebx, edi
cmovne ebx, dword [0x47dc5c]
lea ebp, [ebx + eax]
cmp dword [0x452ff0], esi
je 0x42c541
lea edx, [esp + 0x2f]
mov ecx, 1
mov eax, esi
call fcn.0042aaf0
test eax, eax
je 0x42c505
test byte [esp + 0x6c], 1
movzx eax, byte [esp + 0x2f]
je 0x42c569
test al, al
sete dl
test dl, dl
je 0x42c530
cmp ebx, edi
jne 0x42c505
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x42c4c8
mov edx, dword [esp + 0x14]
mov byte [ebx], 0
test edx, edx
je 0x42c51b
movzx eax, byte [edi]
cmp al, 0x3b
je 0x42c4b2
cmp al, 0x23
je 0x42c4b2
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x42c57a
add esp, 0x4c
mov eax, ebx
sub eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ebx, ebp
jae 0x42c4c8
mov byte [ebx], al
add ebx, 1
cmp dword [0x452ff0], esi
jne 0x42c4d0
lea eax, [esp + 0x30]
mov dword [esp + 8], 1
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0042bc40
movzx eax, byte [esp + 0x30]
test byte [esp + 0x6c], 1
mov byte [esp + 0x2f], al
jne 0x42c4f0
cmp al, 0xa
sete cl
cmp al, 0xd
sete dl
or edx, ecx
jmp 0x42c4f5
mov eax, dword [esp + 0x68]
sub ebx, dword [0x47dc5c]
mov dword [esp + 0xc], 0x16
mov dword [esp + 4], 0x47dc5c
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x34], 0
mov dword [0x47dc64], ebx
mov dword [0x47dc60], 0
mov dword [esp + 8], eax
mov eax, dword [0x451030]
mov dword [esp], eax
call fcn.00408d10
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
mov byte [edx + eax], 0
mov eax, dword [esp + 0x38]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
lea ebx, [eax + 0x400]
mov eax, dword [0x47dc5c]
mov dword [esp + 4], 1
mov dword [esp + 8], ebx
mov dword [esp], eax
call fcn.0041a7e0
test eax, eax
je 0x42c61c
mov dword [0x47dc5c], eax
mov dword [0x47dc68], ebx
jmp 0x42c49c
mov dword [esp], str.realloc_xbuf
call fcn.0041a8d0
nop
lea esi, [esi]