joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4060b6
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
call fcn.004021ba
and dword [ebp - 4], 0
cmp dword [0x40b654], 0
mov ebx, eax
jne 0x406167
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x406218
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxA
push edi
call esi
test eax, eax
je 0x406218
push eax
call fcn.00402148
mov dword [esp], str.GetActiveWindow
push edi
mov dword [0x40b654], eax
call esi
push eax
call fcn.00402148
mov dword [esp], str.GetLastActivePopup
push edi
mov dword [0x40b658], eax
call esi
push eax
call fcn.00402148
mov dword [esp], str.GetUserObjectInformationA
push edi
mov dword [0x40b65c], eax
call esi
push eax
call fcn.00402148
pop ecx
mov dword [0x40b664], eax
test eax, eax
je 0x406167
push str.GetProcessWindowStation
push edi
call esi
push eax
call fcn.00402148
pop ecx
mov dword [0x40b660], eax
mov eax, dword [0x40b660]
cmp eax, ebx
je 0x4061bf
cmp dword [0x40b664], ebx
je 0x4061bf
push eax
call fcn.004021c3
push dword [0x40b664]
mov esi, eax
call fcn.004021c3
pop ecx
pop ecx
mov edi, eax
test esi, esi
je 0x4061bf
test edi, edi
je 0x4061bf
call esi
test eax, eax
je 0x4061b6
lea ecx, [ebp - 8]
push ecx
push 0xc
lea ecx, [ebp - 0x14]
push ecx
push 1
push eax
call edi
test eax, eax
je 0x4061b6
test byte [ebp - 0xc], 1
jne 0x4061bf
or dword [ebp + 0x10], 0x200000
jmp 0x4061f8
mov eax, dword [0x40b658]
cmp eax, ebx
je 0x4061f8
push eax
call fcn.004021c3
pop ecx
test eax, eax
je 0x4061f8
call eax
mov dword [ebp - 4], eax
test eax, eax
je 0x4061f8
mov eax, dword [0x40b65c]
cmp eax, ebx
je 0x4061f8
push eax
call fcn.004021c3
pop ecx
test eax, eax
je 0x4061f8
push dword [ebp - 4]
call eax
mov dword [ebp - 4], eax
push dword [0x40b654]
call fcn.004021c3
pop ecx
test eax, eax
je 0x406218
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
call eax
jmp 0x40621a
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret

Function at 0x401385
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push esi
mov ecx, dword [eax + 0x3c]
add ecx, eax
movzx eax, word [ecx + 0x14]
lea edx, [ecx + 0x18]
add edx, eax
movzx eax, word [ecx + 6]
imul esi, eax, 0x28
add esi, edx
jmp 0x4013ba
mov ecx, dword [edx + 0xc]
cmp dword [ebp + 0xc], ecx
jb 0x4013b7
mov eax, dword [edx + 8]
add eax, ecx
cmp dword [ebp + 0xc], eax
jb 0x4013c3
add edx, 0x28
cmp edx, esi
jne 0x4013a5
xor eax, eax
pop esi
pop ebp
ret
mov eax, edx
jmp 0x4013c0

Function at 0x401805
Capabilities:
Parse pe header

Disassembly:
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x401844
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x401844
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x401844
mov eax, 0x10b
cmp word [ecx + 0x18], ax
jne 0x401844
cmp dword [ecx + 0x74], 0xe
jbe 0x401844
cmp dword [ecx + 0xe8], 0
setne al
ret
xor al, al
ret
Function at 0x401006
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x452004]
jne 0x401010
repz ret
jmp fcn.00401501

