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

Disassembly:
cmp ecx, dword [0x100251dc]
jne 0x1000eafd
repz ret
jmp fcn.10010089

Function at 0x100102c7
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x100251dc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0x1c], eax
call fcn.1000dcfb
and dword [ebp - 0x14], 0
cmp dword [0x10026d2c], 0
mov dword [ebp - 0x18], eax
jne 0x1001037a
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
test ebx, ebx
je 0x10010422
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxW
push ebx
call edi
test eax, eax
je 0x10010422
mov esi, dword [sym.imp.KERNEL32.dll_EncodePointer]
push eax
call esi
push str.GetActiveWindow
push ebx
mov dword [0x10026d2c], eax
call edi
push eax
call esi
push str.GetLastActivePopup
push ebx
mov dword [0x10026d30], eax
call edi
push eax
call esi
push str.GetUserObjectInformationW
push ebx
mov dword [0x10026d34], eax
call edi
push eax
call esi
mov dword [0x10026d3c], eax
test eax, eax
je 0x1001037a
push str.GetProcessWindowStation
push ebx
call edi
push eax
call esi
mov dword [0x10026d38], eax
mov eax, dword [0x10026d38]
mov ecx, dword [ebp - 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_DecodePointer]
cmp eax, ecx
je 0x100103d3
cmp dword [0x10026d3c], ecx
je 0x100103d3
push eax
call esi
push dword [0x10026d3c]
mov edi, eax
call esi
mov ebx, eax
test edi, edi
je 0x100103d3
test ebx, ebx
je 0x100103d3
call edi
test eax, eax
je 0x100103ca
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call ebx
test eax, eax
je 0x100103ca
test byte [ebp - 8], 1
jne 0x100103d3
or dword [ebp + 0x10], 0x200000
jmp 0x10010406
mov eax, dword [0x10026d30]
cmp eax, dword [ebp - 0x18]
je 0x10010406
push eax
call esi
test eax, eax
je 0x10010406
call eax
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10010406
mov eax, dword [0x10026d34]
cmp eax, dword [ebp - 0x18]
je 0x10010406
push eax
call esi
test eax, eax
je 0x10010406
push dword [ebp - 0x14]
call eax
mov dword [ebp - 0x14], eax
push dword [0x10026d2c]
call esi
test eax, eax
je 0x10010422
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x14]
call eax
jmp 0x10010424
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1000eaf3
leave
ret
Function at 0x42e000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x42e00c
nop
nop
pop eax
nop
nop
nop
nop
add eax, 0x403ac5
sub eax, 0x403a6b
nop
nop
nop
nop
mov ebx, dword [eax]
nop
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
nop
mov edx, dword [eax + 8]
xor dword [ebx], edx
nop
nop
nop
nop
nop
add ebx, 4
nop
nop
nop
nop
cmp ebx, ecx
nop
nop
nop
jl 0x42e030
nop
nop
nop
nop
nop
add eax, 0xc
nop
nop
nop
nop
cmp dword [eax], 0
nop
jne 0x42e01e
nop
nop
nop
nop
nop
nop
nop
nop
popal
jmp fcn.00401219

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

Disassembly:
mov ecx, ebp
push ebp
mov ebp, esp
mov dword [0x505076], ecx
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov dword [0x505298], eax
mov dword [0x505220], 0x5032dd
mov dword [0x50521c], 2
jmp 0x503b97
mov dword [0x505224], 0
mov dword [0x505228], 0
mov dword [0x505218], 0x30
push 0
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
mov dword [0x50522c], eax
mov dword [0x505240], 0x504088
mov dword [0x505238], 0xf
mov dword [0x50506e], eax
push 0x7f00
push 0
call dword [sym.imp.user32.dll_LoadIconA]
mov dword [0x505230], eax
mov dword [0x505244], eax
push 0x7f00
push 0
call dword [sym.imp.user32.dll_LoadCursorA]
mov dword [0x505234], eax
push 0x505218
call dword [sym.imp.user32.dll_RegisterClassExA]
push 0
push dword [0x50506e]
push 0
push 0
push 0x1e5
push 0x21e
push 0xffffe52a
push 0xfffff588
push 0x40000
push str.wait
push str.aroka
push 0
call dword [sym.imp.user32.dll_CreateWindowExA]
mov dword [0x505290], eax
push 5
push dword [0x505290]
call dword [sym.imp.user32.dll_ShowWindow]
push dword [0x505290]
call dword [sym.imp.user32.dll_UpdateWindow]
jmp 0x503c6a
push 0
push 0
push 0
push 0x505248
call dword [sym.imp.user32.dll_GetMessageA]
or eax, eax
je 0x503c97
push 0x505248
call dword [sym.imp.user32.dll_TranslateMessage]
push 0x505248
call dword [sym.imp.user32.dll_DispatchMessageA]
jmp 0x503c6a
mov eax, dword [0x505250]
jmp 0x503ca4
call 0x502b16
ret
Function at 0x64b4f230
Capabilities:
Write file on windows

Disassembly:
push ebx
sub esp, 0x18
mov dword [esp], 2
lea ebx, [esp + 0x24]
call dbg.__acrt_iob_func
mov dword [esp + 8], 0x1b
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.Mingw_w64_runtime_failure:_n
call sym._fwrite
mov dword [esp], 2
call dbg.__acrt_iob_func
mov edx, dword [esp + 0x20]
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._vfprintf
call sym._abort
lea esi, [esi]

Function at 0x64b4f290
Capabilities:
Allocate or change rwx memory

Disassembly:
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x30
mov esi, dword [0x64c70054]
test esi, esi
jle 0x64b4f3b0
mov eax, dword [0x64c70058]
xor ecx, ecx
add eax, 0xc
mov edx, dword [eax]
cmp ebx, edx
jb 0x64b4f2c4
mov edi, dword [eax + 4]
add edx, dword [edi + 8]
cmp ebx, edx
jb 0x64b4f347
add ecx, 1
add eax, 0x14
cmp ecx, esi
jne 0x64b4f2b0
mov dword [esp], ebx
call dbg.__mingw_GetSectionForAddress
mov edi, eax
test eax, eax
je 0x64b4f3d7
mov eax, dword [0x64c70058]
lea ebx, [esi + esi*4]
shl ebx, 2
add eax, ebx
mov dword [eax + 0x10], edi
mov dword [eax], 0
call dbg._GetPEImageBase
mov edx, dword [0x64c70058]
add eax, dword [edi + 0xc]
mov dword [edx + ebx + 0xc], eax
lea edx, [esp + 0x14]
mov dword [esp + 8], 0x1c
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
sub esp, 0xc
test eax, eax
je 0x64b4f3b7
mov eax, dword [esp + 0x28]
lea edx, [eax - 0x40]
and edx, 0xffffffbf
je 0x64b4f340
lea edx, [eax - 4]
and edx, 0xfffffffb
jne 0x64b4f350
add dword [0x64c70054], 1
add esp, 0x30
pop ebx
pop esi
pop edi
ret
cmp eax, 2
mov edx, 4
mov eax, 0x40
mov ecx, dword [esp + 0x20]
cmove eax, edx
mov edx, dword [esp + 0x14]
add ebx, dword [0x64c70058]
mov dword [ebx + 8], ecx
mov dword [ebx + 4], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
sub esp, 0x10
test eax, eax
jne 0x64b4f340
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp], str.__VirtualProtect_failed_with_code_0x_x
mov dword [esp + 4], eax
call dbg.__report_error
lea esi, [esi]
lea esi, [esi]
xor esi, esi
jmp 0x64b4f2ce
mov eax, dword [0x64c70058]
mov eax, dword [eax + ebx + 0xc]
mov dword [esp + 8], eax
mov eax, dword [edi + 8]
mov dword [esp], str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov dword [esp + 4], eax
call dbg.__report_error
mov dword [esp + 4], ebx
mov dword [esp], str.Address__p_has_no_image_section
call dbg.__report_error
lea esi, [esi]
nop
Function at 0x64b4f6f0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
mov dword [esp], 0x64c70064
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [0x64c7005c]
sub esp, 4
test ebx, ebx
je 0x64b4f745
mov ebp, dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [esi]
mov eax, dword [ebx]
mov dword [esp], eax
call ebp
sub esp, 4
mov esi, eax
call edi
test eax, eax
jne 0x64b4f73e
test esi, esi
je 0x64b4f73e
mov eax, dword [ebx + 4]
mov dword [esp], esi
call eax
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x64b4f720
mov dword [esp], 0x64c70064
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret

Function at 0x64b4fa80
Capabilities:
Parse pe header

Disassembly:
xor eax, eax
cmp word [0x64b40000], 0x5a4d
jne 0x64b4faa5
mov ecx, dword [0x64b4003c]
cmp dword [ecx + 0x64b40000], 0x4550
lea edx, [ecx + 0x64b40000]
je 0x64b4fab0
ret
cmp word [ecx + 0x64b40018], 0x10b
jne 0x64b4faa5
push esi
movzx eax, word [ecx + 0x64b40014]
push ebx
movzx esi, word [ecx + 0x64b40006]
mov ebx, dword [esp + 0xc]
lea eax, [edx + eax + 0x18]
sub ebx, 0x64b40000
test si, si
je 0x64b4faf8
xor ecx, ecx
mov edx, dword [eax + 0xc]
cmp ebx, edx
jb 0x64b4faee
add edx, dword [eax + 8]
cmp ebx, edx
jb 0x64b4fafa
add ecx, 1
add eax, 0x28
cmp ecx, esi
jne 0x64b4fae0
xor eax, eax
pop ebx
pop esi
ret

Function at 0x64b54e30
Capabilities:
Allocate thread local storage

Disassembly:
sub esp, 0x1c
mov dword [0x64c700c0], 0xffffffff
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xffff
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
sub esp, 0x10
mov dword [0x64c700c4], eax
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
je 0x64b54ea0
mov dword [esp + 4], 0x64b54d40
mov dword [esp], eax
mov dword [0x64c700bc], eax
call dbg.__mingwthr_key_dtor
test eax, eax
jne 0x64c13b11
add esp, 0x1c
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x64b54e8a
Function at 0x64b5def0
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push esi
push ebx
sub esp, 0x14
mov dword [esp], str.msvcrt.dll
mov esi, dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 4
mov dword [esp + 4], str.rand_s
mov dword [esp], eax
call ebx
sub esp, 8
test eax, eax
je 0x64b5df38
mov dword [esp + 0x20], esi
mov dword [dbg.init_rand_s], eax
add esp, 0x14
pop ebx
pop esi
jmp eax
mov dword [esp], str.advapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
sub esp, 4
mov dword [esp + 4], str.SystemFunction036
mov dword [esp], eax
call ebx
mov dword [0x64c70b84], eax
sub esp, 8
mov eax, dbg.mingw_rand_s
jmp 0x64b5df23

Function at 0x64b60ad0
Capabilities:
Read file on windows

Disassembly:
push esi
push ebx
mov ebx, ecx
sub esp, 0x14
mov eax, dword [ecx + 0x20]
mov esi, dword [esp + 0x20]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
mov dword [esp], esi
mov dword [esp + 8], eax
call sym._fread
mov edx, 0xffffffff
test eax, eax
jle 0x64b60b08
movzx edx, byte [esi + eax - 1]
mov dword [ebx + 0x24], edx
add esp, 0x14
pop ebx
pop esi
ret 8

Function at 0x64b60b20
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x1c
mov eax, dword [ecx + 0x20]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call sym._fwrite
add esp, 0x1c
ret 8

Function at 0x64b616a0
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
push ebx
sub esp, 0x20
cmp byte [0x64c1cc38], 0
jne 0x64b617c6
mov byte [0x64c1cc38], 1
call sym.___cxa_current_exception_type
test eax, eax
je 0x64b61794
mov ebx, dword [eax + 4]
xor eax, eax
cmp byte [ebx], 0x2a
mov dword [esp + 8], 0
sete al
mov dword [esp + 4], 0
add ebx, eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call sym.___cxa_demangle
mov dword [esp], 2
mov esi, dword [dbg.__acrt_iob_func]
mov edi, eax
call esi
mov dword [esp + 8], 0x30
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.terminate_called_after_throwing_an_instance_of_
call sym._fwrite
mov edx, dword [esp + 0x1c]
mov dword [esp], 2
test edx, edx
je 0x64b61784
call esi
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._fputs
mov dword [esp], 2
call esi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x64c1dc39
call sym._fwrite
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x64c11944
jmp 0x64c1193c
call esi
mov dword [esp], edi
mov dword [esp + 4], eax
call sym._fputs
jmp 0x64b6174a
mov dword [esp], 2
call dword [0x64c1b0b0]
mov dword [esp + 8], 0x2d
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.terminate_called_without_an_active_exception_n
call sym._fwrite
jmp 0x64c11937
mov dword [esp], 2
call dword [0x64c1b0b0]
mov dword [esp + 8], 0x1d
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.terminate_called_recursively_n
call sym._fwrite
call sym._abort
nop
nop
nop
nop
nop
nop
nop
nop
Function at 0x64b70c40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x3c], ecx
lea ebp, [esp + 0x44]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x78]
lea eax, [edx + 0x6c]
mov dword [esp], eax
call method.std::__timepunct_char__const_std::use_facet_std.__timepunct_char____std::locale_const_
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
call fcn.64b72690
mov ecx, ebp
sub esp, 0x24
mov esi, eax
mov ebx, edx
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call method.std::__time_get_state._M_finalize_state_tm_
sub esp, 4
cmp ebx, 0xffffffff
sete dl
test esi, esi
setne al
and al, dl
jne 0x64b70d58
cmp dword [esp + 0x38], 0xffffffff
sete al
test edi, edi
je 0x64b70d12
test al, al
jne 0x64b70d30
cmp dl, al
jne 0x64b70d20
mov eax, dword [esp + 0x84]
or dword [eax], 2
add esp, 0x5c
mov eax, esi
mov edx, ebx
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
mov ecx, dword [edi + 0xc]
xor eax, eax
cmp dword [edi + 8], ecx
jb 0x64b70d12
mov eax, dword [edi]
mov byte [esp + 0x38], dl
mov ecx, edi
call dword [eax + 0x24]
movzx edx, byte [esp + 0x38]
cmp eax, 0xffffffff
sete al
jmp 0x64b70d12
mov ebp, eax
xor edx, edx
mov eax, dword [esi + 0xc]
cmp dword [esi + 8], eax
jb 0x64b70d02
mov eax, dword [esi]
mov byte [esp + 0x3c], dl
mov ecx, esi
call dword [eax + 0x24]
movzx edx, byte [esp + 0x3c]
cmp eax, 0xffffffff
mov eax, 0
cmove edx, ebp
cmove esi, eax
jmp 0x64b70d02
Function at 0x64b70d90
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x3c], ecx
lea ebp, [esp + 0x44]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x78]
lea eax, [edx + 0x6c]
mov dword [esp], eax
call method.std::__timepunct_char__const_std::use_facet_std.__timepunct_char____std::locale_const_
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov eax, dword [eax + 0x10]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x4c], 0
call fcn.64b72690
mov ecx, ebp
sub esp, 0x24
mov esi, eax
mov ebx, edx
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call method.std::__time_get_state._M_finalize_state_tm_
sub esp, 4
cmp ebx, 0xffffffff
sete dl
test esi, esi
setne al
and al, dl
jne 0x64b70ea8
cmp dword [esp + 0x38], 0xffffffff
sete al
test edi, edi
je 0x64b70e62
test al, al
jne 0x64b70e80
cmp dl, al
jne 0x64b70e70
mov eax, dword [esp + 0x84]
or dword [eax], 2
add esp, 0x5c
mov eax, esi
mov edx, ebx
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
mov ecx, dword [edi + 0xc]
xor eax, eax
cmp dword [edi + 8], ecx
jb 0x64b70e62
mov eax, dword [edi]
mov byte [esp + 0x38], dl
mov ecx, edi
call dword [eax + 0x24]
movzx edx, byte [esp + 0x38]
cmp eax, 0xffffffff
sete al
jmp 0x64b70e62
mov ebp, eax
xor edx, edx
mov eax, dword [esi + 0xc]
cmp dword [esi + 8], eax
jb 0x64b70e52
mov eax, dword [esi]
mov byte [esp + 0x3c], dl
mov ecx, esi
call dword [eax + 0x24]
movzx edx, byte [esp + 0x3c]
cmp eax, 0xffffffff
mov eax, 0
cmove edx, ebp
cmove esi, eax
jmp 0x64b70e52
Function at 0x64b968b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, ecx
push edi
push esi
push ebx
sub esp, 0x4c
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
mov edi, dword [esi + 0xc]
mov eax, edi
and eax, 0xffffffb5
or eax, 8
mov dword [esi + 0xc], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [esp], ecx
mov ecx, ebp
mov dword [esp + 4], ebx
xor bx, bx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call method.std::istreambuf_iterator_wchar_t__std::char_traits_wchar_t____std::num_get_wchar_t__std::istreambuf_iterator_wchar_t__std::char_traits_wchar_t_____._M_extract_int_unsigned_long__std::istreambuf_iterator_wchar_t__std::char_traits_wchar_t_____std::is
sub esp, 0x1c
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
movzx eax, word [esp + 0x2c]
mov dword [esp + 0x28], edx
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0x3c]
or edx, eax
mov eax, dword [esp + 0x78]
mov dword [esi + 0xc], edi
mov dword [eax], ebx
add esp, 0x4c
mov eax, ecx
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
Function at 0x64b9b3d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x3c], ecx
lea ebp, [esp + 0x44]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x78]
lea eax, [edx + 0x6c]
mov dword [esp], eax
call method.std::__timepunct_char__const_std::use_facet_std.__timepunct_char____std::locale_const_
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
call fcn.64b9c9c0
mov ecx, ebp
sub esp, 0x24
mov esi, eax
mov ebx, edx
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call method.std::__time_get_state._M_finalize_state_tm_
sub esp, 4
cmp ebx, 0xffffffff
sete dl
test esi, esi
setne al
and al, dl
jne 0x64b9b4e8
cmp dword [esp + 0x38], 0xffffffff
sete al
test edi, edi
je 0x64b9b4a2
test al, al
jne 0x64b9b4c0
cmp dl, al
jne 0x64b9b4b0
mov eax, dword [esp + 0x84]
or dword [eax], 2
add esp, 0x5c
mov eax, esi
mov edx, ebx
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
mov ecx, dword [edi + 0xc]
xor eax, eax
cmp dword [edi + 8], ecx
jb 0x64b9b4a2
mov eax, dword [edi]
mov byte [esp + 0x38], dl
mov ecx, edi
call dword [eax + 0x24]
movzx edx, byte [esp + 0x38]
cmp eax, 0xffffffff
sete al
jmp 0x64b9b4a2
mov ebp, eax
xor edx, edx
mov eax, dword [esi + 0xc]
cmp dword [esi + 8], eax
jb 0x64b9b492
mov eax, dword [esi]
mov byte [esp + 0x3c], dl
mov ecx, esi
call dword [eax + 0x24]
movzx edx, byte [esp + 0x3c]
cmp eax, 0xffffffff
mov eax, 0
cmove edx, ebp
cmove esi, eax
jmp 0x64b9b492
Function at 0x64b9b520
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x3c], ecx
lea ebp, [esp + 0x44]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x78]
lea eax, [edx + 0x6c]
mov dword [esp], eax
call method.std::__timepunct_char__const_std::use_facet_std.__timepunct_char____std::locale_const_
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov eax, dword [eax + 0x10]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x4c], 0
call fcn.64b9c9c0
mov ecx, ebp
sub esp, 0x24
mov esi, eax
mov ebx, edx
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call method.std::__time_get_state._M_finalize_state_tm_
sub esp, 4
cmp ebx, 0xffffffff
sete dl
test esi, esi
setne al
and al, dl
jne 0x64b9b638
cmp dword [esp + 0x38], 0xffffffff
sete al
test edi, edi
je 0x64b9b5f2
test al, al
jne 0x64b9b610
cmp dl, al
jne 0x64b9b600
mov eax, dword [esp + 0x84]
or dword [eax], 2
add esp, 0x5c
mov eax, esi
mov edx, ebx
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
mov ecx, dword [edi + 0xc]
xor eax, eax
cmp dword [edi + 8], ecx
jb 0x64b9b5f2
mov eax, dword [edi]
mov byte [esp + 0x38], dl
mov ecx, edi
call dword [eax + 0x24]
movzx edx, byte [esp + 0x38]
cmp eax, 0xffffffff
sete al
jmp 0x64b9b5f2
mov ebp, eax
xor edx, edx
mov eax, dword [esi + 0xc]
cmp dword [esi + 8], eax
jb 0x64b9b5e2
mov eax, dword [esi]
mov byte [esp + 0x3c], dl
mov ecx, esi
call dword [eax + 0x24]
movzx edx, byte [esp + 0x3c]
cmp eax, 0xffffffff
mov eax, 0
cmove edx, ebp
cmove esi, eax
jmp 0x64b9b5e2
Function at 0x64bbae20
Capabilities:
Read file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x1c
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov eax, dword [ebx]
mov dword [esp], eax
call sym._fileno
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._read
mov ebp, eax
cmp eax, 0xffffffff
je 0x64bbae60
add esp, 0x1c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret 8
call dword [sym.imp.msvcrt.dll__errno]
cmp dword [eax], 4
je 0x64bbae31
add esp, 0x1c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret 8
Function at 0x64bfb1e0
Capabilities:
Parse credit card information

