joyce8/EMBER2024-capa huggingface dataset:
Function at 0x405f36
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, dword [ebp + 8]
push edi
push 0x64
pop edi
mov eax, dword [0x40a578]
dec edi
mov dword [ebp - 8], eax
mov eax, dword [0x40a57c]
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x1a
xor edx, edx
pop ecx
div ecx
push esi
lea eax, [ebp - 8]
push 0
push eax
push dword [ebp + 0xc]
add word [ebp - 4], dx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
jne 0x405f86
test edi, edi
jne 0x405f43
and word [esi], di
pop edi
pop esi
leave
ret 8
mov eax, esi
jmp 0x405f80

Function at 0x40605d
Capabilities:
Get file size

Disassembly:
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
push ebp
push esi
mov esi, dword [esp + 0x14]
push edi
test esi, esi
mov dword [0x430908], 0x55004e
mov dword [0x43090c], 0x4c
mov edi, 0x400
mov ebp, 0x430908
je 0x4060b3
push 1
push 0
push esi
call fcn.00405f07
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
push ebp
push esi
call ebx
test eax, eax
je 0x4061d2
cmp eax, edi
jg 0x4061d2
mov esi, 0x431108
push edi
push esi
push dword [esp + 0x1c]
call ebx
test eax, eax
je 0x4061d2
cmp eax, edi
jg 0x4061d2
push esi
push ebp
push str._ls_ls_r_n
push 0x430508
call dword [sym.imp.USER32.dll_wsprintfA]
mov ebx, eax
mov eax, dword [0x434f14]
add esp, 0x10
push dword [eax + 0x128]
push esi
call fcn.0040644e
push 4
push 0xc0000000
push esi
call fcn.00405f07
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x18], ebp
je 0x4061d2
push 0
push ebp
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
lea eax, [edi + ebx + 0xa]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x4061cb
push edi
push esi
push ebp
call fcn.00405f8a
test eax, eax
je 0x4061cb
push str._Rename__r_n
push esi
call fcn.00405e6c
test eax, eax
jne 0x406169
lea eax, [esi + edi]
push str._Rename__r_n
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
add edi, 0xa
jmp 0x40619e
add eax, 0xa
push 0x40a580
push eax
call fcn.00405e6c
mov ebp, eax
test ebp, ebp
je 0x40619a
lea ecx, [esi + edi]
lea eax, [ecx + ebx]
jmp 0x40618b
mov dl, byte [ecx]
mov byte [eax], dl
dec eax
dec ecx
cmp ecx, ebp
ja 0x406185
sub ebp, esi
inc ebp
mov eax, ebp
mov ebp, dword [esp + 0x18]
jmp 0x4061a0
mov ebp, dword [esp + 0x18]
mov eax, edi
push ebx
add eax, esi
push 0x430508
push eax
call fcn.00405ec2
xor eax, eax
push eax
push eax
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
add edi, ebx
push edi
push esi
push ebp
call fcn.00405fb9
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
pop ebx
ret

Function at 0x4061d7
Capabilities:
Move file

Disassembly:
push 5
push dword [esp + 0xc]
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x4061fa
push dword [esp + 8]
push dword [esp + 8]
call fcn.0040605d
pop ecx
pop ecx
inc dword [0x434fb0]
ret 8
Function at 0x41efbd
Capabilities:
Parse pe header

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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov esi, eax
test esi, esi
je 0x4263f5
push ebx
push esi
call fcn.00426321
xor ebx, ebx
sub eax, esi
push ebx
push ebx
push ebx
push ebx
sar eax, 1
push eax
push esi
push ebx
push ebx
mov dword [ebp - 8], eax
call fcn.004262b5
add esp, 0x24
mov dword [ebp - 4], eax
test eax, eax
jne 0x4263a2
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x4263f4
push edi
push eax
call fcn.00424cbb
mov edi, eax
pop ecx
push ebx
test edi, edi
jne 0x4263c2
call fcn.00424d09
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x4263f3
push ebx
push dword [ebp - 4]
push edi
push dword [ebp - 8]
push esi
push ebx
push ebx
call fcn.004262b5
add esp, 0x20
test eax, eax
jne 0x4263e1
push edi
call fcn.00424d09
jmp 0x4263e9
push ebx
call fcn.00424d09
mov ebx, edi
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov eax, ebx
pop edi
pop ebx
pop esi
leave
ret