Function at 0x404a15
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
call fcn.00402bcf
and dword [ebp - 4], 0
cmp dword [0x45508c], 0
mov ebx, eax
jne 0x404ac6
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x404b77
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxA
push edi
call esi
test eax, eax
je 0x404b77
push eax
call fcn.00402b5d
mov dword [esp], str.GetActiveWindow
push edi
mov dword [0x45508c], eax
call esi
push eax
call fcn.00402b5d
mov dword [esp], str.GetLastActivePopup
push edi
mov dword [0x455090], eax
call esi
push eax
call fcn.00402b5d
mov dword [esp], str.GetUserObjectInformationA
push edi
mov dword [0x455094], eax
call esi
push eax
call fcn.00402b5d
pop ecx
mov dword [0x45509c], eax
test eax, eax
je 0x404ac6
push str.GetProcessWindowStation
push edi
call esi
push eax
call fcn.00402b5d
pop ecx
mov dword [0x455098], eax
mov eax, dword [0x455098]
cmp eax, ebx
je 0x404b1e
cmp dword [0x45509c], ebx
je 0x404b1e
push eax
call fcn.00402bd8
push dword [0x45509c]
mov esi, eax
call fcn.00402bd8
pop ecx
pop ecx
mov edi, eax
test esi, esi
je 0x404b1e
test edi, edi
je 0x404b1e
call esi
test eax, eax
je 0x404b15
lea ecx, [ebp - 8]
push ecx
push 0xc
lea ecx, [ebp - 0x14]
push ecx
push 1
push eax
call edi
test eax, eax
je 0x404b15
test byte [ebp - 0xc], 1
jne 0x404b1e
or dword [ebp + 0x10], 0x200000
jmp 0x404b57
mov eax, dword [0x455090]
cmp eax, ebx
je 0x404b57
push eax
call fcn.00402bd8
pop ecx
test eax, eax
je 0x404b57
call eax
mov dword [ebp - 4], eax
test eax, eax
je 0x404b57
mov eax, dword [0x455094]
cmp eax, ebx
je 0x404b57
push eax
call fcn.00402bd8
pop ecx
test eax, eax
je 0x404b57
push dword [ebp - 4]
call eax
mov dword [ebp - 4], eax
push dword [0x45508c]
call fcn.00402bd8
pop ecx
test eax, eax
je 0x404b77
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
call eax
jmp 0x404b79
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret

Function at 0x44b5b0
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 0x804
mov eax, dword [0x452004]
xor eax, esp
mov dword [esp + 0x800], eax
cmp dword [0x827e2c], 0x114e
mov eax, dword [esp + 0x808]
mov dword [0x827c70], eax
jne 0x44b5f1
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push 0
lea ecx, [esp + 4]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ecx, dword [esp + 0x800]
xor ecx, esp
call fcn.00401006
add esp, 0x804
ret
Function at 0x44b620
Capabilities:
Encode data using xor

Disassembly:
push ecx
push ebp
mov ebp, dword [esp + 0xc]
push edi
cmp ebp, 0x182
jne 0x44b647
push 0
push 0
push 0
push str.Fal_vulenajojatad
push str.cizemovaronuhajonemiduxud_wisajimopoyexisexucute_nezirufovudukubaruzazo
push 0
call dword [sym.imp.KERNEL32.dll_UpdateResourceA]
xor edi, edi
test ebp, ebp
jle 0x44b687
push esi
mov edi, edi
lea esi, [esp + 0xc]
mov dword [esp + 0x14], 5
mov dword [esp + 0xc], 0
call fcn.0044b610
mov eax, dword [esp + 0xc]
add eax, 0x46
mov dword [esp + 0x14], eax
nop
sub dword [esp + 0x14], 0x46
mov al, byte [esp + 0x14]
xor byte [edi + ebx], al
inc edi
cmp edi, ebp
jl 0x44b650
pop esi
pop edi
cmp ebp, 0x2d
pop ebp
jne 0x44b6a2
mov dword [0x827f60], 0xa62e7790
mov dword [0x827f64], 0xffffffff
pop ecx
ret

Function at 0x44b6b0
Capabilities:
Query environment variable

