joyce8/EMBER2024-capa huggingface dataset:
Function at 0x47fe50
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4bfca0
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
mov eax, dword [0xc18374]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov ecx, dword [ebp + 8]
lea eax, [esp + 0xc]
push eax
call fcn.0040a410
cmp dword [esp + 0xc], 0
mov dword [esp + 0x38], 0
je 0x47ff0a
mov ebx, 1
jmp 0x47fea0
lea ecx, [esp + 0xc]
push ecx
lea edx, [esp + 0x20]
push str._0xI64x
push edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], str.APCore::CertDLSetting::LoadXML
mov dword [esp + 0x30], str....._flashtoolSettingCertDLSetting.cpp
mov dword [esp + 0x34], 0x1a
call fcn.0040b750
add esp, 0xc
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x10]
call fcn.0040a440
mov ecx, dword [eax]
push ecx
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x14]
mov byte [esp + 0x40], bl
call fcn.00405e50
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 0
call fcn.0040a3e0
cmp dword [esp + 0xc], 0
jne 0x47fea0
lea ecx, [esp + 0xc]
mov dword [esp + 0x38], 0xffffffff
call fcn.0040a3e0
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x4807a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4bfee2
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
mov eax, dword [0xc18374]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
lea eax, [esp + 8]
push eax
add ecx, 0xc
call dword [sym.imp.QtCore4.dll_public:_class_QByteArray___thiscall_QString::toLocal8Bit_void_]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
push eax
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea edx, [esp + 0xc]
push edx
mov byte [esp + 0x34], 1
call fcn.004671e0
add esp, 4
lea ecx, [esp + 0xc]
mov bl, al
mov byte [esp + 0x30], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [esp + 8]
mov dword [esp + 0x30], 0xffffffff
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x480830
mov edx, dword [esp + 8]
push edx
call dword [sym.imp.QtCore4.dll_void___cdecl_qFree_void__]
add esp, 4
mov al, bl
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop ebx
add esp, 0x2c
ret
Function at 0x4811e0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x4c0185
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0xc18374]
xor eax, esp
push eax
lea eax, [esp + 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 8], esi
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 8]
mov dword [esp + 0x18], 0
mov dword [esi], vtable.CRestoreWorker.0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [esi + 0x28], ecx
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x2c], edx
mov edx, dword [esp + 0x48]
mov dword [esi + 0x34], ecx
mov ecx, dword [esp + 0x50]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x38], edx
mov dx, word [esp + 0x54]
mov dword [esi + 0x40], ecx
lea ecx, [esi + 0x48]
mov byte [esp + 0x14], 1
mov dword [esi + 0x3c], eax
mov word [esi + 0x44], dx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x14], 0xffffffff
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, esi
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x10
ret 0x3c
Function at 0x482990
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x4c0537
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push esi
mov eax, dword [0xc18374]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.QtCore4.dll_public:_class_QByteArray___thiscall_QString::toLocal8Bit_void_]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
push eax
lea edx, [esp + 0x10]
push edx
mov dword [esp + 0x38], 0
call fcn.00465910
add esp, 8
cmp dword [eax + 0x18], 0x10
mov byte [esp + 0x30], 1
jb 0x4829f4
mov eax, dword [eax + 4]
jmp 0x4829f7
add eax, 4
push 0xffffffffffffffff
push eax
call dword [sym.imp.QtCore4.dll_private:_static_struct_QString::Data____cdecl_QString::fromAscii_helper_char_const___int_]
add esp, 8
mov dword [esi], eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x30], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [esp + 0x38]
mov byte [esp + 0x30], 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x482a34
mov edx, dword [esp + 0x38]
push edx
call dword [sym.imp.QtCore4.dll_void___cdecl_qFree_void__]
add esp, 4
mov eax, dword [esp + 0x3c]
push eax
lea ecx, [esi + 4]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::constructor_class_QString_const__]
mov ecx, dword [esp + 0x40]
push ecx
lea ecx, [esi + 8]
mov byte [esp + 0x34], 5
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::constructor_class_QString_const__]
mov eax, esi
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x2c
ret 0xc
Function at 0x482b20
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c05bc
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push esi
mov eax, dword [0xc18374]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
mov esi, ecx
xor eax, eax
push eax
push 1
push esi
lea ecx, [esp + 0x18]
mov dword [esp + 0x38], eax
mov dword [esp + 0x14], eax
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QSettings::constructor_class_QString_const___enum_QSettings::Format__class_QObject__]
lea eax, [esi + 4]
push eax
lea ecx, [esp + 0x10]
mov dword [esp + 0x30], 1
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QSettings::beginGroup_class_QString_const__]
lea ecx, [esp + 0x14]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QVariant::constructor_void_]
push eax
add esi, 8
push esi
mov esi, dword [esp + 0x3c]
push esi
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 2
call dword [sym.imp.QtCore4.dll_public:_class_QVariant___thiscall_QSettings::value_class_QString_const___class_QVariant_const__]
lea ecx, [esp + 0x14]
mov dword [esp + 8], 1
mov byte [esp + 0x2c], 1
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QVariant::destructor_void_]
lea ecx, [esp + 0xc]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QSettings::endGroup_void_]
lea ecx, [esp + 0xc]
mov byte [esp + 0x2c], 0
call dword [sym.imp.QtCore4.dll_public_virtual:_void___thiscall_QSettings::destructor_void_]
mov eax, esi
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x28
ret 4
Function at 0x4940d0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c2d08
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0xc18374]
xor eax, esp
push eax
lea eax, [esp + 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 8], esi
mov dword [esi], vtable.SCIDownloadWidget.2.0
mov dword [esi + 8], vtable.SCIDownloadWidget.1.0
mov dword [esi + 0x24], vtable.SCIDownloadWidget.0
mov ecx, dword [esi + 0x30]
mov dword [esp + 0x14], 0
test ecx, ecx
je 0x494124
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
push 1
call edx
mov eax, dword [esi + 0x28]
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, esi
mov dword [esp + 0x14], 0xffffffff
call fcn.0041f440
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x10
ret
Function at 0x49a5f0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x4c3b61
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0xc18374]
xor eax, esp
mov dword [esp + 0x4c], eax
push ebx
push esi
mov eax, dword [0xc18374]
xor eax, esp
push eax
lea eax, [esp + 0x5c]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [esp + 0x3c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x18]
lea edx, [esp + 0x14]
push edx
call fcn.00447ce0
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x18]
lea edx, [esp + 0xc]
push edx
call fcn.0041a7a0
mov eax, dword [eax]
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x18]
push edx
mov ecx, eax
mov byte [esp + 0x6c], 1
call fcn.00467b50
mov ecx, dword [esp + 0x10]
mov bl, al
mov eax, dword [esp + 0xc]
push eax
push ecx
mov byte [esp + 0x6c], 0
call fcn.004197b0
add esp, 8
lea ecx, [esp + 0x3c]
mov dword [esp + 0x64], 0xffffffff
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
test bl, bl
jne 0x49a6c5
xor al, al
jmp 0x49a6c7
mov al, 1
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.004ac9a4
add esp, 0x5c
ret