Function at 0x427604
Capabilities:
Allocate thread local storage

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push 0x42fd20
push 0x42fd18
push str.FlsAlloc
push 0x1f
call fcn.004274c3
mov esi, eax
add esp, 0x10
test esi, esi
je 0x427638
push dword [ebp + 8]
mov ecx, esi
call dword [0x42d148]
call esi
jmp 0x42763e
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
pop esi
pop ebp
ret 4

Function at 0x427682
Capabilities:
Get thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push 0x42fd30
push 0x42fd28
push str.FlsGetValue
push 0x21
call fcn.004274c3
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4276b9
push dword [ebp + 8]
mov ecx, esi
call dword [0x42d148]
call esi
pop esi
pop ebp
ret 4
pop esi
pop ebp
jmp dword [sym.imp.KERNEL32.dll_TlsGetValue]

Function at 0x4276c1
Capabilities:
Set thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push 0x42fd38
push 0x42fd30
push str.FlsSetValue
push 0x22
call fcn.004274c3
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4276fb
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call dword [0x42d148]
call esi
pop esi
pop ebp
ret 8
pop esi
pop ebp
jmp dword [sym.imp.KERNEL32.dll_TlsSetValue]
Function at 0x42cac0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x42caed
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x42caed
mov edx, 0x10b
xor eax, eax
cmp word [ecx + 0x18], dx
sete al
pop ebp
ret
xor eax, eax
pop ebp
ret
Function at 0x1005b2d0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x102c30f8
push 0x1010ff97
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x102d4008]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x28], 0
xor esi, esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x2c], esi
xor ebx, ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], ebx
mov word [ebp - 0x20], 0x100
mov eax, dword [ecx]
mov edi, dword [eax + 0x28]
mov dword [ebp - 0x40], edi
test edi, edi
jne 0x1005b339
xor eax, eax
jmp 0x1005b4af
mov dword [ebp - 4], ebx
push str.InitializeSecurityDescriptor
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1005b47a
push 1
push dword [ebp - 0x34]
call eax
test eax, eax
je 0x1005b47a
push str.AllocateAndInitializeSid
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1005b47a
lea ecx, [ebp - 0x28]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 1
lea ecx, [ebp - 0x24]
push ecx
call eax
test eax, eax
je 0x1005b47a
push str.GetLengthSid
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1005b47a
push dword [ebp - 0x28]
call eax
add eax, 0x10
mov dword [ebp - 0x30], eax
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
mov dword [ebp - 0x3c], esi
test esi, esi
je 0x1005b47a
push str.InitializeAcl
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1005b47a
push 2
push dword [ebp - 0x30]
push esi
call eax
test eax, eax
je 0x1005b47a
push str.AddAccessAllowedAce
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1005b47a
push dword [ebp - 0x28]
push 0x10000000
push 2
push esi
call eax
test eax, eax
je 0x1005b47a
push str.SetSecurityDescriptorDacl
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x1005b47a
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x1005b463
push 0
push ecx
push 1
push dword [ebp - 0x34]
call eax
test eax, eax
je 0x1005b450
mov ebx, 1
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x2c], 0
je 0x1005b460
jmp 0x1005b47a
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x30]
push 0
push esi
push 1
push dword [ebp - 0x34]
call eax
mov ecx, 1
test eax, eax
cmovne ebx, ecx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 4], 0xfffffffe
call fcn.1005b4d6
test ebx, ebx
jne 0x1005b4ad
test esi, esi
je 0x1005b49f
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor esi, esi
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x1005b4ad
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.1010f56f
mov esp, ebp
pop ebp
ret 0xc
Function at 0x100a3ab0
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push dword [ebp + 8]
mov edi, edx
mov ebx, ecx
push edi
push str.sqlite_master
push edi
push str.SELECT_1_FROM___w_._s_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name___d_NULL
push ebx
call fcn.100a8bc0
add esp, 0x18
cmp dword [ebp + 8], 0
jne 0x100a3aeb
push edi
push str.sqlite_master
push str.SELECT_1_FROM_temp._s_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name__1_NULL
push ebx
call fcn.100a8bc0
add esp, 0x10
pop edi
pop ebx
pop ebp
ret

