joyce8/EMBER2024-capa huggingface dataset:
Function at 0x503c591
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5073eb2
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x13f4
call fcn.050704b0
mov eax, dword [0x509ddfc]
xor eax, esp
mov dword [esp + 0x13f0], eax
push ebx
push esi
push edi
mov eax, dword [0x509ddfc]
xor eax, esp
push eax
lea eax, [esp + 0x1408]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov eax, dword [edi + 4]
xor esi, esi
add eax, 0x60
mov ebx, ecx
push esi
push eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], edi
call fcn.050148cd
cmp dword [ebx], esi
pop ecx
pop ecx
jne 0x503c611
mov eax, dword [edi + 4]
push esi
push 0x9c4
push 0xf424
push eax
call fcn.05062683
add esp, 0x10
mov dword [ebx], eax
mov ecx, edi
mov dword [esp + 0x2c], edi
call fcn.0503f80c
mov dword [esp + 0x1410], esi
lea ecx, [esp + 0x13cc]
mov dword [esp + 0x14], 0xc
mov eax, dword [esp + 0x14]
xor edx, edx
push 0x18
pop esi
div esi
add dword [esp + 0x14], 0x8000
mov word [ecx], ax
inc ecx
inc ecx
cmp dword [esp + 0x14], 0xc800c
jb 0x503c632
and dword [esp + 0x18], 0
lea eax, [esp + 0x13cc]
mov dword [esp + 0x20], eax
mov esi, 0x4000
jmp 0x503c673
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
movzx eax, word [eax]
and dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x48]
xor ecx, ecx
mov dx, word [esp + 0x1c]
mov word [eax - 2], dx
mov edx, dword [esp + 0x14]
movzx edx, word [esp + edx*2 + 0x13cc]
mov word [eax], dx
mov dx, word [esp + ecx*2 + 0x13cc]
mov word [eax + 2], dx
inc ecx
add eax, 8
cmp ecx, 0x19
jb 0x503c689
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x19
jb 0x503c687
push 0
push 0x434d594b
push 0x50524742
push 0x271
lea eax, [esp + 0x54]
push eax
push eax
mov ecx, edi
call fcn.0506bbf5
push 1
push 0x9c4
push dword [esp + 0x20]
lea ecx, [esp + 0x3c]
push dword [ebx]
call fcn.050623fb
lea ecx, [esp + 0x30]
mov byte [esp + 0x1410], 1
call fcn.05062448
lea edx, [esp + 0x44]
add eax, 2
mov dword [esp + 0x1c], 0x19
mov dword [esp + 0x14], 0x19
mov ecx, dword [edx]
mov edi, dword [edx + 4]
movzx ebx, cx
shr ecx, 0x10
imul ebx, ebx, 0xff
imul ecx, ecx, 0xff
add ecx, esi
shr ecx, 0xf
mov byte [eax - 1], cl
movzx ecx, di
imul ecx, ecx, 0xff
add ecx, esi
shr ecx, 0xf
mov byte [eax], cl
shr edi, 0x10
mov ecx, edi
imul ecx, ecx, 0xff
add ebx, esi
add ecx, esi
shr ebx, 0xf
shr ecx, 0xf
mov byte [eax - 2], bl
mov byte [eax + 1], cl
add eax, 4
add edx, 8
dec dword [esp + 0x14]
jne 0x503c71d
dec dword [esp + 0x1c]
jne 0x503c715
lea ecx, [esp + 0x30]
mov byte [esp + 0x1410], 0
call fcn.0506242e
add dword [esp + 0x18], 0x9c4
add dword [esp + 0x20], 2
cmp dword [esp + 0x18], 0xf424
jb 0x503c66b
mov ecx, dword [esp + 0x24]
or dword [esp + 0x1410], 0xffffffff
call fcn.0503f832
mov ecx, dword [esp + 0x1408]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x13f0]
xor ecx, esp
call fcn.05070186
mov esp, ebp
pop ebp
ret 4
Function at 0x503cf6c
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5073f64
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x805c
call fcn.050704b0
mov eax, dword [0x509ddfc]
xor eax, esp
mov dword [esp + 0x8058], eax
push ebx
push esi
push edi
mov eax, dword [0x509ddfc]
xor eax, esp
push eax
lea eax, [esp + 0x8070]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 4]
add eax, 0x60
mov edi, ecx
push 0
push eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
call fcn.050148cd
cmp dword [edi], 0
pop ecx
pop ecx
mov esi, 0x4000
jne 0x503cfee
mov ebx, dword [ebx + 4]
push 0
push esi
push 0x40000
push ebx
call fcn.05062683
add esp, 0x10
mov dword [edi], eax
lea ecx, [esp + 0x8048]
mov dword [esp + 0x14], 7
mov eax, dword [esp + 0x14]
xor edx, edx
push 0xf
pop ebx
div ebx
add dword [esp + 0x14], 0x8000
mov word [ecx], ax
inc ecx
inc ecx
cmp dword [esp + 0x14], 0x80007
jb 0x503cffd
and dword [esp + 0x20], 0
lea eax, [esp + 0x8048]
mov dword [esp + 0x24], eax
jmp 0x503d035
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
movzx eax, word [eax]
and dword [esp + 0x18], 0
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x46]
and dword [esp + 0x14], 0
mov edx, dword [esp + 0x14]
movzx edx, word [esp + edx*2 + 0x8048]
xor ecx, ecx
mov bx, word [esp + 0x1c]
mov word [eax - 2], bx
mov ebx, dword [esp + 0x18]
movzx ebx, word [esp + ebx*2 + 0x8048]
mov word [eax], bx
mov bx, word [esp + ecx*2 + 0x8048]
mov word [eax + 4], bx
push 0x10
mov word [eax + 2], dx
inc ecx
pop ebx
add eax, 8
cmp ecx, ebx
jb 0x503d05c
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jb 0x503d04e
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jb 0x503d049
mov ecx, dword [esp + 0x28]
push 0
mov eax, 0x434d594b
push eax
push eax
push 0x1000
lea eax, [esp + 0x54]
push eax
push eax
call fcn.0506bbf5
push 1
push esi
push dword [esp + 0x28]
lea ecx, [esp + 0x3c]
push dword [edi]
call fcn.050623fb
and dword [esp + 0x8078], 0
lea ecx, [esp + 0x30]
call fcn.05062448
lea edx, [esp + 0x44]
add eax, 2
mov dword [esp + 0x1c], ebx
jmp 0x503d0f3
push 0x10
pop ebx
mov dword [esp + 0x14], ebx
jmp 0x503d0fc
push 0x10
pop ebx
mov dword [esp + 0x18], ebx
mov ecx, dword [edx]
mov edi, dword [edx + 4]
movzx ebx, cx
shr ecx, 0x10
imul ebx, ebx, 0xff
imul ecx, ecx, 0xff
add ecx, esi
shr ecx, 0xf
mov byte [eax - 1], cl
movzx ecx, di
imul ecx, ecx, 0xff
add ecx, esi
shr ecx, 0xf
mov byte [eax], cl
shr edi, 0x10
mov ecx, edi
imul ecx, ecx, 0xff
add ebx, esi
add ecx, esi
shr ebx, 0xf
shr ecx, 0xf
mov byte [eax - 2], bl
mov byte [eax + 1], cl
add eax, 4
add edx, 8
dec dword [esp + 0x18]
jne 0x503d100
dec dword [esp + 0x14]
jne 0x503d0f9
dec dword [esp + 0x1c]
jne 0x503d0f0
or dword [esp + 0x8078], 0xffffffff
lea ecx, [esp + 0x30]
call fcn.0506242e
add dword [esp + 0x20], esi
add dword [esp + 0x24], 2
cmp dword [esp + 0x20], 0x40000
jb 0x503d031
mov ecx, dword [esp + 0x8070]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x8058]
xor ecx, esp
call fcn.05070186
mov esp, ebp
pop ebp
ret 4
Function at 0x503d1df
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5073fa8
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x13f4
call fcn.050704b0
mov eax, dword [0x509ddfc]
xor eax, esp
mov dword [esp + 0x13f0], eax
push ebx
push esi
push edi
mov eax, dword [0x509ddfc]
xor eax, esp
push eax
lea eax, [esp + 0x1408]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov eax, dword [edi + 4]
xor esi, esi
add eax, 0x60
mov ebx, ecx
push esi
push eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], edi
call fcn.050148cd
cmp dword [ebx], esi
pop ecx
pop ecx
jne 0x503d25f
mov eax, dword [edi + 4]
push esi
push 0x9c4
push 0xf424
push eax
call fcn.05062683
add esp, 0x10
mov dword [ebx], eax
mov ecx, edi
mov dword [esp + 0x2c], edi
call fcn.0503f80c
mov dword [esp + 0x1410], esi
lea ecx, [esp + 0x13cc]
mov dword [esp + 0x14], 0xc
mov eax, dword [esp + 0x14]
xor edx, edx
push 0x18
pop esi
div esi
add dword [esp + 0x14], 0x8000
mov word [ecx], ax
inc ecx
inc ecx
cmp dword [esp + 0x14], 0xc800c
jb 0x503d280
and dword [esp + 0x18], 0
lea eax, [esp + 0x13cc]
mov dword [esp + 0x20], eax
mov esi, 0x4000
jmp 0x503d2c1
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
movzx eax, word [eax]
and dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x48]
xor ecx, ecx
mov dx, word [esp + 0x1c]
mov word [eax - 2], dx
mov edx, dword [esp + 0x14]
movzx edx, word [esp + edx*2 + 0x13cc]
mov word [eax], dx
mov dx, word [esp + ecx*2 + 0x13cc]
mov word [eax + 2], dx
inc ecx
add eax, 8
cmp ecx, 0x19
jb 0x503d2d7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x19
jb 0x503d2d5
push 0
push 0x434d594b
push 0x504c4142
push 0x271
lea eax, [esp + 0x54]
push eax
push eax
mov ecx, edi
call fcn.0506bbf5
push 1
push 0x9c4
push dword [esp + 0x20]
lea ecx, [esp + 0x3c]
push dword [ebx]
call fcn.050623fb
lea ecx, [esp + 0x30]
mov byte [esp + 0x1410], 1
call fcn.05062448
lea edx, [esp + 0x44]
add eax, 2
mov dword [esp + 0x1c], 0x19
mov dword [esp + 0x14], 0x19
mov ecx, dword [edx]
mov edi, dword [edx + 4]
movzx ebx, cx
shr ecx, 0x10
imul ebx, ebx, 0xff
imul ecx, ecx, 0xff
add ecx, esi
shr ecx, 0xf
mov byte [eax - 1], cl
movzx ecx, di
imul ecx, ecx, 0xff
add ecx, esi
shr ecx, 0xf
mov byte [eax], cl
shr edi, 0x10
mov ecx, edi
imul ecx, ecx, 0xff
add ebx, esi
add ecx, esi
shr ebx, 0xf
shr ecx, 0xf
mov byte [eax - 2], bl
mov byte [eax + 1], cl
add eax, 4
add edx, 8
dec dword [esp + 0x14]
jne 0x503d36b
dec dword [esp + 0x1c]
jne 0x503d363
lea ecx, [esp + 0x30]
mov byte [esp + 0x1410], 0
call fcn.0506242e
add dword [esp + 0x18], 0x9c4
add dword [esp + 0x20], 2
cmp dword [esp + 0x18], 0xf424
jb 0x503d2b9
mov ecx, dword [esp + 0x24]
or dword [esp + 0x1410], 0xffffffff
call fcn.0503f832
mov ecx, dword [esp + 0x1408]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x13f0]
xor ecx, esp
call fcn.05070186
mov esp, ebp
pop ebp
ret 4
Function at 0x5064d60
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x507508d
mov eax, dword fs:[0]
push eax
sub esp, 0xb18
mov eax, dword [0x509ddfc]
xor eax, esp
mov dword [esp + 0xb10], eax
push ebx
push esi
push edi
mov eax, dword [0x509ddfc]
xor eax, esp
push eax
lea eax, [esp + 0xb28]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x18]
push eax
mov dword [esp + 0x18], eax
call fcn.05066f4f
add esp, 4
push eax
lea ecx, [esp + 0x14]
call fcn.0506ab75
mov eax, dword [esp + 0x10]
push 0
push 0
push 0
push 0
push 0
push 0
push 1
push eax
push esi
mov dword [esp + 0xb54], 0
call fcn.0506cd72
add esp, 0x24
push eax
lea ecx, [esp + 0x1c]
call fcn.0506ab75
mov byte [esp + 0xb30], 1
xor eax, eax
jmp 0x5064e00
mov byte [esp + eax + 0xa1c], al
add eax, 1
cmp eax, 0x100
jb 0x5064e00
push 0
push 0x5058595a
push 0x67386b30
push 0x100
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0xa30]
push edx
call fcn.0506bbf5
movzx edi, word [esp + 0x20]
movzx ebx, word [esp + 0x818]
cmp ebx, edi
ja 0x5064e53
push 0x6250726f
call fcn.05004c30
mov esi, ebx
sub esi, edi
xor ecx, ecx
movzx eax, word [esp + ecx*8 + 0x20]
cmp eax, edi
ja 0x5064e6e
mov word [esp + ecx*2 + 0x81c], 0
jmp 0x5064e95
cmp eax, ebx
jb 0x5064e7e
mov word [esp + ecx*2 + 0x81c], 0x8000
jmp 0x5064e95
sub eax, edi
mov edx, esi
shr edx, 1
shl eax, 0xf
add eax, edx
xor edx, edx
div esi
mov word [esp + ecx*2 + 0x81c], ax
add ecx, 1
cmp ecx, 0x100
jb 0x5064e59
lea ecx, [esp + 0x18]
mov byte [esp + 0xb30], 0
call fcn.0506c602
lea ecx, [esp + 0x10]
mov dword [esp + 0xb30], 0xffffffff
call fcn.05041bb8
mov esi, dword [esp + 0x14]
lea eax, [esi + 8]
push eax
push 0x260
mov dword [esp + 0x1c], eax
call fcn.0501413b
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0xb30], 2
je 0x5064efd
push esi
mov ecx, eax
call fcn.05064ce0
mov ebx, eax
jmp 0x5064eff
xor ebx, ebx
fld qword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
fmul qword [0x5079c60]
mov ecx, dword [eax]
fldz
mov dword [ebx + 0x50], ecx
mov edx, dword [eax + 4]
fcomp st(1)
mov dword [ebx + 0x54], edx
fnstsw ax
test ah, 0x41
jne 0x5064f29
fsub qword [0x50796c8]
jmp 0x5064f2f
fadd qword [0x50796c8]
call fcn.050703e0
lea edi, [ebx + 0x5a]
mov ecx, 0x80
lea esi, [esp + 0x81c]
mov word [ebx + 0x58], ax
rep movsd dword es:[edi], dword [esi]
mov eax, ebx
mov ecx, dword [esp + 0xb28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb10]
xor ecx, esp
call fcn.05070186
mov esp, ebp
pop ebp
ret