Disassembly:
mov eax, dword [0x452c60]
push ebx
mov ebx, dword [0x827c74]
push esi
mov esi, dword [0x827e2c]
push eax
call fcn.0044b5b0
add esp, 4
cmp dword [0x827e2c], 0x2f
jne 0x44b6db
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
push esi
call fcn.0044b620
add esp, 4
cmp dword [0x827e2c], 0x568
pop esi
pop ebx
jne 0x44b6fa
push 0
call dword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointA]
ret
Function at 0x401840
Capabilities:
Create directory
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
cmp eax, 0x11
je 0x4018a0
cmp eax, 0x13
je 0x401860
leave
xor eax, eax
ret 0x10
test byte [section..data], 8
je 0x401856
mov eax, dword [edx]
call sym._wine_dbgstr_wn.constprop.0
mov dword [esp + 0xc], str.Extracted__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.ExtCabCallback
mov dword [esp + 4], 0x404000
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
xor eax, eax
leave
ret 0x10
leave
jmp sym._ExtCabCallback_16.part.0
Function at 0x4029b0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
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 0x402a08
cmp byte [esi + ebx - 1], 0xa
je 0x4029dc
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x24]
xchg dword [0x4070c4], 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]
add esp, 0x10
pop ebx
pop esi
pop ebp
ret
Function at 0x403570
Capabilities:
Accept command line arguments
Get process heap flags
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xc
mov dword [esp], 1
call sym.__configure_wide_argv
call sym.__initialize_wide_environment
call sym.___p___argc
mov esi, dword [eax]
call sym.___p___wargv
mov edi, dword [eax]
call sym.__get_initial_wide_environment
mov ebx, eax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0x3c]
cmp word [eax + edx + 0x5c], 2
sete al
movzx eax, al
add eax, 1
mov dword [esp], eax
call sym.__set_app_type
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], esi
call sym._wmain
mov dword [esp], eax
call sym._exit
nop
nop
nop

Function at 0x4035e0
Capabilities:
Accept command line arguments
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x54
call dword [sym.imp.kernel32.dll_GetCommandLineW]
mov ebx, eax
movzx eax, word [eax]
test ax, ax
je 0x403637
xor ecx, ecx
xor edx, edx
jmp 0x403619
cmp ax, 0x5c
jne 0x4036a0
add edx, 1
movzx eax, word [ebx + 2]
add ebx, 2
test ax, ax
je 0x403637
cmp ax, 9
je 0x403625
cmp ax, 0x20
jne 0x403600
test ecx, ecx
je 0x403688
movzx eax, word [ebx + 2]
add ebx, 2
xor edx, edx
test ax, ax
jne 0x403619
lea eax, [ebp - 0x4c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetStartupInfoW]
sub esp, 4
test byte [ebp - 0x20], 1
je 0x4036c0
movzx esi, word [ebp - 0x1c]
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
sub esp, 4
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._wWinMain_16
sub esp, 0x10
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
movzx eax, word [ebx + 2]
add ebx, 2
cmp ax, 9
je 0x403688
cmp ax, 0x20
je 0x403688
jmp 0x403637
cmp ax, 0x22
jne 0x403629
and edx, 1
jne 0x403629
xor ecx, 1
jmp 0x40360d
mov eax, 1
mov esi, 1
mov word [ebp - 0x1c], ax
jmp 0x403650

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

Disassembly:
add dword [eax], eax
add bl, ch
push cs
out 0x63, al
push ebx
imul edx, dword [esi + ebp], 0xffffffbc
cmp dword es:[ecx + eax*2 - 0x20], eax
inc ecx
loopne 0x404922
nop
jmp 0x404923
cmp ebx, edi
std
push esp
sbb esp, dword [ebx + edi*8 - 0x110e5744]
pop esi
push ebp

Function at 0x406200
Capabilities:
Encode data using xor

Disassembly:
push ebp
pushal
in al, dx
sub esp, 8
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
xor dword [esp + eax], 0xffffff87
jne 0x5b638c
invalid
mov ecx, dword [ebx]
or al, 0x8b
inc ebp

Function at 0x43b653
Capabilities:
Encode data using xor