Function at 0x49e6f0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c49d8
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
mov eax, dword [0xc18374]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
push 0xc1b274
push 0xc1b27c
push 0xc1b284
lea ecx, [esp + 0x14]
call fcn.00482990
mov ebx, dword [esp + 0x34]
push ebx
lea ecx, [esp + 0xc]
mov dword [esp + 0x30], 0
call fcn.00482c40
movzx eax, bl
push eax
lea ecx, [esp + 0x18]
push str.Has_expired_before:__d
push ecx
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], str.TempPlcCtrl::setHasExpiredBefore
mov dword [esp + 0x28], str....._flashtoolTimeStampTempPlcCtrl.cpp
mov dword [esp + 0x2c], 0x71
call fcn.0040b750
add esp, 0xc
lea ecx, [esp + 8]
mov dword [esp + 0x2c], 0xffffffff
call fcn.00404f30
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop ebx
add esp, 0x28
ret 4
Function at 0x49f0e0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c4bc3
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push ebx
push esi
mov eax, dword [0xc18374]
xor eax, esp
push eax
lea eax, [esp + 0x4c]
mov dword fs:[0], eax
mov esi, ecx
push 0xc1b280
push 0xc1b270
push 0xc1b284
lea ecx, [esp + 0x20]
call fcn.00482990
lea eax, [esp + 0xc]
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x58], 0
call fcn.00482d30
lea ecx, [esp + 0x30]
push ecx
mov ebx, 1
lea ecx, [esp + 0x10]
mov byte [esp + 0x58], bl
call dword [sym.imp.QtCore4.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_QString::toStdString_void_]
cmp dword [eax + 0x18], 0x10
mov byte [esp + 0x54], 2
jb 0x49f15d
mov eax, dword [eax + 4]
jmp 0x49f160
add eax, 4
push eax
lea edx, [esp + 0x24]
push str.Last_launch_time_string:__s
push edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], str.TempPlcCtrl::getLastTime
mov dword [esp + 0x34], str....._flashtoolTimeStampTempPlcCtrl.cpp
mov dword [esp + 0x38], 0x37
call fcn.0040b750
add esp, 0xc
lea ecx, [esp + 0x30]
mov byte [esp + 0x54], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea eax, [esp + 0xc]
push eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call fcn.0049e7a0
lea edx, [esp + 0x10]
push edx
mov ecx, esi
mov byte [esp + 0x58], 3
call fcn.0049ee10
mov ecx, dword [esp + 0x5c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
test edx, edx
jl 0x49f1d8
jg 0x49f1d2
test eax, eax
jbe 0x49f1d8
mov byte [esp + 0x5c], bl
jmp 0x49f1dd
mov byte [esp + 0x5c], 0
mov eax, dword [esp + 0x10]
mov byte [esp + 0x54], bl
or ecx, 0xffffffff
lock xadd dword [eax], ecx
mov esi, dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
jne 0x49f1fe
mov edx, dword [esp + 0x10]
push edx
call esi
add esp, 4
mov eax, dword [esp + 0xc]
mov byte [esp + 0x54], 0
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x49f21a
mov edx, dword [esp + 0xc]
push edx
call esi
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x54], 0xffffffff
call fcn.00404f30
mov al, byte [esp + 0x5c]
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
add esp, 0x4c
ret 4
Function at 0x49f250
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c4bc3
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push ebx
push esi
mov eax, dword [0xc18374]
xor eax, esp
push eax
lea eax, [esp + 0x4c]
mov dword fs:[0], eax
mov esi, ecx
push 0xc1b288
push 0xc1b270
push 0xc1b284
lea ecx, [esp + 0x20]
call fcn.00482990
lea eax, [esp + 0xc]
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x58], 0
call fcn.00482d30
lea ecx, [esp + 0x30]
push ecx
mov ebx, 1
lea ecx, [esp + 0x10]
mov byte [esp + 0x58], bl
call dword [sym.imp.QtCore4.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_QString::toStdString_void_]
cmp dword [eax + 0x18], 0x10
mov byte [esp + 0x54], 2
jb 0x49f2cd
mov eax, dword [eax + 4]
jmp 0x49f2d0
add eax, 4
push eax
lea edx, [esp + 0x24]
push str.Deadline_string:__s
push edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], str.TempPlcCtrl::getDeadline
mov dword [esp + 0x34], str....._flashtoolTimeStampTempPlcCtrl.cpp
mov dword [esp + 0x38], 0x46
call fcn.0040b750
add esp, 0xc
lea ecx, [esp + 0x30]
mov byte [esp + 0x54], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea eax, [esp + 0xc]
push eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call fcn.0049e7a0
lea edx, [esp + 0x10]
push edx
mov ecx, esi
mov byte [esp + 0x58], 3
call fcn.0049ee10
mov ecx, dword [esp + 0x5c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
test edx, edx
jl 0x49f348
jg 0x49f342
test eax, eax
jbe 0x49f348
mov byte [esp + 0x5c], bl
jmp 0x49f34d
mov byte [esp + 0x5c], 0
mov eax, dword [esp + 0x10]
mov byte [esp + 0x54], bl
or ecx, 0xffffffff
lock xadd dword [eax], ecx
mov esi, dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
jne 0x49f36e
mov edx, dword [esp + 0x10]
push edx
call esi
add esp, 4
mov eax, dword [esp + 0xc]
mov byte [esp + 0x54], 0
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x49f38a
mov edx, dword [esp + 0xc]
push edx
call esi
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x54], 0xffffffff
call fcn.00404f30
mov al, byte [esp + 0x5c]
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
add esp, 0x4c
ret 4
Function at 0x4a5830
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c57d3
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0xc18374]
xor eax, esp
push eax
lea eax, [esp + 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 8], esi
mov dword [esi], vtable.APCore::DLWithoutScatterCommand.0
lea ecx, [esi + 0x44]
mov dword [esp + 0x14], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [esi + 0x30]
test eax, eax
je 0x4a587f
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esi + 0x24]
push eax
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
lea ecx, [esi + 8]
mov dword [esp + 0x14], 0xffffffff
mov dword [esi], vtable.APCore::ICommand.0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x10
ret
Function at 0x4ac9a4
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0xc18374]
jne 0x4ac9ae
repz ret
jmp fcn.004ad021

Function at 0x4ad6e0
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 0x10
lea eax, [esp + 4]
push eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.QtCore4.dll_public:_static_class_QString___cdecl_QString::fromWCharArray_unsigned_short_int_const___int_]
add esp, 0xc
mov ecx, eax
call dword [sym.imp.QtCore4.dll_public:_class_QByteArray___thiscall_QString::toLocal8Bit_void_]
mov edx, dword [esp + 8]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x4ad722
mov ecx, dword [esp + 8]
push ecx
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
push 8
lea ecx, [esp + 4]
mov dword [esp + 0x10], 0
call fcn.004ad660
lea ecx, [esp + 4]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QByteArray::detach_void_]
mov ecx, dword [esp + 0x20]
lea edx, [esp]
push edx
mov edx, dword [esp + 8]
lea eax, [esp + 0x10]
push eax
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x24]
push eax
push ecx
push edx
call sub.QtCore4.dll_void___cdecl_qWinMain_struct_HINSTANCE_____struct_HINSTANCE_____char___int__int___class_QVector_char____
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
add esp, 0x18
cmp ecx, 1
je 0x4ad786
mov eax, dword [esp]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
push edx
push eax
lea ecx, [esp + 8]
call fcn.004ad4b0
mov eax, dword [esp]
mov ecx, dword [esp + 0xc]
push esi
add eax, 0x10
push eax
push ecx
call fcn.00405450
mov esi, eax
mov eax, dword [esp + 0xc]
add esp, 8
test eax, eax
je 0x4ad7be
or edx, 0xffffffff
lock xadd dword [eax], edx
jne 0x4ad7be
mov eax, dword [esp + 4]
push 4
push eax
call dword [sym.imp.QtCore4.dll_public:_static_void___cdecl_QVectorData::free_struct_QVectorData___int_]
add esp, 8
mov ecx, dword [esp + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x4ad7d9
mov eax, dword [esp + 8]
push eax
call dword [sym.imp.QtCore4.dll_void___cdecl_qFree_void__]
add esp, 4
mov eax, esi
pop esi
add esp, 0x10
ret 0x10
Function at 0x432000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..rsrc
nop
mov ebx, 0x40c7d0
nop
nop
mov ecx, 0x205974b5
nop
nop
test eax, eax
nop
nop
nop
nop
nop
nop
je 0x43204e
nop
nop
nop
xor dword [eax], ecx
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x432024
nop
nop
mov eax, section..data
nop
mov ebx, 0x42f314
nop
nop
mov ecx, 0x454e60f1
nop
nop
nop
test eax, eax
nop
je 0x432084
nop
nop
nop
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
add eax, 4
nop
cmp eax, ebx
nop
nop
nop
nop
jne 0x43206c
nop
nop
nop
nop
popal
nop
nop
nop
nop
jmp 0x431219
Function at 0x446b6b
Capabilities:
Parse pe header

Disassembly:
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x446baa
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x446baa
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x446baa
mov eax, 0x10b
cmp word [ecx + 0x18], ax
jne 0x446baa
cmp dword [ecx + 0x74], 0xe
jbe 0x446baa
cmp dword [ecx + 0xe8], 0
setne al
ret
xor al, al
ret
Function at 0x44c728
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 0x44c7c5
push ebx
push esi
call fcn.0044c6f1
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.0044c685
add esp, 0x24
mov dword [ebp - 4], eax
test eax, eax
jne 0x44c772
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x44c7c4
push edi
push eax
call fcn.0044b08b
mov edi, eax
pop ecx
push ebx
test edi, edi
jne 0x44c792
call fcn.0044b0d9
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x44c7c3
push ebx
push dword [ebp - 4]
push edi
push dword [ebp - 8]
push esi
push ebx
push ebx
call fcn.0044c685
add esp, 0x20
test eax, eax
jne 0x44c7b1
push edi
call fcn.0044b0d9
jmp 0x44c7b9
push ebx
call fcn.0044b0d9
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 0x44d9d4
Capabilities:
Allocate thread local storage

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push 0x4560c8
push 0x4560c0
push str.FlsAlloc
push 0x1f
call fcn.0044d893
mov esi, eax
add esp, 0x10
test esi, esi
je 0x44da08
push dword [ebp + 8]
mov ecx, esi
call dword [0x454130]
call esi
jmp 0x44da0e
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
pop esi
pop ebp
ret 4

Function at 0x44da52
Capabilities:
Get thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push 0x4560d8
push 0x4560d0
push str.FlsGetValue
push 0x21
call fcn.0044d893
mov esi, eax
add esp, 0x10
test esi, esi
je 0x44da89
push dword [ebp + 8]
mov ecx, esi
call dword [0x454130]
call esi
pop esi
pop ebp
ret 4
pop esi
pop ebp
jmp dword [sym.imp.KERNEL32.dll_TlsGetValue]

Function at 0x44da91
Capabilities:
Set thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push 0x4560e0
push 0x4560d8
push str.FlsSetValue
push 0x22
call fcn.0044d893
mov esi, eax
add esp, 0x10
test esi, esi
je 0x44dacb
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call dword [0x454130]
call esi
pop esi
pop ebp
ret 8
pop esi
pop ebp
jmp dword [sym.imp.KERNEL32.dll_TlsSetValue]
Function at 0x452e90
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x452ebd
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x452ebd
mov edx, 0x10b
xor eax, eax
cmp word [ecx + 0x18], dx
sete al
pop ebp
ret
xor eax, eax
pop ebp
ret