Function at 0x100a8ce0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 8], edx
mov dword [ebp - 4], ecx
mov eax, dword [ebp + 8]
xor esi, esi
cmp dword [ecx + 0x14], esi
jle 0x100a8d7b
jmp 0x100a8d04
mov eax, dword [ebp + 8]
mov edi, esi
xor edi, 1
cmp esi, 2
cmovge edi, esi
test eax, eax
je 0x100a8d35
mov ecx, dword [ecx + 0x10]
mov edx, edi
add edx, edx
mov ebx, dword [ecx + edx*8]
sub ebx, dword [ebp + 8]
movzx edx, byte [eax]
movzx ecx, byte [ebx + eax]
cmp edx, ecx
jne 0x100a8d5a
test edx, edx
jne 0x100a8d6c
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x10]
add edi, edi
push 0
mov edx, ebx
mov ecx, dword [eax + edi*8 + 0xc]
add ecx, 8
call fcn.1006a4d0
add esp, 4
mov eax, dword [eax + 8]
test eax, eax
jne 0x100a8ddf
jmp 0x100a8d72
movzx ecx, byte [ecx + 0x102aab48]
movzx edx, byte [edx + 0x102aab48]
sub edx, ecx
jne 0x100a8d6f
inc eax
jmp 0x100a8d20
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
inc esi
cmp esi, dword [ecx + 0x14]
jl 0x100a8d01
mov edx, str.sqlite_master
sub edx, ebx
movzx ecx, byte [ebx]
movzx eax, byte [edx + ebx]
cmp ecx, eax
jne 0x100a8da7
test ecx, ecx
jne 0x100a8db9
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp + 8]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0x10]
test ebx, ebx
jne 0x100a8dbc
neg eax
sbb eax, eax
jmp 0x100a8dcc
movzx eax, byte [eax + 0x102aab48]
movzx ecx, byte [ecx + 0x102aab48]
sub ecx, eax
jne 0x100a8ddd
inc ebx
jmp 0x100a8d82
test eax, eax
je 0x100a8ddd
mov edx, eax
mov ecx, ebx
call fcn.10069030
mov ecx, dword [ebp - 4]
test eax, eax
jne 0x100a8ddd
mov ebx, str.sqlite_temp_master
mov dword [ebp - 8], ebx
jmp 0x100a8cf1
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x100a9110
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, ecx
mov dword [ebp - 8], edx
push ebx
push edi
xor ebx, ebx
mov dword [ebp - 0xc], eax
xor edi, edi
cmp dword [eax + 0x14], ebx
jle 0x100a91a6
mov edx, dword [ebp + 8]
push esi
nop dword [eax]
mov eax, dword [eax + 0x10]
mov esi, edi
xor esi, 1
cmp edi, 2
cmovge esi, edi
shl esi, 4
add esi, eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 4], eax
test edx, edx
je 0x100a9165
mov esi, dword [esi]
mov eax, edx
sub esi, edx
movzx edx, byte [eax]
movzx ecx, byte [esi + eax]
cmp edx, ecx
jne 0x100a9191
test edx, edx
jne 0x100a91a3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
lea ecx, [eax + 0x18]
push 0
call fcn.1006a4d0
add esp, 4
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x100a9188
mov eax, dword [ebp - 0xc]
inc edi
mov edx, dword [ebp + 8]
cmp edi, dword [eax + 0x14]
jl 0x100a9130
pop esi
pop edi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
movzx ecx, byte [ecx + 0x102aab48]
movzx edx, byte [edx + 0x102aab48]
sub edx, ecx
jne 0x100a917c
inc eax
jmp 0x100a9153
pop edi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1010ee80
Capabilities:
Get file size

Disassembly:
sub esp, 8
mov eax, dword [0x102d4008]
xor eax, esp
mov dword [esp + 4], eax
push esi
mov esi, dword [esp + 0x10]
test esi, esi
jne 0x1010eeae
mov eax, 1
pop esi
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.1010f56f
add esp, 8
ret 4
mov eax, dword [ecx + 0xc]
cmp eax, 0xffffffff
je 0x1010ee97
push edi
lea ecx, [esp + 8]
mov dword [esp + 8], 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
cmp edi, 0xffffffff
jne 0x1010eef4
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x1010eef4
pop edi
mov eax, 1
pop esi
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.1010f56f
add esp, 8
ret 4
mov ecx, dword [esp + 8]
xor eax, eax
add eax, edi
mov dword [esi], eax
adc ecx, 0
xor eax, eax
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0xc]
pop edi
pop esi
xor ecx, esp
call fcn.1010f56f
add esp, 8
ret 4

Function at 0x10112d80
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10235320
push eax
mov dword fs:[0], esp
sub esp, 0x88
push esi
mov esi, ecx
lea eax, [esi + 0xc]
push eax
push 0
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [esi + 0x14]
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, eax
mov dword [esi + 8], ecx
test ecx, ecx
je 0x10112de5
mov eax, dword [esi + 0x10]
pop esi
test eax, eax
je 0x10112dd5
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
test eax, eax
je 0x10112e15
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
push str.cannot_create_thread
lea ecx, [ebp - 0x24]
call fcn.1004d980
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x68]
call fcn.10111440
push 0x102cd810
lea eax, [ebp - 0x68]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push str.cannot_set_thread_priority
lea ecx, [ebp - 0x3c]
call fcn.1004d980
push 0
lea eax, [ebp - 0x3c]
mov dword [ebp - 4], 1
push eax
lea ecx, [ebp - 0x94]
call fcn.10111440
push 0x102cd810
lea eax, [ebp - 0x94]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3
Function at 0x1014b2b0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1023808e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x34
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [ebp - 0x10], edi
lea eax, [esi + 4]
push eax
lea ecx, [edi + 4]
mov dword [edi], vtable.Poco::Data::MetaColumn.0
call fcn.10050fc0
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x24]
mov dword [edi + 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [edi + 0x28], eax
mov al, byte [esi + 0x2c]
mov byte [edi + 0x2c], al
push dword [ebp + 0xc]
lea ecx, [edi + 0x30]
mov dword [ebp - 4], 0
call fcn.1014be80
lea ebx, [edi + 0x38]
mov byte [ebp - 4], 1
push 8
mov dword [ebp + 8], ebx
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
call fcn.1010f580
mov dword [ebx], eax
add esp, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [ebx]
mov dword [eax], ebx
mov edx, dword [edi + 0x34]
mov byte [ebp - 4], 2
test edx, edx
jne 0x1014b38a
push 0xc8
push str.e:xhsundcode_remote_trunk_rhinopcinfrastructure_thirdpartypoco_srcdataincludepocodatacolumn.h
push str._pData
call fcn.10110860
mov edx, dword [edi + 0x34]
add esp, 0xc
test edx, edx
je 0x1014b3d8
mov ecx, dword [edx + 0xc]
mov esi, dword [edx]
test ecx, ecx
jns 0x1014b3ab
mov eax, ecx
neg eax
je 0x1014b3ab
mov eax, ecx
not eax
shr eax, 5
lea eax, [eax*4 + 4]
sub esi, eax
jmp 0x1014b3b3
mov eax, ecx
shr eax, 5
lea esi, [esi + eax*4]
and ecx, 0x1f
push ecx
push esi
push 0
push dword [edx]
mov ecx, ebx
call fcn.1013fa80
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
push 0
lea ecx, [ebp - 0x40]
call fcn.10111270
push 0x102cd7e4
lea eax, [ebp - 0x40]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3
Function at 0x1014bf00
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102383d4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
push esi
mov ebx, ecx
push edi
push 0
mov dword [ebp - 0x14], ebx
lea eax, [ebx + 0xc]
mov dword [ebp - 0x10], 0
push 0xffffffffffffffff
push eax
mov dword [ebx], vtable.Poco::Data::StatementImpl.0
mov dword [ebx + 8], 0
call fcn.1014a2f0
add esp, 0xc
mov dword [ebx + 0x14], 0
mov dword [ebp - 4], 0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
mov eax, dword [ebp + 8]
lea edi, [ebx + 0x30]
mov dword [ebx + 0x24], eax
lea ecx, [edi + 0x50]
mov dword [ebx + 0x28], 3
mov dword [ebp + 8], edi
mov byte [ebp - 4], 1
mov dword [edi], 0x102ae288
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
push 0
push 0
lea esi, [edi + 4]
mov byte [ebp - 4], 2
push esi
mov ecx, edi
mov dword [ebp - 0x10], 1
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [edi]
mov dword [ebp - 4], 3
mov dword [ebp - 0x18], esi
mov eax, dword [eax + 4]
mov dword [edi + eax], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [edi]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ecx + edi - 4], eax
mov ecx, esi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov dword [esi], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 4
mov dword [ebx + 0xc8], 0
mov dword [ebx + 0xcc], 0
mov dword [ebx + 0xd0], 0
lea esi, [ebx + 0xd4]
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
lea edi, [ebx + 0xec]
mov dword [ebx + 0xe0], 0
mov dword [ebx + 0xe4], 0
mov dword [ebx + 0xe8], 0
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [ebx + 0x24]
mov byte [ebp - 4], 7
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
test al, al
je 0x1014c0b5
push esi
push 1
mov ecx, esi
call fcn.1013a800
lea eax, [ebp + 8]
mov dword [ebp + 8], 0
push eax
lea ecx, [ebx + 0x18]
push ecx
push 1
call fcn.1013a520
lea eax, [ebp + 8]
mov dword [ebp + 8], 0
push eax
push edi
push 1
mov ecx, edi
call fcn.101093e0
mov ecx, dword [ebp - 0xc]
mov eax, ebx
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebx + 0x24]
push 0
call fcn.1004dd00
push eax
lea ecx, [ebp - 0x44]
call fcn.10173ef0
push 0x102c7894
lea eax, [ebp - 0x44]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3
Function at 0x1016f360
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10236418
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x34
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 4]
mov edi, dword [esi + 8]
push eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov dword [ebp - 4], 0
test edi, edi
je 0x1016f3c2
push dword [esi + 0x10]
mov eax, dword [edi]
mov ecx, edi
push dword [esi + 0xc]
call dword [eax + 0x30]
lea ecx, [ebp - 0x14]
call fcn.10112c10
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
push 0
lea ecx, [ebp - 0x40]
call fcn.10111270
push 0x102cd7e4
lea eax, [ebp - 0x40]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3