Function at 0x5068bb5
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push esi
lea eax, [ebp + 8]
push eax
push 0
mov esi, ecx
push esi
push 0x5068ba7
push dword [ebp + 8]
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
mov dword [esi + 0xc], eax
jne 0x5068be3
push 0x6d656d46
call fcn.05004c30
mov byte [esi + 8], 1
pop esi
pop ebp
ret 4
Function at 0x5068bec
Capabilities:
Terminate thread

Disassembly:
push esi
mov esi, ecx
push 0
push dword [esi + 0xc]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [esi + 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [esi + 8], 0
pop esi
ret

Function at 0x5070186
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x509ddfc]
jne 0x5070190
repz ret
jmp fcn.05070b04

Function at 0x4011fa
Capabilities:
Accept command line arguments
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov esi, eax
mov al, byte [esi]
cmp al, 0x22
jne 0x401223
mov al, byte [esi + 1]
inc esi
test al, al
je 0x40121b
cmp al, 0x22
jne 0x40120f
cmp byte [esi], 0x22
jne 0x40122d
inc esi
jmp 0x40122d
cmp al, 0x20
jle 0x40122d
inc esi
cmp byte [esi], 0x20
jg 0x401227
mov al, byte [esi]
test al, al
je 0x401237
cmp al, 0x20
jle 0x401220
and dword [ebp - 0x18], 0
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
call fcn.00401bba
push 0x403004
push section..data
call fcn.00401ba0
test byte [ebp - 0x18], 1
pop ecx
pop ecx
je 0x401267
movzx eax, word [ebp - 0x14]
jmp 0x40126a
push 0xa
pop eax
push eax
push esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call main
mov esi, eax
call fcn.00401bd2
push esi
call dword [sym.imp.KERNEL32.dll_ExitProcess]

