joyce8/EMBER2024-capa huggingface dataset:
Function at 0x406cf0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
cmp dword [0x424834], 0
jne 0x406d32
xor edi, edi
mov eax, edi
mov ebx, 7
mov edx, eax
shr edx, 1
and eax, 1
je 0x406d1d
xor edx, 0xedb88320
dec ebx
mov eax, edx
jns 0x406d0e
mov dword [edi*4 + 0x424830], edx
inc edi
cmp edi, 0xff
jle 0x406d07
mov eax, esi
dec esi
not ecx
test eax, eax
je 0x406d5a
mov edx, dword [ebp + 0xc]
mov al, byte [edx]
inc edx
xor eax, ecx
mov dword [ebp + 0xc], edx
movzx eax, al
shr ecx, 8
xor ecx, dword [eax*4 + 0x424830]
mov eax, esi
dec esi
test eax, eax
jne 0x406d3b
pop ebx
pop esi
not ecx
pop edi
mov eax, ecx
pop ebp
ret 0xc
Function at 0x10010ff0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
pushal
call 0x10010fff
pop dword [ebp - 0x24]
mov eax, 0x5d5d4980
add eax, 0xb2a3c67f
sub dword [ebp - 0x24], eax
mov dword [ebp - 0x34], 0xdfdde94c
sub dword [ebp - 0x34], 0x918ba401
mov dword [ebp - 0x30], 0xf604bd5c
add dword [ebp - 0x30], 0x3c2e8ee9
mov dword [ebp - 0x2c], 0xd08ad7fc
add dword [ebp - 0x2c], 0x7bc16c32
mov dword [ebp - 0x28], 0xbd1c702
sub dword [ebp - 0x28], 0xbd1c702
lea eax, [ebp - 0x34]
push eax
mov eax, 0xb522a026
add eax, 0x5adef02a
add eax, dword [ebp - 0x24]
call dword [eax]
mov dword [ebp - 0x34], 0xcfad98c7
add dword [ebp - 0x34], 0xa4c4d08f
mov dword [ebp - 0x30], 0x449afbe6
sub dword [ebp - 0x30], 0x32e9a71
mov dword [ebp - 0x2c], 0x11171d63
add dword [ebp - 0x2c], 0x52584f09
mov dword [ebp - 0x28], 0x8e8770e8
add dword [ebp - 0x28], 0x71788f18
lea ebx, [ebp - 0x34]
push ebx
push eax
mov eax, 0xff4889e5
add eax, 0x10b9066f
add eax, dword [ebp - 0x24]
call dword [eax]
push 0x40
push 0x1000
push 0x383c5
push 0
call eax
mov ecx, 0x4ecf
xor esi, esi
add esi, eax
mov edi, 0x10021a00
add edi, dword [ebp - 0x24]
mov edx, 0x806a53ba
xor dword [ebp - 8], 0x84a89bb3
mov ebx, dword [edi]
sub dword [ebp - 4], 0xc0475e60
sub ebx, edx
xor dword [ebp - 0x20], 0x2848186f
mov dword [esi], ebx
sub dword [ebp - 8], edx
add esi, 4
add edi, 4
loop 0x10011111
add eax, 0x12e0f
mov ebx, eax
add eax, 5
mov ecx, 0x10000000
add ecx, dword [ebp - 0x24]
call ebx
leave
ret
Function at 0x401465
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [esp], 0x4030e8
call sub.msvcrt.dll_system
mov dword [esp], 0x4030ec
call sym._puts
call sym._color_back
mov dword [ebp - 0xc], 0
jmp 0x4014bb
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._display_line
mov dword [esp], str.Game_Over
call sym._puts
mov dword [esp], 0x1e
call sym._Sleep_4
sub esp, 4
add dword [ebp - 0xc], 5
cmp dword [ebp - 0xc], 0x1f3
jle 0x401491
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
leave
ret