Disassembly:
mov ebx, 0x43b3c1
add edx, 0xbe5ccbd8
and edx, esi
inc esi
call fcn.0043b693
and esi, edx
sub esp, 4
mov dword [esp], 0x262d453c
pop esi
dec esi
xor dword [edi], ebx
add edx, 0xe7fa5cb4
inc edx
inc edi
inc edx
inc esi
sub esp, 4
mov dword [esp], edx
pop edx
cmp edi, eax
jne fcn.0043b653
dec esi
ret
Function at 0x5129e0
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0xbc000]
push edi
jmp 0x5129fa
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x512a01
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x5129f0
mov eax, 1
add ebx, ebx
jne 0x512a13
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x512a24
jne 0x512a43
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x512a43
dec eax
add ebx, ebx
jne 0x512a30
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x512a08
add ebx, ebx
jne 0x512a3f
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0x512a95
xor ecx, ecx
sub eax, 3
jb 0x512a5b
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x512aca
sar eax, 1
mov ebp, eax
jmp 0x512a66
add ebx, ebx
jne 0x512a66
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x512a34
inc ecx
add ebx, ebx
jne 0x512a74
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x512a34
add ebx, ebx
jne 0x512a81
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x512a76
jne 0x512a92
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x512a76
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x512ab4
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x512aa6
jmp 0x5129f6
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x512ab4
add edi, ecx
jmp 0x5129f6
pop esi
mov edi, esi
mov ecx, 0x3ee5
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x512ad2
cmp byte [edi], 0x11
jne 0x512ad2
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov al, bl
loop 0x512ad7
lea edi, [esi + 0x10b000]
mov eax, dword [edi]
or eax, eax
je 0x512b4f
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x14bdec]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x14bf68]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x512b04
mov ecx, edi
jns 0x512b33
movzx eax, word [edi]
inc edi
push eax
inc edi
mov ecx, 0xaef24857
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x14bf6c]
or eax, eax
je 0x512b49
mov dword [ebx], eax
add ebx, 4
jmp 0x512b21
call dword [esi + 0x14bf7c]
add edi, 4
lea ebx, [esi - 4]
xor eax, eax
mov al, byte [edi]
inc edi
or eax, eax
je 0x512b80
cmp al, 0xef
ja 0x512b73
add ebx, eax
mov eax, dword [ebx]
xchg ah, al
rol eax, 0x10
xchg ah, al
add eax, esi
mov dword [ebx], eax
jmp 0x512b55
and al, 0xf
shl eax, 0x10
mov ax, word [edi]
add edi, 2
jmp 0x512b62
mov ebp, dword [esi + 0x14bf70]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x22f]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0x512bb4
sub esp, 0xffffff80
jmp 0x427f4a
Function at 0x9370a0
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x188
mov eax, dword [0x992014]
xor eax, esp
mov dword [esp + 0x184], eax
push esi
push edi
push 0x104
lea eax, [esp + 0x84]
mov esi, ecx
push eax
push 0
call 0x22407c8
nop
mov eax, 0x5a4d
cmp word [esi], ax
jne 0x937289
mov edi, dword [esi + 0x3c]
add edi, esi
cmp dword [edi], 0x4550
jne 0x937289
push 0x44
lea eax, [esp + 0x3c]
push 0
push eax
call fcn.009640f0
add esp, 0xc
lea eax, [esp + 0x20]
xorps xmm0, xmm0
movaps xmmword [esp + 0x20], xmm0
push eax
lea eax, [esp + 0x3c]
push eax
push 0
push 0
push 4
push 0
push 0
push 0
push 0
lea eax, [esp + 0xa4]
push eax
call 0x224084d
nop
test eax, eax
je 0x937289
push 4
push 0x1000
push 4
push 0
call 0x22400e0
nop
push eax
mov dword [esp + 0x1c], eax
mov dword [eax], 0x10007
push dword [esp + 0x28]
call 0x5d0116
nop
test eax, eax
je 0x937289
push 0
push 4
lea eax, [esp + 0x24]
push eax
push 0x988df8
push dword [esp + 0x30]
call 0x5d05c0
nop
mov eax, dword [edi + 0x34]
cmp dword [esp + 0x1c], eax
jne 0x9371ac
push 0x988dfc
push 0x988e14
call 0x21b0d6b
nop
push eax
call 0x5d02c5
nop
push dword [esp + 0x1c]
push dword [esp + 0x24]
call eax
mov eax, dword [edi + 0x34]
push 0x40
push 0x3000
push dword [edi + 0x50]
push eax
push dword [esp + 0x30]
call 0x5d03df
nop
mov dword [esp + 0x14], eax
test eax, eax
je 0x937289
push 0
push dword [edi + 0x54]
push esi
push eax
push dword [esp + 0x30]
call 0x224068a
nop
xor eax, eax
mov dword [esp + 0x10], 0
cmp ax, word [edi + 6]
jae 0x937243
mov dword [esp + 0xc], eax
call fcn.00936ef0
push eax
call 0x21a066a
nop
mov ecx, dword [esp + 0xc]
add ecx, esi
add ecx, dword [esi + 0x3c]
push 0
push dword [ecx + 0x108]
mov eax, dword [ecx + 0x10c]
add eax, esi
push eax
mov eax, dword [ecx + 0x104]
add eax, dword [esp + 0x20]
push eax
push dword [esp + 0x30]
call 0x224068a
nop
mov ecx, dword [esp + 0x10]
movzx eax, word [edi + 6]
inc ecx
add dword [esp + 0xc], 0x28
mov dword [esp + 0x10], ecx
cmp ecx, eax
jl 0x9371f2
push 0
push 4
lea eax, [edi + 0x34]
push eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0xa4]
add eax, 8
push eax
push dword [esp + 0x30]
call 0x224068a
nop
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 0x28]
add eax, dword [esp + 0x14]
push ecx
mov dword [ecx + 0xb0], eax
push dword [esp + 0x28]
call 0x5d081f
nop
push dword [esp + 0x24]
call 0x21b0e4f
nop
push 0x8000
push 0
push esi
call 0x22405ad
nop
mov ecx, dword [esp + 0x18c]
mov al, 1
pop edi
pop esi
xor ecx, esp
call fcn.0094cff1
mov esp, ebp
pop ebp
ret
Function at 0x94dcc7
Capabilities:
Parse pe header