Function at 0x4013b0
Capabilities:
Accept command line arguments
Hide graphical window

Disassembly:
mov ebp, esp
add esp, 0xfffffffc
push esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [0x40335c], eax
lea ecx, [ebp - 4]
push eax
push ecx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
mov eax, dword [ebp + 4]
mov dword [0x40319d], eax
xor eax, eax
mov ecx, 0x16
push eax
dec ecx
jne 0x4013e1
push 0x7f00
push esi
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push esi
call dword [sym.imp.USER32.dll_LoadIconA]
lea ecx, [ebp - 0x5c]
push ecx
mov eax, 0x30
mov dword [ecx], eax
mov eax, dword [0x40319d]
mov dword [ebp - 0x48], eax
mov eax, 0x4018b4
mov dword [ebp - 0x54], eax
mov ecx, str.secondclass
mov dword [ebp - 0x34], ecx
call dword [sym.imp.USER32.dll_RegisterClassExA]
push str.Riched32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor ecx, ecx
push ecx
push dword [0x40319d]
push ecx
push ecx
push 0x12e
push 0x7a
push 0x34c
push 0x2aa
push 0x40000
lea eax, str.bytesma
push eax
mov eax, 0x4030f5
push eax
push ecx
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x4033a8], eax
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x4033a8]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
xor ebx, ebx
lea edi, [ebp - 0x50]
jmp 0x401495
push edi
call dword [sym.imp.USER32.dll_TranslateMessage]
push edi
call dword [sym.imp.USER32.dll_DispatchMessageA]
push ebx
push ebx
push ebx
push edi
call dword [sym.imp.USER32.dll_GetMessageA]
test al, al
jne 0x401487
mov esp, ebp
ret
Function at 0x6f4812a0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x10
mov esi, dword [ebp + 8]
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_strlen]
mov ebx, eax
xor eax, eax
test ebx, ebx
je 0x6f4812fb
cmp byte [esi + ebx - 1], 0xa
je 0x6f4812cf
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x24]
xchg dword [0x6f485084], eax
mov dword [esp], 2
call dword [sym.imp.ucrtbase.dll___acrt_iob_func]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_fwrite]
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
Function at 0x6f481850
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0xf0
mov edi, dword [0x6f485094]
mov esi, dword [ebp + 8]
test edi, edi
je 0x6f481a10
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call dword [0x6f485094]
movzx eax, al
bt eax, esi
jae 0x6f481a70
mov ecx, dword [0x6f485084]
xor eax, eax
mov edx, dword fs:[0x18]
cmp dword [edx + 0x24], ecx
je 0x6f481916
test byte [0x6f482030], 8
jne 0x6f4819b0
lea ebx, [esp + 0x28]
mov edi, ebx
test byte [0x6f482040], 8
jne 0x6f481960
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x24]
mov dword [esp + 4], str._04x:
mov dword [esp], edi
mov dword [esp + 8], eax
call dbg.sprintf
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x6f4818e5
cmp esi, 3
jbe 0x6f481920
mov dword [esp], 2
call dword [sym.imp.ucrtbase.dll___acrt_iob_func]
mov dword [esp], ebx
mov esi, eax
call dword [sym.imp.ucrtbase.dll_strlen]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_fwrite]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
add eax, edi
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x14], edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 8], str._s:_s:_s
lea edx, [edi + 1]
mov dword [esp], eax
mov dword [esp + 0x10], edx
mov edx, dword [esi*4 + 0x6f4840c0]
mov dword [esp + 0xc], edx
mov edx, ebx
sub edx, eax
add edx, 0xc8
mov dword [esp + 4], edx
call sym._snprintf.constprop.0
jmp 0x6f4818e5
mov ecx, dword [0x6f485094]
test ecx, ecx
je 0x6f481a50
mov dword [esp], 0x6f482040
call dword [0x6f485094]
test al, 8
je 0x6f4818bc
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x20]
mov dword [esp], edi
mov dword [esp + 4], str._04x:
mov dword [esp + 8], eax
call dbg.sprintf
add edi, eax
jmp 0x6f4818bc
mov ebx, dword [0x6f485094]
test ebx, ebx
je 0x6f481a30
mov dword [esp], 0x6f482030
call dword [0x6f485094]
test al, 8
je 0x6f4818a9
call dword [sym.imp.kernel32.dll_GetTickCount]
lea ebx, [esp + 0x28]
mov dword [esp + 4], str._3u._03u:
mov ecx, eax
mov eax, 0x10624dd3
mov dword [esp], ebx
mul ecx
shr edx, 6
imul eax, edx, 0x3e8
mov dword [esp + 8], edx
sub ecx, eax
mov dword [esp + 0xc], ecx
call dbg.sprintf
lea edi, [ebx + eax]
jmp 0x6f4818af
mov ecx, dbg.fallback__wine_dbg_get_channel_flags
mov edx, str.__wine_dbg_get_channel_flags
mov eax, 0x6f485094
call sym._load_func.part.0
jmp 0x6f481870
mov ecx, dbg.fallback__wine_dbg_get_channel_flags
mov edx, str.__wine_dbg_get_channel_flags
mov eax, 0x6f485094
call sym._load_func.part.0
jmp 0x6f4819ba
mov ecx, dbg.fallback__wine_dbg_get_channel_flags
mov edx, str.__wine_dbg_get_channel_flags
mov eax, 0x6f485094
call sym._load_func.part.0
jmp 0x6f48196e
mov eax, 0xffffffff
jmp 0x6f481916
Function at 0x2864058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x28641a8
push ebx
mov ebx, esp
push ebx
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 0x10]
cld
mov dl, pe_nt_image_headers32
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
mov ebx, 2
add dl, dl
jne 0x286407e
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x286406a
add dl, dl
jne 0x2864089
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x28640dc
xor eax, eax
add dl, dl
jne 0x2864096
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x286417d
add dl, dl
jne 0x28640a5
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x28640b0
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x28640bb
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x28640c6
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x28640d2
push edi
mov eax, eax
sub edi, eax
mov al, byte [edi]
pop edi
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0x2864075
mov eax, 1
add dl, dl
jne 0x28640ea
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x28640f5
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x28640e1
sub eax, ebx
mov ebx, 1
jne 0x2864128
mov ecx, 1
add dl, dl
jne 0x286410e
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x2864119
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x2864105
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x2864075
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x286413f
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x286414a
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x2864136
cmp eax, 0x7d00
jae 0x286416d
cmp eax, 0x500
jb 0x2864168
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x2864075
cmp eax, 0x7f
ja 0x2864170
add ecx, 2
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x2864075
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x286419e
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 0x2864075
pop ebx
sub edi, dword [ebx + 0x10]
mov eax, edi
pop ebx
ret 0x10
Function at 0x1002d9f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
push ebx
push esi
mov esi, 0x100
xor ebx, ebx
push edi
mov edi, dword [ebp + 0x10]
or ecx, esi
add edi, edi
mov edx, esi
and edx, edi
mov eax, ecx
add edx, esi
shr eax, 8
add eax, edx
mov edx, dword [ebp + 8]
movzx edx, word [edx + eax*2]
mov eax, ecx
shr eax, 7
add ecx, ecx
and eax, 1
shr edx, 4
neg eax
sar eax, 4
and eax, 0x7f
xor edx, eax
mov eax, dword [ebp + 0x14]
add ebx, dword [eax + edx*4]
mov edx, ecx
xor edx, edi
not edx
and esi, edx
cmp ecx, 0x10000
jb 0x1002da05
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret

Function at 0x10032ae0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor edx, edx
push esi
mov dword [eax + 0x34], 0
lea esi, [eax + 0x60]
mov word [eax + 0x1e], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x30], 0x20
mov byte [eax + 0x1d], 1
mov dword [eax + 0x48], 4
mov ecx, edx
lea esi, [esi + 4]
and ecx, 1
mov eax, edx
shr eax, 1
neg ecx
and ecx, 0xedb88320
inc edx
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov dword [esi - 4], eax
cmp edx, 0x100
jb 0x10032b12
pop esi
pop ebp
ret

Function at 0x414ac0
Capabilities:
Encode data using xor

Disassembly:
or ebp, dword [0x7d7b2bf8]
mov ecx, 0x980da98b
retf 0xee0b
aad 0xf9
stc
dec ecx
scasb al, byte es:[edi]
adc byte [edx + 0x637b217f], cl
or bl, byte [ecx - 0x15]
or bl, ah
sub al, 0x8c
xchg esp, eax
loopne 0x414aa7
adc byte [ebx], ch
push esi
rol byte [edi], cl
arpl ax, ax
dec ebx
pop es
je 0x414a76
or byte [eax], dl
invalid
in al, dx
je 0x414ae8
jge 0x414a4d
retf 0xc50b
fiadd word [edx - 0x2471c138]
jl 0x414a81
mov ecx, dword [edx]
inc ebp
sub byte [ecx + 0x4d], bl
sub eax, 0x57e37d92
cmp eax, 0x107df475
das
int 0xd3
pop es
xor cl, byte [ebx]
fnstsw word [esi + 0x829b18b]
int 0xb
xchg ebp, eax
enter 0x4aeb, 0x2d
adc bl, bl
hlt
jmp 0x414b34
int 0x8a
invalid