Function at 0x4014da
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [esp], 0x4030e8
call sub.msvcrt.dll_system
mov dword [esp], 0x4030ec
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], 0x4030f8
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], 0x403115
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], str._t_t___________________________
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], 0x403154
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], str._t_t____________________________
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], str._t_t____________
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], str._t_t___________
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], str._t_t___________
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], str._t_t___________
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], str._t_t___________
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], str._t_t________________________________
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], 0x4031f0
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], 0x403214
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], 0x403238
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], str._t_t______________________________
call sym._puts
call sym._color_back
mov dword [esp], 0x12c
call sym._Sleep_4
sub esp, 4
mov dword [esp], str._t_t__________________________
call sym._puts
leave
ret
Function at 0x405630
Capabilities:
Enumerate pe sections

Disassembly:
push 0xffffffffffffffff
push 0x43d608
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor esi, esi
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [edi + 0x10]
mov dword [esp + 0x20], esi
cmp eax, 0xc
mov dword [esp + 0x14], eax
je 0x405677
cmp eax, 0xd
jne 0x40570a
mov esi, 1
mov eax, dword [edi + 0xc]
add eax, esi
mov dl, byte [eax + 5]
mov bl, byte [eax + 6]
movsx ecx, dl
movsx ebp, bl
lea ecx, [ecx + ecx*4]
lea ecx, [ebp + ecx*2 - 0x210]
mov ebp, dword [0x45db60]
cmp ebp, ecx
je 0x405733
movsx eax, bl
movsx ecx, dl
push eax
lea edx, [esi + 7]
push ecx
add esi, 6
push edx
push esi
push ebp
lea eax, [esp + 0x24]
push str.Different:_week_is__02d_but_barcode__d__d_digit._were__c_c
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x1c
lea edx, [esp + 0x10]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [0x48f9c8]
call fcn.00439080
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 0xffffffee
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 0xfffffff6
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov cl, byte [eax + 4]
mov eax, dword [0x45db64]
xor edx, edx
mov ebx, 0xa
div ebx
movsx eax, cl
sub eax, 0x30
cmp edx, eax
je 0x4057b0
movsx ecx, cl
add esi, 5
push ecx
push esi
push edx
lea edx, [esp + 0x1c]
push str.Different:_year_is__d_but_barcode__d_digit._was__c
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
lea eax, [esp + 0x10]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [0x48f9c8]
call fcn.00439080
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 0xffffffed
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov ecx, dword [esp + 0x14]
push 0
add ecx, esi
push ecx
mov ecx, edi
call fcn.00407490
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x18]
pop edi
pop esi
pop ebp
mov eax, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x14
ret
Function at 0x409450
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x43db18
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
push esi
mov esi, ecx
lea ecx, [esp + 8]
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x10]
mov dword [esp + 0x30], 0
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0xc]
mov byte [esp + 0x30], 1
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x10]
lea eax, [esi + 8]
mov bl, 2
mov ecx, dword [ecx - 8]
mov byte [esp + 0x30], bl
cmp ecx, edx
jge 0x4094ea
lea ecx, [esp + 0xc]
mov byte [esp + 0x30], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x30], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 8]
mov dword [esp + 0x30], 0xffffffff
call sub.MFC42.DLL_CString::CString
pop esi
mov al, 1
pop ebx
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
add esp, 0x2c
ret
push edi
push eax
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::operator
lea edx, [esp + 0x18]
push 5
push edx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 3
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x18]
mov byte [esp + 0x34], bl
call sub.MFC42.DLL_CString::CString
lea eax, [esp + 0x18]
push 4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 4
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x18]
mov byte [esp + 0x34], bl
call sub.MFC42.DLL_CString::CString
mov edi, dword [esp + 0x10]
xor ecx, ecx
lea edx, [esp + 0x1c]
mov al, byte [ecx + edi]
cmp al, 0x30
jl 0x40956a
cmp al, 0x39
jg 0x40956a
movsx eax, al
sub eax, 0x30
jmp 0x409570
movsx eax, al
sub eax, 0x37
mov dword [edx], eax
inc ecx
add edx, 4
cmp ecx, 4
jl 0x409557
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
shl ecx, 4
add ecx, eax
shl ecx, 4
add ecx, edi
shl ecx, 4
lea eax, [ecx + edx + 1]
lea ecx, [esi + 4]
push eax
mov eax, dword [esp + 0x18]
push eax
push str._s_.4X
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov ecx, esi
call fcn.00407af0
lea ecx, [esp + 0x10]
mov bl, al
mov byte [esp + 0x34], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x34], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x2c]
pop edi
mov al, bl
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x2c
ret
Function at 0x409600
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x43db58
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
push esi
mov esi, ecx
lea ecx, [esp + 8]
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x10]
mov dword [esp + 0x30], 0
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0xc]
mov byte [esp + 0x30], 1
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esi + 8]
lea eax, [esi + 8]
mov bl, 2
mov edx, dword [ecx - 8]
mov ecx, dword [esi + 0x10]
cmp edx, ecx
mov byte [esp + 0x30], bl
jge 0x40969a
lea ecx, [esp + 0xc]
mov byte [esp + 0x30], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x30], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 8]
mov dword [esp + 0x30], 0xffffffff
call sub.MFC42.DLL_CString::CString
pop esi
mov al, 1
pop ebx
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
add esp, 0x2c
ret
push edi
lea edi, [ecx - 4]
push eax
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::operator
lea edx, [esp + 0x18]
push edi
push edx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 3
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x18]
mov byte [esp + 0x34], bl
call sub.MFC42.DLL_CString::CString
lea eax, [esp + 0x18]
push 4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 4
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x18]
mov byte [esp + 0x34], bl
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0x10]
xor eax, eax
lea ecx, [esp + 0x1c]
movsx edi, byte [eax + edx]
sub edi, 0x30
inc eax
mov dword [ecx], edi
add ecx, 4
cmp eax, 4
jl 0x409709
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*2]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x14]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x28]
lea eax, [eax + edx*2 + 1]
lea edx, [esi + 4]
push eax
push ecx
push str._s_.4lu
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov ecx, esi
call fcn.00407af0
lea ecx, [esp + 0x10]
mov bl, al
mov byte [esp + 0x34], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x34], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x2c]
pop edi
mov al, bl
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x2c
ret
Function at 0x4097a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x43db98
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push esi
mov esi, ecx
lea ecx, [esp + 8]
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], 0
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0xc]
mov byte [esp + 0x34], 1
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esi + 8]
lea eax, [esi + 8]
mov bl, 2
mov edx, dword [ecx - 8]
mov ecx, dword [esi + 0x10]
cmp edx, ecx
mov byte [esp + 0x34], bl
jge 0x40983a
lea ecx, [esp + 0xc]
mov byte [esp + 0x34], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x34], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 8]
mov dword [esp + 0x34], 0xffffffff
call sub.MFC42.DLL_CString::CString
pop esi
mov al, 1
pop ebx
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
add esp, 0x30
ret
push edi
lea edi, [ecx - 5]
push eax
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::operator
lea edx, [esp + 0x18]
push edi
push edx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], 3
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], bl
call sub.MFC42.DLL_CString::CString
lea eax, [esp + 0x18]
push 5
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x3c], 4
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], bl
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0x10]
xor eax, eax
lea ecx, [esp + 0x1c]
movsx edi, byte [eax + edx]
sub edi, 0x30
inc eax
mov dword [ecx], edi
add ecx, 4
cmp eax, 5
jl 0x4098a9
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*2]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x28]
lea eax, [eax + edx*2]
mov edx, dword [esp + 0x2c]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*2 + 1]
lea ecx, [esi + 4]
push eax
mov eax, dword [esp + 0x18]
push eax
push str._s_.5lu
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov ecx, esi
call fcn.00407af0
lea ecx, [esp + 0x10]
mov bl, al
mov byte [esp + 0x38], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x38], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x30]
pop edi
mov al, bl
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret
Function at 0x409950
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x43dbd8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x28
push ebx
push esi
mov esi, ecx
lea ecx, [esp + 8]
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 1
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esi + 8]
lea eax, [esi + 8]
mov bl, 2
mov edx, dword [ecx - 8]
mov ecx, dword [esi + 0x10]
cmp edx, ecx
mov byte [esp + 0x38], bl
jge 0x4099ea
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x38], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 8]
mov dword [esp + 0x38], 0xffffffff
call sub.MFC42.DLL_CString::CString
pop esi
mov al, 1
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
push edi
lea edi, [ecx - 6]
push eax
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::operator
lea edx, [esp + 0x18]
push edi
push edx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x40], 3
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call sub.MFC42.DLL_CString::CString
lea eax, [esp + 0x18]
push 6
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x40], 4
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0x10]
xor eax, eax
lea ecx, [esp + 0x1c]
movsx edi, byte [eax + edx]
sub edi, 0x30
inc eax
mov dword [ecx], edi
add ecx, 4
cmp eax, 6
jl 0x409a59
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*2]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x28]
lea eax, [eax + edx*2]
mov edx, dword [esp + 0x2c]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*2]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 + 1]
push eax
push edx
lea eax, [esi + 4]
push str._s_.6lu
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov ecx, esi
call fcn.00407af0
lea ecx, [esp + 0x10]
mov bl, al
mov byte [esp + 0x3c], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x3c], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x3c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x34]
pop edi
mov al, bl
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x34
ret
Function at 0x409d80
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x43dc68
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0xc]
mov edi, dword [esi + 0x10]
sub edi, 6
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x14]
mov dword [esp + 0x38], 0
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x10]
mov byte [esp + 0x38], 1
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x10]
lea eax, [esi + 8]
mov bl, 2
mov ecx, dword [ecx - 8]
mov byte [esp + 0x38], bl
cmp ecx, edx
jge 0x409e22
lea ecx, [esp + 0x10]
mov byte [esp + 0x38], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x38], 0xffffffff
call sub.MFC42.DLL_CString::CString
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
add esp, 0x30
ret
push eax
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::operator
lea edx, [esp + 0x18]
push edi
push edx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], 3
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], bl
call sub.MFC42.DLL_CString::CString
lea eax, [esp + 0x18]
push 5
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x3c], 4
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], bl
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0x10]
xor eax, eax
lea ecx, [esp + 0x1c]
movsx edi, byte [eax + edx]
sub edi, 0x30
inc eax
mov dword [ecx], edi
add ecx, 4
cmp eax, 5
jl 0x409e8d
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*2]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x28]
lea eax, [eax + edx*2]
mov edx, dword [esp + 0x2c]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*2 + 1]
lea ecx, [esi + 4]
push eax
mov eax, dword [esp + 0x18]
push eax
push str._s_.5luR
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov ecx, esi
call fcn.00407af0
lea ecx, [esp + 0x10]
mov bl, al
mov byte [esp + 0x38], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x38], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x30]
pop edi
mov al, bl
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret
Function at 0x40a1a0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x43dcc8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c
push esi
mov esi, dword [esp + 0x40]
mov byte [esp + 4], 0x45
mov byte [esp + 5], 0x44
mov byte [esp + 6], 0x59
mov byte [esp + 7], 0x42
mov byte [esp + 8], 0x56
mov byte [esp + 9], 0x4a
mov byte [esp + 0xa], 0x46
mov byte [esp + 0xb], 0x58
mov byte [esp + 0xc], 0x41
mov byte [esp + 0xd], 0x4b
mov byte [esp + 0xe], 0x4c
mov byte [esp + 0xf], 0x4d
mov byte [esp + 0x10], 0x52
mov byte [esp + 0x11], 0x4e
mov byte [esp + 0x12], 0x50
mov byte [esp + 0x13], 0x5a
mov byte [esp + 0x14], 0x54
mov byte [esp + 0x15], 0x57
mov byte [esp + 0x16], 0x48
mov eax, 9
lea ecx, [esp + 0x18]
movsx edx, byte [eax + esi]
sub edx, 0x30
inc eax
mov dword [ecx], edx
add ecx, 4
cmp eax, 0xe
jl 0x40a225
mov al, byte [esi + 8]
cmp al, 0x39
movsx ecx, al
jg 0x40a246
sub ecx, 0x30
jmp 0x40a249
sub ecx, 0x37
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], 0xffffffff
lea eax, [eax + eax*2]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x20]
add eax, edx
mov edx, dword [esp + 0x1c]
add eax, edx
mov edx, dword [esp + 0x18]
add eax, edx
add eax, ecx
mov ecx, 0x13
cdq
idiv ecx
mov al, byte [esi + 0xe]
pop esi
mov cl, byte [esp + edx]
cmp al, cl
lea ecx, [esp + 0x3c]
je 0x40a2a3
call sub.MFC42.DLL_CString::CString
xor al, al
mov ecx, dword [esp + 0x2c]
mov dword fs:[0], ecx
add esp, 0x38
ret 4
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x2c]
mov al, 1
mov dword fs:[0], ecx
add esp, 0x38
ret 4