Disassembly:
push 0
call 0x240144c
nop
test eax, eax
je 0x94dd07
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x94dd07
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x94dd07
mov eax, 0x10b
cmp word [ecx + 0x18], ax
jne 0x94dd07
cmp dword [ecx + 0x74], 0xe
jbe 0x94dd07
cmp dword [ecx + 0xe8], 0
je 0x94dd07
mov al, 1
ret
xor al, al
ret
Function at 0x401e90
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45ed50
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
push esi
push edi
mov esi, ecx
lea eax, [ebp + 8]
mov dword [ebp - 4], 0
lea ecx, [esi + 0xc0]
push eax
call fcn.0040f050
mov eax, dword [esi + 0xc4]
lea edi, [esi + 0xc4]
test eax, eax
je 0x401ee5
push eax
call fcn.0042f8fc
add esp, 4
mov dword [edi], 0
push 0x470a54
push dword [ebp + 8]
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push eax
call fcn.0042fa3d
mov eax, dword [ebp - 0x18]
add esp, 0xc
test eax, eax
setne byte [ebp - 0xd]
test eax, eax
je 0x401f16
push eax
call fcn.0042f8fc
add esp, 4
push 0x470a58
push dword [ebp + 8]
push edi
call fcn.0042fa3d
mov ecx, dword [edi]
add esp, 0xc
or ebx, 0xffffffff
test ecx, ecx
je 0x401f58
test eax, eax
jne 0x401f58
cmp byte [ebp - 0xd], al
jne 0x401f51
push ecx
push 1
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0xfeff
push 2
push eax
call fcn.0042fcbc
add esp, 0x10
xor esi, esi
jmp 0x402051
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x20]
push str.Opening_log_file:__
push eax
call fcn.0040c990
push str.__failed_
push eax
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 1
push eax
call fcn.0040ca60
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x1c]
push str.ERROR:
push eax
call fcn.0040c990
add esp, 0x24
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call fcn.0040f050
mov byte [ebp - 4], 2
mov eax, ebx
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x401fc1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [esi + 4], 0
je 0x401fde
push ecx
mov ecx, esp
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x1c], ecx
call fcn.0040eb20
mov eax, dword [esi + 4]
call eax
add esp, 4
cmp dword [edi], 0
je 0x402010
push 0x470a3c
push 0x470a44
lea ecx, [ebp - 0x14]
call fcn.0040d0f0
push dword [ebp - 0x14]
push 0x470a48
push dword [edi]
call fcn.0040eb00
push dword [edi]
mov esi, eax
call fcn.0042f577
add esp, 0x10
mov byte [ebp - 4], 1
mov eax, ebx
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40202e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov eax, ebx
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40204c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, 0x22
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x402070
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4045c0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45eff0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c
push esi
lea eax, [ebp - 0x38]
mov dword [0x487440], 0
push edi
mov edi, ecx
mov dword [0x487444], 0
mov dword [0x487438], 0
mov dword [0x48743c], 0
mov dword [0x481f14], 0x472d5c
mov byte [0x487430], 0
mov byte [0x487431], 0
mov dword [ebp - 0x38], vtable.std::_Func_impl_class__lambda_ef67f7e3564a8eeec7e38ab1f63d496a___class_std::allocator_int___void___.0
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
lea eax, [ebp - 0x60]
mov word [ebp - 0x70], 0x100
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x3c], 0
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 2
call fcn.0040e410
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x404695
mov edx, dword [ecx]
lea eax, [ebp - 0x38]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp - 0x14], 0
mov cl, byte [ebp - 0x70]
xor edx, edx
movzx eax, byte [ebp - 0x6f]
cmp cl, 1
cmovne eax, edx
mov byte [ebp - 0x6f], al
je 0x4046b3
mov dword [ebp - 0x68], 0xfa
mov dword [ebp - 0x64], edx
push ecx
lea ecx, [ebp - 0x78]
call fcn.00414bd0
mov eax, dword [edi + 0xb8]
lea esi, [edi + 0xb8]
test eax, eax
je 0x4046db
push eax
call fcn.0042f8fc
add esp, 4
mov dword [esi], 0
mov eax, dword [edi + 0xb4]
cmp dword [eax - 0xc], 0
je 0x404718
push 0x471978
push eax
push esi
call fcn.0042fa3d
mov ecx, dword [esi]
add esp, 0xc
test ecx, ecx
je 0x40473d
test eax, eax
jne 0x40473d
push ecx
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0xfeff
push 2
push eax
call fcn.0042fcbc
add esp, 0x10
mov eax, dword [edi + 0x34]
cmp eax, 1
jne 0x404744
push fcn.004063a0
push ecx
mov ecx, esp
lea eax, [edi + 0x30]
push eax
mov dword [ebp - 0x10], ecx
call fcn.0040eb20
mov ecx, edi
call fcn.00404a40
jmp 0x40477b
mov edi, 0x22
jmp 0x404792
cmp eax, 4
lea eax, [edi + 0x30]
jne 0x404766
push fcn.004063a0
push ecx
mov ecx, esp
push eax
mov dword [ebp - 0x10], ecx
call fcn.0040eb20
mov ecx, edi
call fcn.004055d0
jmp 0x40477b
push 0
push ecx
mov ecx, esp
push eax
mov dword [ebp - 0x10], ecx
call fcn.0040eb20
mov ecx, edi
call fcn.004063a0
mov edi, eax
mov eax, dword [esi]
test eax, eax
je 0x404792
push eax
call fcn.0042f8fc
add esp, 4
mov dword [esi], 0
lea ecx, [ebp - 0x78]
mov byte [ebp - 0x70], 0
call fcn.00414b60
mov byte [0x487430], 1
mov dword [0x481f14], 0x471980
call fcn.00401310
mov ecx, dword [ebp - 0x3c]
mov dword [0x487438], 0
mov dword [0x48743c], 0
mov dword [0x487440], 0
mov dword [0x487444], 0
test ecx, ecx
je 0x4047fb
mov edx, dword [ecx]
lea eax, [ebp - 0x60]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp - 0x3c], 0
cmp dword [ebp - 0x74], 0
je 0x404806
call fcn.0042c487
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret