joyce8/EMBER2024-capa huggingface dataset:
Function at 0x6b883264
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
cmp dword [ebp + 8], 0
je 0x6b883279
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
jne 0x6b883283
mov eax, 0
jmp 0x6b883373
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
add eax, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x78]
add eax, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20]
add eax, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
add eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x1c]
add eax, edx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xc], 0
jmp 0x6b883362
mov eax, dword [ebp - 0xc]
lea edx, [eax*4]
mov eax, dword [ebp - 0x18]
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [ebp - 0x28]
add eax, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._mml_strcmpA
test eax, eax
sete al
test al, al
je 0x6b88335e
mov eax, dword [ebp - 0xc]
lea edx, [eax + eax]
mov eax, dword [ebp - 0x1c]
add eax, edx
movzx eax, word [eax]
mov word [ebp - 0x2e], ax
movzx eax, word [ebp - 0x2e]
lea edx, [eax*4]
mov eax, dword [ebp - 0x20]
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edx, eax
mov eax, dword [ebp - 0x34]
add eax, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
jmp 0x6b883373
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x24]
jl 0x6b8832e7
mov eax, 0
leave
ret

Function at 0x6b88cb00
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 0x6b88cb60
Capabilities:
Allocate or change rwx memory

Disassembly:
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x30
mov esi, dword [0x6b9da058]
test esi, esi
jle 0x6b88cc80
mov eax, dword [0x6b9da05c]
xor ecx, ecx
add eax, 0xc
mov edx, dword [eax]
cmp ebx, edx
jb 0x6b88cb94
mov edi, dword [eax + 4]
add edx, dword [edi + 8]
cmp ebx, edx
jb 0x6b88cc17
add ecx, 1
add eax, 0x14
cmp ecx, esi
jne 0x6b88cb80
mov dword [esp], ebx
call dbg.__mingw_GetSectionForAddress
mov edi, eax
test eax, eax
je 0x6b88cca7
mov eax, dword [0x6b9da05c]
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 [0x6b9da05c]
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 0x6b88cc87
mov eax, dword [esp + 0x28]
lea edx, [eax - 0x40]
and edx, 0xffffffbf
je 0x6b88cc10
lea edx, [eax - 4]
and edx, 0xfffffffb
jne 0x6b88cc20
add dword [0x6b9da058], 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 [0x6b9da05c]
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 0x6b88cc10
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 0x6b88cb9e
mov eax, dword [0x6b9da05c]
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 0x6b88cfc0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
mov dword [esp], 0x6b9da068
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [0x6b9da060]
sub esp, 4
test ebx, ebx
je 0x6b88d015
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 0x6b88d00e
test esi, esi
je 0x6b88d00e
mov eax, dword [ebx + 4]
mov dword [esp], esi
call eax
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x6b88cff0
mov dword [esp], 0x6b9da068
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
Function at 0x6b88d350
Capabilities:
Parse pe header

Disassembly:
xor eax, eax
cmp word [0x6b880000], 0x5a4d
jne 0x6b88d375
mov ecx, dword [0x6b88003c]
cmp dword [ecx + 0x6b880000], 0x4550
lea edx, [ecx + 0x6b880000]
je 0x6b88d380
ret
cmp word [ecx + 0x6b880018], 0x10b
jne 0x6b88d375
push esi
movzx eax, word [ecx + 0x6b880014]
push ebx
movzx esi, word [ecx + 0x6b880006]
mov ebx, dword [esp + 0xc]
lea eax, [edx + eax + 0x18]
sub ebx, 0x6b880000
test si, si
je 0x6b88d3c8
xor ecx, ecx
mov edx, dword [eax + 0xc]
cmp ebx, edx
jb 0x6b88d3be
add edx, dword [eax + 8]
cmp ebx, edx
jb 0x6b88d3ca
add ecx, 1
add eax, 0x28
cmp ecx, esi
jne 0x6b88d3b0
xor eax, eax
pop ebx
pop esi
ret

Function at 0x6b892700
Capabilities:
Allocate thread local storage

Disassembly:
sub esp, 0x1c
mov dword [0x6b9da0c4], 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 [0x6b9da0c8], eax
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
je 0x6b892770
mov dword [esp + 4], 0x6b892610
mov dword [esp], eax
mov dword [0x6b9da0c0], eax
call dbg.__mingwthr_key_dtor
test eax, eax
jne 0x6b938121
add esp, 0x1c
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x6b89275a
Function at 0x6b89c500
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 0x6b89c548
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 [0x6b9dab84], eax
sub esp, 8
mov eax, dbg.mingw_rand_s
jmp 0x6b89c533

Function at 0x6b89e2f0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Patch event tracing for windows function

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [esp], str.ntdll.dll
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call eax
sub esp, 4
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x6b89e31a
mov eax, 0
jmp 0x6b89e3aa
mov dword [esp + 4], str.EtwEventWrite
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
sub esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x6b89e342
mov eax, 0
jmp 0x6b89e3aa
lea eax, [ebp - 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x40
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_VirtualProtect]
call eax
sub esp, 0x10
test eax, eax
sete al
test al, al
je 0x6b89e379
mov eax, 0
jmp 0x6b89e3aa
mov eax, dword [ebp - 0x10]
mov byte [eax], 0xc3
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x14]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_VirtualProtect]
call eax
sub esp, 0x10
mov eax, 1
leave
ret

Function at 0x6b89f2bc
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0
jmp 0x6b89f2f1
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 8]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 8]
add edx, ecx
movzx eax, byte [eax + 0x6b93e440]
mov byte [edx], al
add dword [ebp - 4], 1
cmp dword [ebp - 4], 0xf
jle 0x6b89f2ce
nop
nop
leave
ret 4

Function at 0x6b89f770
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
call eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], 0
jmp 0x6b89f799
mov dword [ebp - 0x18], 4
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0x270f
setle al
test al, al
jne 0x6b89f789
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
call eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0xc]
cmp eax, 0xa
seta al
leave
ret
Function at 0x6b89f978
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x94
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x88], 0x40
lea eax, [ebp - 0x88]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
call eax
sub esp, 4
test eax, eax
setne al
test al, al
je 0x6b89fa5c
lea eax, [ebp - 0x48]
lea edx, [ebp - 0x2d]
mov dword [esp], edx
mov ecx, eax
call method.AntiVirtualMachine.MemorySpace__::lambda__1::operator___abi:cxx11____const
sub esp, 4
lea eax, [ebp - 0x48]
mov dword [esp + 4], eax
mov dword [esp], 0x6b940220
call method.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std.allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char
mov ecx, eax
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov dword [esp], eax
mov dword [esp + 4], edx
call method.std::ostream.operator___unsigned_long_long_
sub esp, 8
mov ebx, eax
lea eax, [ebp - 0x2c]
lea edx, [ebp - 0x11]
mov dword [esp], edx
mov ecx, eax
call method.AntiVirtualMachine.MemorySpace__::lambda__2::operator___abi:cxx11____const
sub esp, 4
lea eax, [ebp - 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std.allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char
mov dword [esp], method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call method.std::ostream.operator___std::ostream____std::ostream__
sub esp, 4
lea eax, [ebp - 0x2c]
mov ecx, eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea eax, [ebp - 0x48]
mov ecx, eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov ecx, 1
cmp eax, dword [ebp - 0x10]
mov eax, edx
sbb eax, dword [ebp - 0xc]
jb 0x6b89fa61
mov ecx, 0
jmp 0x6b89fa61
mov ecx, 0
mov eax, ecx
jmp 0x6b89fa89
mov ebx, dword [ebp - 4]
leave
ret
Function at 0x6b8a024c
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x54
lea eax, [ebp - 0x48]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetSystemInfo]
call eax
sub esp, 4
lea eax, [ebp - 0x24]
lea edx, [ebp - 9]
mov dword [esp], edx
mov ecx, eax
call method.AntiVirtualMachine.OneCPU__::lambda__1::operator___abi:cxx11____const
sub esp, 4
lea eax, [ebp - 0x24]
mov dword [esp + 4], eax
mov dword [esp], 0x6b940220
call method.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std.allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char
mov edx, eax
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
mov ecx, edx
call method.std::ostream.operator___unsigned_long_
sub esp, 4
mov dword [esp], method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call method.std::ostream.operator___std::ostream____std::ostream__
sub esp, 4
lea eax, [ebp - 0x24]
mov ecx, eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov eax, dword [ebp - 0x34]
cmp eax, 1
setbe al
jmp 0x6b8a02d7
mov ebx, dword [ebp - 4]
leave
ret

Function at 0x6b8a0f80
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 0x6b8a0fb8
movzx edx, byte [esi + eax - 1]
mov dword [ebx + 0x24], edx
add esp, 0x14
pop ebx
pop esi
ret 8

Function at 0x6b8a0fd0
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 0x6b8a1b30
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
push ebx
sub esp, 0x20
cmp byte [0x6b940558], 0
jne 0x6b8a1c56
mov byte [0x6b940558], 1
call sym.___cxa_current_exception_type
test eax, eax
je 0x6b8a1c24
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 0x6b8a1c14
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], 0x6b98e8a5
call sym._fwrite
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x6b935e0c
jmp 0x6b935e04
call esi
mov dword [esp], edi
mov dword [esp + 4], eax
call sym._fputs
jmp 0x6b8a1bda
mov dword [esp], 2
call dword [0x6b93ea00]
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 0x6b935dff
mov dword [esp], 2
call dword [0x6b93ea00]
mov dword [esp + 8], 0x1d
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x6b98e854
call sym._fwrite
call sym._abort
nop
nop
nop
nop
nop
nop
nop
nop
Function at 0x6b8b0720
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.6b8b2170
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 0x6b8b0838
cmp dword [esp + 0x38], 0xffffffff
sete al
test edi, edi
je 0x6b8b07f2
test al, al
jne 0x6b8b0810
cmp dl, al
jne 0x6b8b0800
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 0x6b8b07f2
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 0x6b8b07f2
mov ebp, eax
xor edx, edx
mov eax, dword [esi + 0xc]
cmp dword [esi + 8], eax
jb 0x6b8b07e2
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 0x6b8b07e2
Function at 0x6b8b0870
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.6b8b2170
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 0x6b8b0988
cmp dword [esp + 0x38], 0xffffffff
sete al
test edi, edi
je 0x6b8b0942
test al, al
jne 0x6b8b0960
cmp dl, al
jne 0x6b8b0950
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 0x6b8b0942
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 0x6b8b0942
mov ebp, eax
xor edx, edx
mov eax, dword [esi + 0xc]
cmp dword [esi + 8], eax
jb 0x6b8b0932
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 0x6b8b0932
Function at 0x6b8d6390
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 0x6b8daac0
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.6b8dc0b0
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 0x6b8dabd8
cmp dword [esp + 0x38], 0xffffffff
sete al
test edi, edi
je 0x6b8dab92
test al, al
jne 0x6b8dabb0
cmp dl, al
jne 0x6b8daba0
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 0x6b8dab92
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 0x6b8dab92
mov ebp, eax
xor edx, edx
mov eax, dword [esi + 0xc]
cmp dword [esi + 8], eax
jb 0x6b8dab82
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 0x6b8dab82