Function at 0x40a2c0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
sub esp, 0x2c
mov edx, dword [esp + 0x30]
push esi
mov byte [esp + 4], 0x45
mov byte [esp + 5], 0x44
mov byte [esp + 6], 0x59
mov byte [esp + 7], 0x42
mov byte [esp + 8], 0x56
mov byte [esp + 9], 0x4a
mov byte [esp + 0xa], 0x46
mov byte [esp + 0xb], 0x58
mov byte [esp + 0xc], 0x41
mov byte [esp + 0xd], 0x4b
mov byte [esp + 0xe], 0x4c
mov byte [esp + 0xf], 0x4d
mov byte [esp + 0x10], 0x52
mov byte [esp + 0x11], 0x4e
mov byte [esp + 0x12], 0x50
mov byte [esp + 0x13], 0x5a
mov byte [esp + 0x14], 0x54
mov byte [esp + 0x15], 0x57
mov byte [esp + 0x16], 0x48
mov eax, 9
lea ecx, [esp + 0x18]
movsx esi, byte [eax + edx]
sub esi, 0x30
inc eax
mov dword [ecx], esi
add ecx, 4
cmp eax, 0xe
jl 0x40a330
mov dl, byte [edx + 8]
cmp dl, 0x39
movsx esi, dl
jg 0x40a352
sub esi, 0x30
jmp 0x40a355
sub esi, 0x37
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x1c]
add eax, edx
mov edx, dword [esp + 0x18]
add eax, ecx
mov ecx, 0x13
add eax, edx
add eax, esi
pop esi
cdq
idiv ecx
mov al, byte [esp + edx]
add esp, 0x2c
ret 4
Function at 0x40bc80
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x43df48
push eax
mov dword fs:[0], esp
sub esp, 0x10
push esi
mov esi, ecx
mov al, byte [esi + 9]
test al, al
jne 0x40bcb6
xor al, al
pop esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
add esp, 0x1c
ret 8
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push eax
push ecx
lea ecx, [esp + 0x30]
call fcn.0043becc
lea ecx, [esp + 0x28]
mov dword [esp + 0x1c], 0
mov word [esp + 4], 8
call sub.MFC42.DLL_CString::AllocSysString
mov ecx, dword [esi + 0xc]
lea edx, [esp + 4]
push edx
mov dword [esp + 0x10], eax
call fcn.0043b790
lea eax, [esp + 4]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [esp + 0x28]
mov dword [esp + 0x1c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x14]
mov al, 1
pop esi
mov dword fs:[0], ecx
add esp, 0x1c
ret 8