joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4105c0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
xor eax, eax
push edi
push esi
push ebx
sub esp, 0x2c
mov ebx, dword [ebp + 8]
and esp, 0xfffffff0
call fcn.0042bee0
call sym.___main
xor eax, eax
cmp ebx, 2
mov dword [0x43125c], eax
je 0x4106ed
cmp ebx, 2
jle 0x410677
cld
mov ecx, dword [ebp + 0xc]
mov edi, 0x410430
mov eax, dword [ecx + 4]
mov ecx, 3
mov esi, eax
mov dword [ebp - 0x14], eax
repe cmpsb byte [esi], byte es:[edi]
je 0x41061f
mov esi, dword [ebp - 0x14]
mov edi, 0x410433
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
jne 0x410677
mov esi, 1
mov dword [0x43125c], esi
call sym._initvars
mov edx, dword [0x431258]
xor esi, esi
mov eax, dword [0x43125c]
sub ebx, edx
sub ebx, eax
lea ecx, [ebx - 1]
cmp esi, ecx
jge 0x410668
mov edi, dword [ebp + 0xc]
lea eax, [eax + edx]
mov ebx, 0x4311d0
lea edx, [edi + eax*4 + 4]
mov eax, dword [edx]
add edx, 4
mov dword [ebx + esi*4], eax
inc esi
cmp esi, 9
jg 0x410668
cmp esi, ecx
jl 0x410656
call sym._startupiroffer
lea esi, [esi]
call sym._mainloop
jmp 0x410670
cmp ebx, 1
jle 0x4106c0
cld
mov eax, dword [ebp + 0xc]
mov edi, 0x410436
mov ecx, 3
mov edx, dword [eax + 4]
mov esi, edx
mov dword [ebp - 0x18], edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4106c0
mov esi, dword [ebp - 0x18]
mov edi, 0x410433
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x4106c0
xor edi, edi
mov dword [0x431258], edi
jmp 0x41062a
mov dword [esp], 0x410450
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
call sym._printf
mov dword [esp], 1
call sym._exit
cld
mov eax, dword [ebp + 0xc]
mov edi, 0x410564
mov ecx, 3
mov eax, dword [eax + 4]
mov esi, eax
mov dword [ebp - 0x10], eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x41071c
mov dword [esp], 0x410570
call sym._puts
mov dword [esp], 0
jmp 0x4106e8
cld
mov esi, dword [ebp - 0x10]
mov edi, 0x4105b2
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
jne 0x4105eb
call sym._createpassword
jmp 0x410713
Function at 0x41d4f0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1c
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
test eax, eax
je 0x41d510
cmp dword [0x4315ac], 2
je 0x41d619
mov eax, dword [0x431c0c]
test eax, eax
jne 0x41d580
mov eax, dword [0x431c04]
test eax, eax
jne 0x41d5ec
xor edi, edi
xor ebx, ebx
lea esi, [esi]
mov eax, dword [ebx*4 + 0x4315b4]
test eax, eax
je 0x41d590
inc ebx
test edi, edi
jne 0x41d580
cmp ebx, 0x12b
jle 0x41d530
mov eax, dword [0x431ae4]
test eax, eax
je 0x41d56b
mov dword [ebp + 8], 2
mov dword [ebp + 0xc], 0x41d490
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
jmp sym._outerror
call sym._gototop
jmp 0x41d551
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], esi
mov edi, 1
call sym._strlen
mov dword [esp + 0xc], 0x360
add eax, 2
mov dword [esp], eax
mov dword [esp + 4], 0x41d4be
mov dword [esp + 8], 0x41a25a
call sym._mycalloc2
mov dword [ebx*4 + 0x4315b4], eax
mov dword [esp], esi
call sym._strlen
mov ecx, dword [ebx*4 + 0x4315b4]
inc eax
mov dword [esp + 4], esi
mov dword [esp], ecx
mov dword [esp + 8], eax
call sym._strncpy
jmp 0x41d53b
mov dword [esp], 0
mov dword [esp + 4], 1
mov dword [esp + 8], 0x23
mov dword [esp + 0xc], 0x41d4cb
mov dword [esp + 0x10], esi
call sym._ioutput
jmp 0x41d526
mov eax, dword [0x431c04]
test eax, eax
jne 0x41d668
mov dword [esp], esi
call sym._strlen
mov ecx, 0x1ff
sub ecx, eax
mov dword [esp + 8], ecx
mov dword [esp], esi
mov dword [esp + 4], 0x41d4d5
call sym._strncat
mov dword [esp], esi
call sym._strlen
mov ecx, dword [0x431adc]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp], ecx
call sym._write
jmp 0x41d580
mov dword [esp], 0
mov dword [esp + 4], 1
mov dword [esp + 8], 0x23
mov dword [esp + 0xc], 0x41d4d7
mov dword [esp + 0x10], esi
call sym._ioutput
jmp 0x41d622
Function at 0x4216a0
Capabilities:
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0x58]
push ebx
xor ebx, ebx
sub esp, 0xcc
mov dword [esp], 0x421270
call sym._puts
lea esi, [esi]
mov dword [esp], 0x4214cc
call sym._printf
mov eax, dword [0x430f44]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym._fflush
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], 0x3b
call sym._read
test eax, eax
js 0x4218fc
cmp byte [eax + ebp - 0x59], 0xa
je 0x421940
sub eax, 5
cmp eax, 3
ja 0x421920
mov ebx, 1
test ebx, ebx
je 0x4216c0
mov dword [esp], 0x4214e9
lea ebx, [ebp - 0x98]
call sym._printf
mov eax, dword [0x430f44]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym._fflush
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x3b
call sym._read
test eax, eax
js 0x4218fc
cmp byte [eax + ebp - 0x99], 0xa
je 0x4218ee
mov dword [esp], esi
mov dword [esp + 4], ebx
call sym._strcmp
test eax, eax
jne 0x4218ba
call sym._getpid
mov dword [esp], 0
mov ebx, eax
call sym._time
mov ecx, 0x68db8bad
mov edi, eax
imul ecx
imul ebx, ebx, 0x1388
mov dword [ebp - 0xbc], edx
mov edx, edi
sar edx, 0x1f
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xbc]
sar eax, 0xb
sub eax, edx
imul eax, eax, 0x1388
sub edi, eax
lea edx, [edi + ebx]
mov dword [esp], edx
call sym._srand
call sym._rand
push eax
fild dword [esp]
add esp, 4
fmul qword [0x421690]
fnstcw word [ebp - 0xaa]
movzx eax, word [ebp - 0xaa]
fdiv qword [0x421698]
or ax, 0xc00
mov word [ebp - 0xac], ax
fldcw word [ebp - 0xac]
fistp dword [ebp - 0xb0]
fldcw word [ebp - 0xaa]
mov ebx, dword [ebp - 0xb0]
mov eax, ebx
sar eax, 6
test eax, eax
mov edx, eax
js 0x4218b2
and edx, 0xffffffc0
sub eax, edx
mov dword [esp], eax
call sym._inttosaltchar
test ebx, ebx
mov byte [ebp - 0xa8], al
mov eax, ebx
js 0x4218ad
and eax, 0xffffffc0
sub ebx, eax
mov dword [esp], ebx
call sym._inttosaltchar
lea ecx, [ebp - 0xa8]
mov byte [ebp - 0xa7], al
mov byte [ebp - 0xa6], 0
mov dword [esp], esi
mov dword [esp + 4], ecx
call sym._crypt
test eax, eax
mov ebx, eax
je 0x421880
mov dword [esp], eax
call sym._strlen
cmp eax, 0xd
je 0x421897
mov dword [esp], 0x421510
call sym._puts
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0x4215b0
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call sym._printf
jmp 0x42188c
lea eax, [ebx + 0x3f]
jmp 0x421841
lea edx, [eax + 0x3f]
jmp 0x421828
mov dword [esp], 0x421610
mov dword [esp + 4], 1
mov dword [esp + 8], 0x25
mov eax, dword [0x430f44]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc], eax
call sym._fwrite
mov dword [esp], 1
call sym._exit
xor ecx, ecx
mov byte [eax + ebp - 0x99], cl
jmp 0x42176c
mov dword [esp], 0x421650
mov dword [esp + 4], 1
mov dword [esp + 8], 0x27
jmp 0x4218d1
mov dword [esp], 0x421678
call sym._puts
jmp 0x421718
mov byte [eax + ebp - 0x59], 0
dec eax
jmp 0x421707
Function at 0x422480
Capabilities:
Get file attributes

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
xor edx, edx
sub esp, 0x298
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], esi
mov dword [ebp - 4], edi
mov dword [ebp - 0x270], edx
mov dword [esp], 0x41a25a
mov dword [esp + 4], 0x4223bf
mov dword [esp + 8], 0x8c4
call sym._updatecontext_f
mov eax, dword [0x4312f0]
test eax, eax
jne 0x4224e0
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
mov dword [esp], 1
mov dword [esp + 4], 5
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x4223cf
call sym._ioutput
mov eax, dword [0x4312f0]
mov dword [esp + 4], 0x10200
mov dword [esp + 8], 0x180
mov dword [esp], eax
call sym._open
test eax, eax
mov ebx, eax
js 0x4226ec
mov dword [esp], eax
lea ecx, [ebp - 0x268]
mov dword [esp + 4], ecx
call sym._fstat
test eax, eax
js 0x42254b
mov esi, dword [ebp - 0x254]
test esi, esi
jne 0x422574
mov dword [esp], 3
mov dword [esp + 4], 5
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x4223e7
call sym._ioutput
jmp 0x4224c7
mov dword [esp], ebx
lea edi, [ebp - 0x26c]
mov dword [esp + 4], edi
mov dword [esp + 8], 4
call sym._read
cmp eax, 4
je 0x4225ac
mov dword [esp], 1
mov dword [esp + 4], 0x422410
call sym._outerror
jmp 0x4224c7
mov eax, dword [0x431bd8]
cmp dword [ebp - 0x26c], eax
jg 0x4226d8
xor eax, eax
mov dword [ebp - 0x27c], eax
lea esi, [esi]
lea edi, [edi]
mov dword [esp], ebx
lea edx, [ebp - 0x228]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x20c
call sym._read
cmp eax, 0x20c
je 0x422649
mov eax, 1
mov dword [ebp - 0x270], eax
inc dword [ebp - 0x27c]
cmp dword [ebp - 0x27c], 0x4f
jg 0x422615
mov eax, dword [ebp - 0x270]
test eax, eax
je 0x4225d0
mov dword [esp], ebx
xor edx, edx
mov dword [0x44bad0], edx
call sym._close
mov dword [esp], 3
mov dword [esp + 4], 5
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x41eafe
jmp 0x42256a
mov dword [esp], 0x20c
mov eax, dword [ebp - 0x26c]
mov ecx, 0x66666667
mov dword [esp + 4], 0x4223bf
mov edi, dword [0x431bd8]
mov dword [esp + 8], 0x41a25a
mov dword [esp + 0xc], 0x8e3
sub edi, eax
mov eax, edi
imul ecx
mov esi, edi
sar esi, 0x1f
sar edx, 2
sub edx, esi
sub dword [ebp - 0x24], edx
call sym._mycalloc2
mov ecx, dword [ebp - 0x27c]
mov edi, eax
test edi, 4
mov edx, 0x20c
mov dword [ecx*4 + 0x433324], eax
lea eax, [ebp - 0x228]
je 0x4226c9
mov eax, dword [ebp - 0x228]
mov edx, 0x208
mov dword [edi], eax
lea eax, [ebp - 0x224]
add edi, 4
cld
mov ecx, edx
shr ecx, 2
mov esi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x4225fc
mov dword [esp], 1
mov dword [esp + 4], 0x422450
jmp 0x4225a2
mov dword [esp], 1
mov dword [esp + 4], 0x422270
jmp 0x4225a2
Function at 0x424920
Capabilities:
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1c
mov esi, dword [ebp + 8]
mov dword [esp], 0x424830
mov dword [esp + 4], 0x42483f
mov dword [esp + 8], 0x28
call sym._updatecontext_f
mov dword [esp], 2
mov dword [esp + 4], 1
mov dword [esp + 8], 0
call sym._socket
mov dword [esi], eax
test eax, eax
js 0x424ac6
mov dword [esi + 0x50], 0
mov dword [esi + 0x58], 0
mov dword [esi + 0x5c], 0
mov dword [esi + 0x54], 0
mov eax, dword [0x431288]
mov word [esi + 0x50], 2
test eax, eax
je 0x424abb
movzx ecx, word [esi + 0xc]
movzx eax, word [0x43128c]
add eax, ecx
movzx edx, ax
xchg dh, dl
mov word [esi + 0x52], dx
xor ebx, ebx
lea edi, [esi + 0x50]
nop
lea esi, [esi]
mov eax, dword [esi]
mov dword [esp + 8], 0x10
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._bind
test eax, eax
js 0x424a90
mov ebx, 0x32
cmp ebx, 0x13
jle 0x4249c0
cmp ebx, 0x32
je 0x424a19
mov dword [esp], 1
mov dword [esp + 4], 0x424850
call sym._outerror
mov dword [esp + 4], 0x424872
mov dword [esp], esi
call sym._t_closeconn
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x10], 0x10
mov eax, dword [esi]
lea ebx, [ebp - 0x10]
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], ebx
call sym._getsockname
test eax, eax
js 0x424a7c
movzx edx, word [esi + 0x52]
mov eax, dword [esi]
xchg dh, dl
mov word [esi + 0x3c], dx
mov dword [esp], eax
mov dword [esp + 4], 1
call sym._listen
test eax, eax
js 0x424a6b
mov eax, 1
mov dword [esi + 0x2dc], eax
call sym._highestsock
jmp 0x424a11
mov dword [esp], 1
mov dword [esp + 4], 0x42488e
jmp 0x4249fc
mov dword [esp], 1
mov dword [esp + 4], 0x4248b0
jmp 0x4249fc
mov eax, dword [0x431288]
inc ebx
test eax, eax
je 0x4249de
movzx ecx, word [esi + 0xc]
movzx eax, word [0x43128c]
add eax, ecx
add eax, ebx
movzx edx, ax
xchg dh, dl
mov word [esi + 0x52], dx
jmp 0x4249e3
mov word [esi + 0x52], 0
jmp 0x4249b3
mov dword [esp], 1
mov dword [esp + 4], 0x4248f0
jmp 0x4249fc
Function at 0x4251d0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x40
mov ebx, dword [ebp + 8]
mov dword [esp], 0x424830
mov dword [esp + 4], 0x42508a
mov dword [esp + 8], 0xce
call sym._updatecontext_f
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [esp], 2
mov dword [esp + 4], 1
mov dword [esp + 8], 0
call sym._socket
mov dword [ebx + 4], eax
test eax, eax
js 0x425440
movzx edx, word [0x431200]
mov word [ebx + 0x3e], dx
xchg dh, dl
mov word [ebp - 0x16], dx
lea edx, [ebx + 0xd8]
mov word [ebp - 0x18], 2
mov dword [esp], edx
call sym._gethostbyname
test eax, eax
je 0x42542e
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
xchg ah, al
ror eax, 0x10
xchg ah, al
mov dword [ebx + 0x44], eax
mov eax, dword [0x43123c]
test eax, eax
je 0x4252f5
mov eax, dword [0x431240]
test eax, eax
je 0x425410
mov dword [ebp - 0x28], 0
lea esi, [ebp - 0x28]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x28], 2
mov word [ebp - 0x26], 0
mov dword [esp], eax
call sym._gethostbyname
test eax, eax
je 0x4253f8
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 4]
mov dword [esp + 8], 0x10
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._bind
test eax, eax
js 0x4253eb
mov eax, dword [ebx + 4]
mov dword [esp + 4], 1
mov dword [esp], eax
call sym._set_socket_nonblocking
test eax, eax
js 0x4253d2
mov dword [esp], 0xa
lea esi, [ebp - 0x18]
call sym._alarm
mov eax, dword [ebx + 4]
mov dword [esp + 8], 0x10
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._connect
test eax, eax
js 0x4253a0
mov dword [esp], 0
call sym._alarm
lea ecx, [ebp - 0x2c]
mov eax, dword [ebx + 4]
mov dword [ebp - 0x2c], 0x10
mov dword [esp + 4], esi
mov dword [esp], eax
mov dword [esp + 8], ecx
call sym._getsockname
test eax, eax
js 0x425380
mov esi, 6
mov dword [ebx + 0x2dc], esi
call sym._highestsock
add esp, 0x40
pop ebx
pop esi
pop ebp
ret
mov dword [esp], ebx
mov dword [esp + 4], 0x42509a
call sym._t_closeconn
jmp 0x425377
call sym.___errno
cmp dword [eax], 0x77
je 0x42533a
call sym.___errno
cmp dword [eax], 0xb
je 0x42533a
mov dword [esp], ebx
mov dword [esp + 4], 0x4250b1
call sym._t_closeconn
mov dword [esp], 0
call sym._alarm
jmp 0x425377
mov dword [esp], 2
mov dword [esp + 4], 0x424b6f
call sym._outerror
jmp 0x425310
mov dword [esp], ebx
mov dword [esp + 4], 0x4250d0
jmp 0x42538b
mov dword [esp], ebx
mov dword [esp + 4], 0x425110
jmp 0x42538b
mov dword [esp], 0
mov dword [esp + 4], 0x425150
call sym._outerror
mov eax, dword [0x431240]
jmp 0x425291
mov dword [esp], ebx
mov dword [esp + 4], 0x425190
jmp 0x42538b
mov dword [esp], ebx
mov dword [esp + 4], 0x4251b4
jmp 0x42538b
Function at 0x427600
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x228
mov dword [esp], 0x427477
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 4], esi
lea esi, [ebp - 0x208]
and ebx, 0xffffff7f
mov dword [esp + 4], 0x42758e
mov dword [esp + 8], 0x129
call sym._updatecontext_f
mov eax, dword [ebp + 0xc]
lea ecx, [ebp + 0x10]
mov dword [esp], esi
mov dword [esp + 4], 0x1fe
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call sym._vsnprintf
mov eax, dword [0x431258]
test eax, eax
jne 0x42766e
mov eax, dword [0x431ae4]
test eax, eax
je 0x427780
test ebx, ebx
je 0x4276f9
cmp ebx, 1
je 0x4276e0
cmp ebx, 2
je 0x427690
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
mov dword [esp], 0
mov dword [esp + 4], 7
mov dword [esp + 8], 0x1f
mov dword [esp + 0xc], 0x427597
mov dword [esp + 0x10], esi
call sym._ioutput
mov eax, dword [0x431258]
test eax, eax
je 0x427680
mov dword [esp], 0x4275a3
mov dword [esp + 4], esi
call sym._printf
jmp 0x427680
mov dword [esp], 0
mov dword [esp + 4], 7
mov dword [esp + 8], 0x9f
jmp 0x4276a7
mov dword [esp], 0
mov dword [esp + 4], 7
mov dword [esp + 8], 0x9f
mov dword [esp + 0xc], 0x4275b4
mov dword [esp + 0x10], esi
call sym._ioutput
mov ecx, dword [0x431258]
test ecx, ecx
jne 0x427771
mov dword [esp], 0x4275be
mov eax, dword [0x431af0]
mov dword [esp + 4], eax
call sym._printf
mov dword [esp + 4], 0x4275ca
mov dword [esp], 0
call sym._mylog
mov eax, dword [0x43127c]
test eax, eax
je 0x427765
mov dword [esp], eax
call sym._unlink
mov dword [esp], 1
call sym._exit
mov dword [esp], 0x4275e3
mov dword [esp + 4], esi
jmp 0x42773b
call sym._gototop
jmp 0x42766e
Function at 0x428140
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
mov dword [esp], 0x427477
mov dword [esp + 4], 0x4280f7
mov dword [esp + 8], 0x2b9
call sym._updatecontext_f
mov eax, dword [0x4312ec]
test eax, eax
jne 0x428180
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], eax
mov dword [esp + 4], 0x10201
mov dword [esp + 8], 0x180
call sym._open
mov dword [ebp - 0x14], eax
test eax, eax
js 0x4282dd
mov eax, dword [ebp - 0x14]
xor ebx, ebx
xor esi, esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], 2
call sym._lseek
lea esi, [esi]
lea edi, [edi]
mov dword [esp], edi
call sym._sstrlen
cmp ebx, eax
jge 0x4281f3
cmp esi, 2
jg 0x4281f3
cmp byte [ebx + edi], 0x20
je 0x4281f0
inc ebx
jmp 0x4281d0
inc esi
jmp 0x4281e7
lea esi, [ebx + 1]
mov ebx, edi
nop
lea esi, [esi]
mov dword [esp], edi
call sym._sstrlen
inc eax
cmp esi, eax
jge 0x428217
movzx edx, byte [esi + edi]
inc esi
mov byte [ebx], dl
inc ebx
jmp 0x428200
mov dword [esp], 0x200
xor ebx, ebx
mov dword [esp + 4], 0x4280f7
mov dword [esp + 8], 0x427477
mov dword [esp + 0xc], 0x2cd
call sym._mycalloc2
mov esi, eax
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x42827c
lea esi, [esi]
lea edi, [edi]
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._sstrlen
cmp ebx, eax
jge 0x42827c
mov eax, dword [ebp - 0x10]
movzx edx, byte [ebx + eax]
mov cl, dl
sub cl, 0x41
cmp cl, 0x19
ja 0x428279
mov eax, dword [ebp - 0x10]
add dl, 0x20
mov byte [ebx + eax], dl
inc ebx
jmp 0x428250
mov dword [esp], esi
mov eax, dword [0x431bd8]
mov dword [esp + 4], 0x1fe
mov dword [esp + 8], 0x428102
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x10]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
call sym._snprintf
mov dword [esp], esi
call sym._strlen
mov ebx, dword [ebp - 0x14]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp], ebx
call sym._write
mov dword [esp], esi
call sym._mydelete2
mov eax, dword [ebp - 0x14]
mov dword [ebp + 8], eax
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp sym._close
mov dword [ebp + 8], 1
mov dword [ebp + 0xc], 0x428110
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp sym._outerror

Function at 0x42a0e0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
xor eax, eax
push edi
push esi
lea esi, [ebp - 0x18]
mov edx, esi
push ebx
sub esp, 0x2c
mov byte [edx], 0
inc eax
inc edx
cmp eax, 7
jbe 0x42a0f0
mov dword [esp + 4], esi
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x20]
mov dword [esp + 0x10], edx
mov edi, dword [ebp + 8]
mov dword [esp + 8], 0
shr eax, 5
and edi, 0x1f
mov dword [esp + 0xc], 0
lea ebx, [eax*4]
mov ecx, edi
mov eax, 1
shl eax, cl
or dword [esi + ebx], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
inc eax
mov dword [esp], eax
call sym._select
xor edx, edx
test eax, eax
js 0x42a165
mov eax, dword [esi + ebx]
mov ecx, edi
xor edx, edx
sar eax, cl
test eax, 1
setne dl
add esp, 0x2c
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
Function at 0x42a170
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
xor eax, eax
push edi
push esi
lea esi, [ebp - 0x18]
mov edx, esi
push ebx
sub esp, 0x2c
mov byte [edx], 0
inc eax
inc edx
cmp eax, 7
jbe 0x42a180
mov dword [esp + 4], 0
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x20]
mov dword [esp + 0x10], edx
mov edi, dword [ebp + 8]
mov dword [esp + 8], esi
shr eax, 5
and edi, 0x1f
mov dword [esp + 0xc], 0
lea ebx, [eax*4]
mov ecx, edi
mov eax, 1
shl eax, cl
or dword [esi + ebx], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
inc eax
mov dword [esp], eax
call sym._select
xor edx, edx
test eax, eax
js 0x42a1f5
mov eax, dword [esi + ebx]
mov ecx, edi
xor edx, edx
sar eax, cl
test eax, 1
setne dl
add esp, 0x2c
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret

Function at 0x42a5fc
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
lea eax, [ebp - 0x30]
push edi
push esi
push ebx
mov esi, dword [ebp + 0x10]
mov edi, 0x430f00
mov dword [ebp - 0x34], 0
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov dword [ebp - 0x44], ecx
shl dword [ebp - 0x44], 6
add eax, 4
mov dword [ebp - 0x38], eax
mov ecx, 5
mov esi, esi
mov ebx, dword [ebp + 0xc]
add edx, edx
movsx eax, byte [edi]
inc edi
mov al, byte [eax + ebx]
xor al, byte [esi]
movsx eax, al
or edx, eax
inc esi
dec ecx
jns 0x42a630
mov ecx, dword [ebp - 0x44]
lea eax, [ecx + edx]
mov ecx, 3
movsx edx, byte [eax + 0x42d158]
mov eax, dword [ebp - 0x38]
lea esi, [esi]
dec eax
mov bl, dl
and bl, 1
mov byte [eax], bl
sar edx, 1
sub ecx, 1
jae 0x42a660
add eax, 4
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 7
jle 0x42a617
mov edi, 0x42d138
lea edx, [ebp - 0x30]
mov dword [ebp - 0x34], 0x1f
nop
lea esi, [esi]
mov ecx, dword [ebp + 8]
movsx eax, byte [edi]
inc edi
mov al, byte [eax + edx]
xor byte [ecx], al
inc ecx
mov dword [ebp + 8], ecx
dec dword [ebp - 0x34]
jns 0x42a690
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
Function at 0x42a748
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push edi
push esi
push ebx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x44], 0x7efc
mov dword [ebp - 0x48], 0
mov edi, 0x430f00
mov esi, 0x42d108
lea ebx, [ebp - 0x40]
cld
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
push 0x38
push str.80_
push eax
push ebx
call sym._perm
xor ecx, ecx
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
inc eax
and edx, 1
add eax, edx
mov dword [ebp - 0x48], eax
lea eax, [ecx + ecx*2]
shl eax, 4
lea ebx, [eax + 0x430c00]
mov eax, dword [ebp - 0x44]
xor esi, esi
shr eax, 1
mov dword [ebp - 0x4c], eax
lea edi, [ecx + 1]
movsx ecx, byte [esi + 0x42d058]
cmp ecx, 0x1b
jle 0x42a7f0
add ecx, dword [ebp - 0x48]
cmp ecx, 0x37
jle 0x42a819
add ecx, 0xffffffe4
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, ecx
sar eax, 0x1f
sub edx, eax
lea eax, [edx*8]
sub eax, edx
shl eax, 2
sub ecx, eax
add ecx, 0x1c
jmp 0x42a819
add ecx, dword [ebp - 0x48]
cmp ecx, 0x1b
jle 0x42a819
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, ecx
sar eax, 0x1f
sub edx, eax
lea eax, [edx*8]
sub eax, edx
shl eax, 2
sub ecx, eax
mov al, byte [ecx + ebp - 0x40]
mov byte [ebx], al
inc ebx
inc esi
cmp esi, 0x2f
jle 0x42a7b0
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x44], ecx
mov ecx, edi
cmp ecx, 0xf
jle 0x42a787
lea esp, [ebp - 0x68]
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret