joyce8/EMBER2024-capa huggingface dataset:
Function at 0x43c720
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x30
mov ebx, dword [esp + 0x44]
movzx eax, word [ebx]
mov dword [esp + 6], 0xa6a54e5e
mov ecx, 0x8da23f7b
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x725dc08b]
mov edx, ecx
and edx, esi
add edx, edx
add esi, ecx
mov edi, edx
xor edi, esi
not edx
and edx, esi
add edx, edx
sub edx, edi
add dl, 0x28
mov byte [esp + ecx + 0x725dc08b], dl
inc ecx
cmp ecx, 0x8da23f7f
jne 0x43c740
mov edx, dword [esp + 6]
xor ecx, ecx
cmp edx, eax
setne cl
mov edx, dword [0x448070]
mov eax, edx
and eax, 0xe87a4790
mov esi, edx
and esi, 2
mov edi, esi
xor edi, 2
imul edi, eax
or eax, 2
imul eax, esi
sub edi, edx
add edi, dword [ecx*4 + 0x448068]
lea ecx, [eax + edi]
add ecx, 0x1785b86e
xor eax, eax
jmp ecx

Function at 0x43d090
Capabilities:
Encode data using xor

Disassembly:
push eax
mov dword [esp], 0xa6a5a473
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x7b
xor cl, byte [esp + eax]
add cl, 0x28
mov byte [esp + eax], cl
inc eax
cmp eax, 4
jne 0x43d0a0
mov eax, dword [esp]
mov eax, dword fs:[eax]
pop ecx
ret

Function at 0x43d470
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2c
mov eax, dword [esp + 0x40]
movzx eax, word [eax]
mov dword [esp + 2], 0x5d5ca197
mov word [esp + 6], 0
xor ecx, ecx
nop
mov edx, ecx
add dl, 0xa
xor dl, byte [esp + ecx + 2]
add dl, 0xb0
mov byte [esp + ecx + 2], dl
inc ecx
cmp ecx, 6
jne case.default.0x43d4b1
xor ecx, ecx
cmp dword [esp + 2], eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x448670]
mov edx, dword [esp + 0x40]
mov ecx, dword [edx + 0x3c]
mov edx, dword [edx + ecx]
mov dword [esp + 2], 0xf3f2b4a0
mov byte [esp + 6], 0
mov esi, 0x1517458f
mov edi, 0x1517458f
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + esi - 0x1517458d]
mov ebx, edi
and ebx, 0x10050007
or ebx, 0x8a088070
xor ebx, ebp
mov ebp, ebx
xor ebp, 0x86
and ebx, 0x7e
add ebx, ebx
xor ebx, 0xc
sub ebx, ebp
inc bl
mov byte [esp + esi - 0x1517458d], bl
dec edi
inc esi
cmp edi, 0x1517458a
jne 0x43d4e0
mov esi, dword [esp + 2]
xor ebx, ebx
cmp edx, esi
setne bl
jmp dword [ebx*4 + 0x448678]
mov edx, dword [esp + 0x40]
mov edi, dword [edx + ecx + 0x78]
mov esi, dword [edx + ecx + 0x7c]
test esi, esi
sete cl
test edi, edi
sete dl
or dl, cl
movzx ecx, dl
jmp dword [ecx*4 + 0x448680]
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + edi + 0x20]
add ecx, eax
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + edi + 0x24]
add ecx, eax
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + edi + 0x1c]
add ecx, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 8], edi
mov eax, dword [eax + edi + 0x18]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x24], eax
cmp edx, eax
setb cl
mov dword [esp + 0xc], 1
jmp dword [ecx*4 + 0x448688]
mov ecx, dword [0x4486c4]
nop
nop
nop
nop
nop
nop
nop
jmp ecx
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x43dd70
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov ebp, dword [esp + 0x50]
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x43dd90
mov edi, eax
sar edi, 1
cmp edi, 0xfffffffb
jge 0x43ddab
mov eax, 0xffffffff
jmp 0x43ddae
add eax, 0xa
push eax
call fcn.00408620
add esp, 4
mov dword [eax], 0x3f005c
mov dword [eax + 4], 0x5c003f
mov word [eax + 8], 0
mov ecx, eax
add ecx, 8
movzx edx, word [esi]
test dx, dx
je 0x43ddf1
add esi, 2
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x43dde0
mov word [ecx], 0
lea ecx, [edi*2 + 8]
mov word [esp + 8], cx
lea ecx, [edi*2 + 0xa]
mov word [esp + 0xa], cx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x18
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], 0x40
lea ecx, [esp + 8]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp], 0x10111213
xor ecx, ecx
nop
nop
nop
nop
nop
mov edx, ecx
or dl, 0x4c
xor dl, byte [esp + ecx]
add dl, 0xa0
mov byte [esp + ecx], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 4
jb 0x43de50
mov esi, dword [esp]
mov ecx, dword [0x44aea0]
test ecx, ecx
je 0x43dedf
xor edx, edx
mov edi, dword [0x44aea4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x5f7891a5
je 0x43dea0
inc edx
cmp ecx, edx
jne 0x43de90
jmp 0x43dedf
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, esi
je 0x43dedf
mov esi, esp
lea edx, [esp + 0x10]
push 0
push 0
push ebp
push ebx
push dword [esp + 0x58]
push dword [esp + 0x68]
push 0
push esi
push edx
push dword [esp + 0x68]
push dword [esp + 0x68]
push 0x2c
push ecx
push dword [0x44aea8]
mov edi, eax
call fcn.0043b9a0
add esp, 0x38
mov esi, eax
mov eax, edi
push eax
call fcn.00408630
add esp, 4
mov eax, esi
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x43df00
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x3c]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x43df20
mov esi, eax
sar esi, 1
cmp esi, 0xfffffffb
jge 0x43df3b
mov eax, 0xffffffff
jmp 0x43df3e
add eax, 0xa
push eax
call fcn.00408620
add esp, 4
mov dword [eax], 0x3f005c
mov dword [eax + 4], 0x5c003f
lea ecx, [esi + 4]
mov word [eax + 8], 0
mov edx, eax
add edx, 8
movzx ebp, word [ebx]
test bp, bp
je 0x43df81
add ebx, 2
nop
nop
nop
mov word [edx], bp
add edx, 2
movzx ebp, word [ebx]
add ebx, 2
test bp, bp
jne 0x43df70
mov word [edx], 0
mov edx, 3
sub edx, esi
and edx, 2
mov ebx, ecx
and ebx, 0xfffd
imul ebx, edx
and esi, 2
or ecx, 2
imul ecx, esi
lea edx, [ecx + ebx]
mov word [esp + 8], dx
add ecx, ebx
add ecx, 2
mov word [esp + 0xa], cx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x18
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], 0x40
lea ecx, [esp + 8]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp], 0x10111213
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
or dl, 0x4c
xor dl, byte [esp + ecx]
add dl, 0xa0
mov byte [esp + ecx], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 4
jb 0x43e000
mov esi, dword [esp]
mov ecx, dword [0x44aea0]
test ecx, ecx
je 0x43e084
xor edx, edx
mov ebx, dword [0x44aea4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x75935cf9
je 0x43e050
inc edx
cmp ecx, edx
jne 0x43e040
jmp 0x43e084
mov ecx, dword [ebx + edx*8 + 4]
cmp ecx, esi
je 0x43e084
mov edx, esp
lea esi, [esp + 0x10]
push edi
push dword [esp + 0x4c]
push edx
push esi
push dword [esp + 0x54]
push dword [esp + 0x54]
push 0x18
push ecx
push dword [0x44aea8]
mov edi, eax
call fcn.0043b9a0
add esp, 0x24
mov esi, eax
mov eax, edi
push eax
call fcn.00408630
add esp, 4
mov eax, esi
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x43e0a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x50
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x43e0c0
mov ebx, eax
sar ebx, 1
cmp ebx, 0xfffffffb
jge 0x43e0db
mov eax, 0xffffffff
jmp 0x43e0de
add eax, 0xa
push eax
call fcn.00408620
add esp, 4
mov dword [eax], 0x3f005c
mov dword [eax + 4], 0x5c003f
mov word [eax + 8], 0
mov ecx, eax
add ecx, 8
movzx edx, word [esi]
test dx, dx
je 0x43e121
add esi, 2
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x43e110
mov word [ecx], 0
lea ecx, [ebx*2 + 8]
mov word [esp], cx
lea ecx, [ebx*2 + 0xa]
mov word [esp + 2], cx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x18
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], 0x40
mov ecx, esp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0x10111213
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
or dl, 0x4c
xor dl, byte [esp + ecx + 0x20]
add dl, 0xa0
mov byte [esp + ecx + 0x20], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 4
jb 0x43e180
mov esi, dword [esp + 0x20]
mov ecx, dword [0x44aea0]
test ecx, ecx
je 0x43e1f9
xor edx, edx
mov ebx, dword [0x44aea4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0xcaa82e26
je 0x43e1d0
inc edx
cmp ecx, edx
jne 0x43e1c0
jmp 0x43e1f9
mov ecx, dword [ebx + edx*8 + 4]
cmp ecx, esi
je 0x43e1f9
lea edx, [esp + 0x20]
lea esi, [esp + 8]
push edx
push esi
push 8
push ecx
push dword [0x44aea8]
mov ebx, eax
call fcn.0043b9a0
add esp, 0x14
mov esi, eax
mov eax, ebx
push eax
call fcn.00408630
add esp, 4
test edi, edi
je 0x43e20c
mov eax, dword [esp + 0x40]
mov dword [edi], eax
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret

Function at 0x43e220
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x28
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov dword [esp], 0x10111213
xor eax, eax
nop
nop
nop
nop
nop
mov ecx, eax
or cl, 0x4c
xor cl, byte [esp + eax]
add cl, 0xa0
mov byte [esp + eax], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 4
jb 0x43e240
mov eax, dword [esp]
mov edx, dword [0x44aea0]
test edx, edx
je 0x43e2b8
xor ebx, ebx
mov ecx, dword [0x44aea4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ecx + ebx*8], 0xa269eeef
je 0x43e290
inc ebx
cmp edx, ebx
jne 0x43e280
jmp 0x43e2b8
mov edx, dword [ecx + ebx*8 + 4]
cmp edx, eax
je 0x43e2b8
mov eax, esp
lea ecx, [esp + 0x1c]
push 5
push 0x18
push eax
push ecx
push dword [ebp + 8]
push 0x14
push edx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x20
test edi, edi
je 0x43e2c2
mov ecx, dword [esp + 8]
mov dword [edi], ecx
test esi, esi
je 0x43e2ce
cmp byte [esp + 0x15], 0
setne byte [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x43e2e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], 0x10111213
xor eax, eax
nop
nop
nop
mov ebx, eax
or bl, 0x4c
xor bl, byte [esp + eax + 4]
add bl, 0xa0
mov byte [esp + eax + 4], bl
mov edi, eax
and edi, 1
xor eax, 1
lea eax, [eax + edi*2]
cmp eax, 4
jb 0x43e300
mov eax, dword [esp + 4]
mov ebx, dword [0x44aea0]
test ebx, ebx
je 0x43e37e
xor ebp, ebp
mov edi, dword [0x44aea4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + ebp*8], 0xe88ddea1
je 0x43e350
inc ebp
cmp ebx, ebp
jne 0x43e340
jmp 0x43e37e
mov ebx, dword [edi + ebp*8 + 4]
cmp ebx, eax
je 0x43e37e
lea eax, [esp + 4]
push 0
push 0
push edx
push ecx
push eax
push 0
push 0
push 0
push dword [esp + 0x40]
push 0x24
push ebx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x30
cmp eax, 0x103
jne 0x43e419
mov dword [esp], 0x10111213
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
or cl, 0x4c
xor cl, byte [esp + eax]
add cl, 0xa0
mov byte [esp + eax], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 4
jb 0x43e3a0
mov eax, dword [esp]
mov ecx, dword [0x44aea0]
test ecx, ecx
je 0x43e411
xor edx, edx
mov edi, dword [0x44aea4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0xa67d73aa
je 0x43e3f0
inc edx
cmp ecx, edx
jne 0x43e3e0
jmp 0x43e411
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je 0x43e411
push 0
push 0
push dword [esp + 0x28]
push 0xc
push ecx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x18
test eax, eax
js 0x43e419
mov eax, dword [esp + 4]
test esi, esi
je 0x43e42c
xor ecx, ecx
cmp eax, 0xc0000011
je 0x43e42a
mov ecx, dword [esp + 8]
mov dword [esi], ecx
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x43e440
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], 0x10111213
xor eax, eax
nop
nop
nop
mov ebx, eax
or bl, 0x4c
xor bl, byte [esp + eax + 4]
add bl, 0xa0
mov byte [esp + eax + 4], bl
mov edi, eax
and edi, 1
xor eax, 1
lea eax, [eax + edi*2]
cmp eax, 4
jb 0x43e460
mov eax, dword [esp + 4]
mov ebx, dword [0x44aea0]
test ebx, ebx
je 0x43e4de
xor ebp, ebp
mov edi, dword [0x44aea4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + ebp*8], 0x88822328
je 0x43e4b0
inc ebp
cmp ebx, ebp
jne 0x43e4a0
jmp 0x43e4de
mov ebx, dword [edi + ebp*8 + 4]
cmp ebx, eax
je 0x43e4de
lea eax, [esp + 4]
push 0
push 0
push edx
push ecx
push eax
push 0
push 0
push 0
push dword [esp + 0x40]
push 0x24
push ebx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x30
cmp eax, 0x103
jne 0x43e579
mov dword [esp], 0x10111213
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
or cl, 0x4c
xor cl, byte [esp + eax]
add cl, 0xa0
mov byte [esp + eax], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 4
jb 0x43e500
mov eax, dword [esp]
mov ecx, dword [0x44aea0]
test ecx, ecx
je 0x43e571
xor edx, edx
mov edi, dword [0x44aea4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0xa67d73aa
je 0x43e550
inc edx
cmp ecx, edx
jne 0x43e540
jmp 0x43e571
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je 0x43e571
push 0
push 0
push dword [esp + 0x28]
push 0xc
push ecx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x18
test eax, eax
js 0x43e579
mov eax, dword [esp + 4]
test esi, esi
je 0x43e583
mov ecx, dword [esp + 8]
mov dword [esi], ecx
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret

Function at 0x43e590
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x24
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
xor ebx, ebx
nop
nop
nop
cmp word [edi + ebx], 0
lea ebx, [ebx + 2]
jne 0x43e5b0
add ebx, 0xfffffffe
and ebx, 0xfffe
mov word [esp + 4], bx
add ebx, 2
mov word [esp + 6], bx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 0x18
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 0x40
lea eax, [esp + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp], 0x10111213
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov ebx, eax
or bl, 0x4c
xor bl, byte [esp + eax]
add bl, 0xa0
mov byte [esp + eax], bl
mov edi, eax
and edi, 1
xor eax, 1
lea eax, [eax + edi*2]
cmp eax, 4
jb 0x43e610
mov eax, dword [esp]
mov edi, dword [0x44aea0]
test edi, edi
je 0x43e682
xor ebx, ebx
mov ebp, dword [0x44aea4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0xb7847e1b
je 0x43e661
inc ebx
cmp edi, ebx
jne 0x43e650
jmp 0x43e682
mov edi, dword [ebp + ebx*8 + 4]
cmp edi, eax
je 0x43e682
lea eax, [esp + 0xc]
push esi
push eax
push edx
push ecx
push 0x10
push edi
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x1c
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x433000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..retplne
nop
nop
nop
nop
push 4
nop
nop
nop
nop
nop
pop edi
nop
nop
cmp eax, 0
nop
nop
nop
nop
je 0x433072
nop
nop
nop
mov ebx, 0x40de38
nop
nop
nop
mov ecx, ebx
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
push eax
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
div edi
nop
nop
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
pop eax
mov esi, 0x16763e7f
nop
nop
nop
nop
nop
xor dword [eax], esi
nop
nop
add eax, edi
nop
nop
nop
nop
nop
loop 0x433060
nop
mov eax, section..reloc
nop
nop
cmp eax, 0
nop
nop
nop
nop
nop
je 0x4330d2
nop
mov ebx, 0x4304d8
nop
nop
nop
nop
nop
mov ecx, ebx
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
xor edx, edx
nop
nop
nop
push eax
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
div edi
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
pop eax
nop
nop
mov esi, 0x68de32a1
nop
nop
nop
xor dword [eax], esi
nop
nop
nop
add eax, edi
nop
nop
nop
nop
nop
nop
nop
loop 0x4330c0
nop
nop
nop
nop
popal
nop
jmp 0x431219
Function at 0x4035ac
Capabilities:
Generate random numbers using the delphi lcg

Disassembly:
push ebx
xor ebx, ebx
imul edx, dword [ebx + 0x4ac008], 0x8088405
inc edx
mov dword [ebx + 0x4ac008], edx
mul edx
mov eax, edx
pop ebx
ret

Function at 0x41cb9c
Capabilities:
Decompress data using aplib

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push ebp
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
cld
mov dl, 0x80
mov al, byte [esi]
add esi, 1
mov byte [edi], al
add edi, 1
mov ebx, 2
add dl, dl
jne 0x41cbcd
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41cbb5
add dl, dl
jne 0x41cbd8
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41cc29
xor eax, eax
add dl, dl
jne 0x41cbe5
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41ccc6
add dl, dl
jne 0x41cbf4
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41cbff
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41cc0a
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41cc15
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x41cc1f
mov ebx, edi
sub ebx, eax
mov al, byte [ebx]
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0x41cbc4
mov eax, 1
add dl, dl
jne 0x41cc37
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41cc42
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41cc2e
sub eax, ebx
mov ebx, 1
jne 0x41cc75
mov ecx, 1
add dl, dl
jne 0x41cc5b
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x41cc66
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41cc52
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41cbc4
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x41cc8c
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x41cc97
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41cc83
cmp eax, 0x7d00
sbb ecx, 0xffffffff
cmp eax, 0x500
sbb ecx, 0xffffffff
cmp eax, 0x80
adc ecx, 0
cmp eax, 0x80
adc ecx, 0
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41cbc4
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x41cce7
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
mov ebx, 1
jmp 0x41cbc4
pop ebp
sub edi, dword [ebp - 8]
mov dword [ebp - 0xc], edi
pop edi
pop esi
pop ebx
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
Function at 0x41e0b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x49556f
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 8], eax
mov ecx, ebx
mov eax, ebx
xor edx, edx
push edx
push eax
mov eax, dword [ecx + 0x3c]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov edx, dword [eax + 0x78]
test edx, edx
je 0x41e161
add edx, ebx
mov eax, edx
mov esi, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
add edx, ebx
mov dword [ebp - 0x10], edx
mov edi, dword [eax + 0x20]
add edi, ebx
mov edx, dword [eax + 0x24]
add edx, ebx
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 4]
cmp edx, 0xffff
jbe 0x41e14a
test esi, esi
jbe 0x41e161
mov eax, dword [edi]
add eax, ebx
mov edx, dword [ebp - 4]
call fcn.004088ac
test eax, eax
jne 0x41e13c
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
shl eax, 2
add eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 8], eax
jmp 0x41e161
add dword [ebp - 0xc], 2
add edi, 4
dec esi
test esi, esi
ja 0x41e119
jmp 0x41e161
mov ecx, edx
sub ecx, dword [eax + 0x10]
cmp ecx, dword [eax + 0x14]
jae 0x41e161
mov eax, ecx
shl eax, 2
add eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 8], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x495576
ret
Function at 0x41e9a4
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], ecx
mov word [ebp - 2], dx
xor eax, eax
push ebp
push 0x495f53
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
call fcn.00404cd0
xor ebx, ebx
mov eax, ebx
and eax, 0x80000001
jns 0x41e9df
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x41e9f8
lea eax, [ebp - 0x10]
mov edx, dword [0x4ae248]
mov edx, dword [edx]
mov edx, dword [edx + 0xc]
call fcn.00404d30
jmp 0x41ea0b
lea eax, [ebp - 0x10]
mov edx, dword [0x4ae248]
mov edx, dword [edx]
mov edx, dword [edx + 0x10]
call fcn.00404d30
lea eax, [ebp - 0x10]
mov edx, ebx
sar edx, 1
jns 0x41ea17
adc edx, 0
mov edx, dword [edx*4 + 0x4ad0d8]
call fcn.00404f20
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.00404f04
push eax
call fcn.00406af4
mov esi, eax
cmp esi, 0xffffffff
je 0x41eb25
mov eax, 0x40
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 0xc]
push eax
push 0x40
push edi
push esi
call fcn.00406d44
test eax, eax
je 0x41eb18
mov eax, edi
cmp word [eax], 0x5a4d
jne 0x41eb18
push 0
push 0
mov eax, dword [eax + 0x3c]
push eax
push esi
call fcn.00406d9c
mov eax, edi
call fcn.00403288
mov eax, 0x18
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 0xc]
push eax
push 0x18
push edi
push esi
call fcn.00406d44
test eax, eax
je 0x41eb18
mov eax, edi
cmp dword [eax], 0x4550
jne 0x41eb18
add eax, 4
mov dx, word [eax]
cmp dx, 0x14c
jb 0x41eb18
cmp dx, 0x150
ja 0x41eb18
mov eax, edi
call fcn.00403288
mov eax, 0xe0
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 0xc]
push eax
push 0xe0
push edi
push esi
call fcn.00406d44
test eax, eax
je 0x41eb18
mov eax, edi
mov dx, word [eax + 0x44]
cmp dx, word [ebp - 2]
jne 0x41eb18
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 8]
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
call fcn.00404d0c
mov eax, edi
call fcn.00403288
push esi
call fcn.00406aac
mov eax, dword [ebp + 8]
mov eax, dword [eax]
xor edx, edx
call fcn.0040502c
jne 0x41eb3d
inc ebx
cmp ebx, 0x19
jne 0x41e9d1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x495f5a
lea eax, [ebp - 0x10]
call fcn.00404cd0
ret