Disassembly:
mov eax, dword [ecx + 0x98]
cmp dword [ecx + 0x94], eax
je 0x64bfb210
mov eax, dword [ecx + 0x7c]
test eax, eax
je 0x64bfb200
cmp eax, 2
je 0x64bfb208
cmp eax, 1
je 0x64bfb220
ret
jmp method.std::__detail::_Scanner_char_._M_scan_normal__
jmp method.std::__detail::_Scanner_char_._M_scan_in_bracket__
mov dword [ecx + 0x84], 0x1b
ret
jmp method.std::__detail::_Scanner_char_._M_scan_in_brace__
Function at 0x64c080f0
Capabilities:
Encode data using xor
Hash data using murmur2

Disassembly:
push edi
push esi
push ebx
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
xor edx, esi
cmp esi, 3
jbe 0x64c08180
lea eax, [esi - 4]
shr eax, 2
lea ebx, [ecx + eax*4 + 4]
imul edi, dword [ecx], 0x5bd1e995
add ecx, 4
imul edx, edx, 0x5bd1e995
mov eax, edi
shr eax, 0x18
xor eax, edi
imul eax, eax, 0x5bd1e995
xor edx, eax
cmp ecx, ebx
jne 0x64c08110
and esi, 3
cmp esi, 2
je 0x64c08169
cmp esi, 3
je 0x64c08160
cmp esi, 1
je 0x64c08172
mov eax, edx
pop ebx
pop esi
shr eax, 0xd
pop edi
xor edx, eax
imul edx, edx, 0x5bd1e995
mov eax, edx
shr eax, 0xf
xor eax, edx
ret
movzx eax, byte [ebx + 2]
shl eax, 0x10
xor edx, eax
movzx eax, byte [ebx + 1]
shl eax, 8
xor edx, eax
movzx eax, byte [ebx]
xor eax, edx
imul edx, eax, 0x5bd1e995
jmp 0x64c08144
mov ebx, ecx
jmp 0x64c08135