Function at 0x10172be0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10238dd9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
mov dword [ebp - 0x10], ebx
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edx, dword [edi]
mov dword [ebx], edx
mov eax, dword [edi + 4]
push edx
mov dword [ebx + 4], eax
call esi
mov al, byte [edi + 8]
mov byte [ebx + 8], al
mov ecx, dword [edi + 0xc]
mov dword [ebx + 0xc], ecx
mov eax, dword [edi + 0x10]
push ecx
mov dword [ebp - 4], 0
mov dword [ebx + 0x10], eax
call esi
lea ecx, [ebx + 0x14]
mov byte [ebp - 4], 1
call fcn.10110590
mov ecx, dword [edi + 0x2c]
mov dword [ebx + 0x2c], ecx
mov eax, dword [edi + 0x30]
push ecx
mov dword [ebx + 0x30], eax
call esi
lea eax, [edi + 0x34]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebx + 0x34]
call fcn.101729e0
mov ecx, dword [edi + 0x40]
mov dword [ebx + 0x40], ecx
mov eax, dword [edi + 0x44]
push ecx
mov dword [ebx + 0x44], eax
call esi
mov ecx, dword [ebp - 0xc]
mov eax, ebx
pop edi
mov dword [ebx + 0x58], 0
mov dword [ebx + 0x5c], 0xf
mov byte [ebx + 0x48], 0
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
Function at 0x406430
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d9dbb
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x51cbc0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov eax, dword [ebp + 8]
lea esi, [edi + 4]
mov dword [edi], eax
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
mov dword [ebp - 4], 1
push eax
mov dword [ebp + 8], esi
call fcn.00409360
add eax, 0x10
mov dword [esi], eax
mov eax, dword [ebp + 0x10]
lea esi, [edi + 8]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
push eax
mov dword [ebp + 8], esi
call fcn.00409360
add esp, 8
add eax, 0x10
mov dword [esi], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 5
jne 0x4064aa
xor eax, eax
jmp 0x4064bb
mov eax, dword [ebp + 0x14]
neg eax
sbb eax, eax
and eax, 0xffffff00
add eax, 0x200
mov edx, dword [ebp + 0xc]
or esi, 0xffffffff
mov dword [edi + 0xc], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4064df
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x4064fe
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10