joyce8/EMBER2024-capa huggingface dataset:
Function at 0x432482
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
call fcn.0042b72f
xor ebx, ebx
cmp dword [0x44f2d4], ebx
mov dword [ebp - 8], eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
jne 0x432558
push 0x440134
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
cmp edi, ebx
je 0x432638
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x440128
push edi
call esi
cmp eax, ebx
je 0x432638
push eax
call fcn.0042b6c1
mov dword [esp], 0x440118
push edi
mov dword [0x44f2d4], eax
call esi
push eax
call fcn.0042b6c1
mov dword [esp], 0x440104
push edi
mov dword [0x44f2d8], eax
call esi
push eax
call fcn.0042b6c1
mov dword [0x44f2dc], eax
lea eax, [ebp - 0xc]
push eax
call fcn.0042776f
test eax, eax
pop ecx
pop ecx
je 0x432526
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.0042a1a2
add esp, 0x14
cmp dword [ebp - 0xc], 2
jne 0x432558
push 0x4400e8
push edi
call esi
push eax
call fcn.0042b6c1
cmp eax, ebx
pop ecx
mov dword [0x44f2e4], eax
je 0x432558
push 0x4400d0
push edi
call esi
push eax
call fcn.0042b6c1
pop ecx
mov dword [0x44f2e0], eax
mov eax, dword [0x44f2e0]
mov ecx, dword [ebp - 8]
cmp eax, ecx
je 0x4325dd
cmp dword [0x44f2e4], ecx
je 0x4325dd
push eax
call fcn.0042b738
push dword [0x44f2e4]
mov esi, eax
call fcn.0042b738
cmp esi, ebx
pop ecx
pop ecx
mov edi, eax
je 0x4325dd
cmp edi, ebx
je 0x4325dd
call esi
cmp eax, ebx
je 0x4325aa
lea ecx, [ebp - 0x14]
push ecx
push 0xc
lea ecx, [ebp - 0x20]
push ecx
push 1
push eax
call edi
test eax, eax
je 0x4325aa
test byte [ebp - 0x18], 1
jne 0x4325dd
lea eax, [ebp - 0x10]
push eax
call fcn.004277a6
test eax, eax
pop ecx
je 0x4325c5
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.0042a1a2
add esp, 0x14
cmp dword [ebp - 0x10], 4
jb 0x4325d4
or dword [ebp + 0x10], 0x200000
jmp 0x432618
or dword [ebp + 0x10], 0x40000
jmp 0x432618
mov eax, dword [0x44f2d8]
cmp eax, dword [ebp - 8]
je 0x432618
push eax
call fcn.0042b738
cmp eax, ebx
pop ecx
je 0x432618
call eax
cmp eax, ebx
mov dword [ebp - 4], eax
je 0x432618
mov eax, dword [0x44f2dc]
cmp eax, dword [ebp - 8]
je 0x432618
push eax
call fcn.0042b738
cmp eax, ebx
pop ecx
je 0x432618
push dword [ebp - 4]
call eax
mov dword [ebp - 4], eax
push dword [0x44f2d4]
call fcn.0042b738
cmp eax, ebx
pop ecx
je 0x432638
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
call eax
jmp 0x43263a
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
Function at 0x437d38
Capabilities:
Check os version

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x98
mov eax, dword [0x44b538]
xor eax, ebp
mov dword [ebp + 0x74], eax
push esi
mov esi, ecx
call fcn.00437ccd
mov eax, 0x400000
push 0x94
mov dword [esi + 8], eax
mov dword [esi + 4], eax
lea eax, [ebp - 0x20]
push 0
push eax
mov dword [esi], 0x3c
mov byte [esi + 0xc], 0
call fcn.00427160
add esp, 0xc
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x20], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x10], 2
jne 0x437d87
cmp dword [ebp - 0x1c], 5
jb 0x437d9f
jmp 0x437d9b
cmp dword [ebp - 0x10], 1
jne 0x437d9f
cmp dword [ebp - 0x1c], 4
ja 0x437d9b
jne 0x437d9f
cmp dword [ebp - 0x18], 0
jbe 0x437d9f
mov byte [esi + 0xc], 1
lea ecx, [esi + 0x18]
mov dword [esi + 0x10], 0x800
mov dword [esi + 0x14], 0x441310
call fcn.00437ba1
test eax, eax
jge 0x437dc0
mov byte [0x44c920], 1
mov ecx, dword [ebp + 0x74]
mov eax, esi
xor ecx, ebp
pop esi
call fcn.00426009
add ebp, 0x78
leave
ret
Function at 0x4013cf
Capabilities:
Encode data using xor

Disassembly:
jmp 0x411f5d
push esi
xor esi, esi
cmp dword [esp + 0xc], esi
jbe 0x412080
push ebx
push ebp
push edi
mov edi, dword [esp + 0x14]
mov ebx, str.Soviet_aristo_baristo
mov ebp, 0x4f9448
push ebx
push ebp
call fcn.00403490
push eax
call fcn.004013b6
add byte [esi + edi], 0x36
push ebx
push ebp
call fcn.00403490
push eax
call fcn.004013b6
add byte [esi + edi], 0x51
push ebx
push ebp
call fcn.00403490
push eax
call fcn.004013b6
add byte [esi + edi], 0x15
push ebx
push ebp
call fcn.00403490
push eax
call fcn.004013b6
xor byte [esi + edi], 0x9d
push ebx
push ebp
call fcn.00403490
push eax
call fcn.004013b6
add byte [esi + edi], 0xb3
push ebx
push ebp
call fcn.00403490
add esp, 0x44
push eax
call fcn.004013b6
xor byte [esi + edi], 0x86
push ebx
push ebp
call fcn.00403490
push eax
call fcn.004013b6
add byte [esi + edi], 7
push ebx
push ebp
call fcn.00403490
push eax
call fcn.004013b6
add byte [esi + edi], 0x2a
push ebx
push ebp
call fcn.00403490
push eax
call fcn.004013b6
xor byte [esi + edi], 0x15
push ebx
push ebp
call fcn.00403490
push eax
call fcn.004013b6
xor byte [esi + edi], 0xfb
push ebx
push ebp
call fcn.00403490
push eax
call fcn.004013b6
add byte [esi + edi], 0x9c
add esp, 0x40
push ebx
push ebp
call fcn.00403490
push eax
call fcn.004013b6
add byte [esi + edi], 0xbb
push ebx
push ebp
call fcn.00403490
push eax
call fcn.004013b6
add byte [esi + edi], 0x4e
push ebx
push ebp
call fcn.00403490
push eax
call fcn.004013b6
add byte [esi + edi], 9
add esp, 0x24
inc esi
cmp esi, dword [esp + 0x18]
jb 0x411f7b
pop edi
pop ebp
pop ebx
pop esi
ret

Function at 0x402946
Capabilities:
Resolve function by parsing pe exports

Disassembly:
jmp 0x412674
sub esp, 0x20
mov eax, dword [0x4f7024]
xor eax, esp
mov dword [esp + 0x1c], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x30]
xor ebp, ebp
push edi
mov eax, dword [esi + 0x3c]
mov edi, dword [eax + esi + 0x78]
add edi, esi
mov ebx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
add ebx, esi
mov dword [esp + 0x10], eax
test eax, eax
je 0x4126f3
mov eax, dword [ebx]
lea ecx, [esp + 0x14]
add eax, esi
push eax
call fcn.00401e2e
push str.Hardline
push 0x4f9530
call fcn.00402d60
push eax
call fcn.00406082
lea eax, [esp + 0x20]
push 0x36c
push eax
call fcn.00402cc5
add esp, 0x14
cmp eax, dword [esp + 0x38]
je 0x41270d
lea ecx, [esp + 0x14]
add ebx, 4
call fcn.00402982
inc ebp
cmp ebp, dword [esp + 0x10]
jb 0x4126a5
xor edi, edi
mov ecx, dword [esp + 0x2c]
lea eax, [esi + edi]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00403030
add esp, 0x20
ret 8
mov eax, dword [edi + 0x24]
lea eax, [eax + ebp*2]
movzx ecx, word [eax + esi]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov edi, dword [eax + esi]
lea ecx, [esp + 0x14]
call fcn.00402982
jmp 0x4126f5
Function at 0x497940
Capabilities:
Enumerate files on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x264
mov eax, dword [0x4f7024]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x25c], ecx
cmp edx, edi
je 0x49798b
movzx eax, word [edx]
lea ecx, [ebp - 0x255]
push eax
call fcn.00497e02
test al, al
jne 0x497985
sub edx, 2
cmp edx, edi
jne 0x49796b
mov ecx, dword [ebp - 0x25c]
movzx esi, word [edx]
cmp esi, 0x3a
jne 0x4979ad
lea eax, [edi + 2]
cmp edx, eax
je 0x4979ad
push ecx
xor ebx, ebx
push ebx
push ebx
push edi
call fcn.00497539
add esp, 0x10
jmp 0x497aa7
push esi
lea ecx, [ebp - 0x255]
call fcn.00497e02
sub edx, edi
movzx eax, al
sar edx, 1
inc edx
neg eax
sbb eax, eax
xor ebx, ebx
push ebx
push ebx
and eax, edx
push ebx
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x254]
push eax
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x4979f0
push dword [ebp - 0x25c]
jmp 0x49799d
mov ebx, dword [ebp - 0x25c]
push 0x2e
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 2
mov dword [ebp - 0x25c], eax
pop eax
cmp word [ebp - 0x228], ax
jne 0x497a2d
cmp word [ebp - 0x226], 0
je 0x497a4e
cmp word [ebp - 0x226], ax
jne 0x497a2d
cmp word [ebp - 0x224], 0
je 0x497a4e
push ebx
push dword [ebp - 0x260]
lea eax, [ebp - 0x228]
push edi
push eax
call fcn.00497539
add esp, 0x10
mov dword [ebp - 0x264], eax
test eax, eax
jne 0x497a9a
lea eax, [ebp - 0x254]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
push 0x2e
test eax, eax
pop eax
jne 0x497a07
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
sub eax, edx
mov ecx, dword [ebp - 0x25c]
sar eax, 2
cmp ecx, eax
jne 0x497a82
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
jmp 0x497aa7
push 0x496f21
sub eax, ecx
push 4
push eax
lea eax, [edx + ecx*4]
push eax
call fcn.004054b1
add esp, 0x10
jmp 0x497a77
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00403030
leave
ret

Function at 0x431000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43100c
nop
nop
nop
pop eax
nop
nop
nop
add eax, 0x403e6a
nop
sub eax, 0x403e10
nop
nop
mov ebx, dword [eax]
nop
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
mov edx, dword [eax + 8]
nop
nop
nop
nop
nop
xor dword [ebx], edx
nop
nop
nop
nop
add ebx, 4
nop
nop
nop
cmp ebx, ecx
nop
nop
jl 0x431030
nop
nop
nop
add eax, 0xc
nop
nop
nop
cmp dword [eax], 0
nop
nop
nop
nop
nop
nop
nop
jne 0x43101e
nop
nop
nop
nop
nop
popal
jmp fcn.00401219
Function at 0x406fc0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x51e688
mov eax, dword fs:[0]
push eax
mov eax, dword [0x58057c]
xor eax, esp
push eax
lea eax, [esp + 4]
mov dword fs:[0], eax
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov byte [eax + 4], cl
mov dword [eax + 8], 0x559168
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], fcn.004fe6e3
mov dword [eax + 0x24], fcn.004ff2b3
mov dword [eax + 0x28], fcn.004fe606
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax], vtable.n_config::t_arraySection_class_t_configSkinUpdateFile::t_flash_.0
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
pop ecx
add esp, 0xc
ret 8
Function at 0x4088c0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x522658
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
mov eax, dword [0x58057c]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0xc], vtable.t_env.0
mov dword [esp + 0x14], fcn.004fe6e3
mov dword [esp + 0x18], fcn.004ff2b3
mov dword [esp + 0x1c], fcn.004fe606
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0x4000
mov dword [esp + 0x10], vtable.t_heap.0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x30], bl
mov eax, dword [ebp + 8]
push eax
lea ecx, [esp + 0x10]
push ecx
mov dword [esp + 0x48], ebx
call fcn.004086c0
add esp, 8
cmp eax, ebx
je 0x40898a
push eax
lea ecx, [esp + 0x10]
call fcn.00414ca0
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x40], 0xffffffff
lea ecx, [esp + 0x10]
mov dword [edx], eax
mov dword [esp + 0xc], vtable.t_env.0
mov dword [esp + 0x10], vtable.allocator_unsigned_char__class_TAllocDefault_.0
call fcn.00405e00
mov al, 1
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [esp + 0x40], 0xffffffff
lea ecx, [esp + 0x10]
mov dword [esp + 0xc], vtable.t_env.0
mov dword [esp + 0x10], vtable.allocator_unsigned_char__class_TAllocDefault_.0
call fcn.00405e00
xor al, al
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x4094c0
Capabilities:
Get keyboard layout
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x5207f6
mov eax, dword fs:[0]
push eax
sub esp, 0x718
mov eax, dword [0x58057c]
xor eax, esp
mov dword [esp + 0x710], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x58057c]
xor eax, esp
push eax
lea eax, [esp + 0x72c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x73c]
xor ebx, ebx
push 0x18c
lea ecx, [esp + 0x34]
push ebx
push ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], ebx
call fcn.00503d40
add esp, 0xc
lea edx, [esp + 0x2c]
push edx
push 0x64
call dword [0x531530]
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x4096e7
mov byte [esp + 0x1c], bl
mov dword [esp + 0x18], ebx
xor ebp, ebp
cmp eax, ebx
mov dword [esp + 0x734], ebx
jle 0x4096de
mov eax, dword [esp + ebp*4 + 0x2c]
push 0x10
push 0x11
lea ecx, [esp + 0x2f8]
push ecx
push eax
call fcn.004ffd83
add esp, 0x10
test eax, eax
jne 0x4096d3
mov ecx, 0x19
mov esi, str.SYSTEMCurrentControlSetControlKeyboard_Layouts_
lea edi, [esp + 0x314]
rep movsd dword es:[edi], dword [esi]
push 0x1a2
lea edx, [esp + 0x37e]
push ebx
push edx
movsw word es:[edi], word [esi]
call fcn.00503d40
lea eax, [esp + 0x2fc]
push eax
lea ecx, [esp + 0x324]
push 0x104
push ecx
call fcn.004ffd9d
mov esi, vtable.t_reg.0
add esp, 0x18
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x1bc], esi
call fcn.00418990
mov eax, str.HKEY_LOCAL_MACHINE
lea edx, [esp + 0x1c8]
mov dword [esp + 0x1c0], ebx
mov dword [esp + 0x1c4], 0x80000002
call fcn.00418b90
push 1
push ebx
lea edx, [esp + 0x31c]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x1cc]
mov byte [esp + 0x744], 1
call fcn.00419dc0
test al, al
jne 0x409676
mov byte [esp + 0x734], bl
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x1bc], esi
cmp eax, ebx
je 0x40963a
push eax
call dword [0x531050]
mov dword [esp + 0x1c0], ebx
mov dword [esp + method.t_str.virtual_0], vtable.t_str.0
cmp byte [esp + 0x2e4], bl
jne 0x4096d3
mov eax, dword [esp + 0x1d0]
lea ecx, [esp + 0x1d4]
cmp eax, ecx
je 0x4096d3
push eax
call fcn.004fe606
add esp, 4
jmp 0x4096d3
push 1
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x524]
push eax
lea ecx, [esp + 0x24]
push ecx
mov eax, str.Ime_File
lea ecx, [esp + 0x1cc]
mov dword [esp + 0x38], 0x208
call fcn.0041a040
test al, al
je 0x4096c0
mov edx, dword [esp + 0x24]
push edx
lea eax, [esp + 0x520]
push eax
call fcn.004fddd2
add esp, 8
test eax, eax
je 0x409711
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x734], bl
call fcn.00419d70
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x409551
lea ecx, [esp + 0x18]
call fcn.00417ba0
xor eax, eax
mov ecx, dword [esp + 0x72c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x710]
xor ecx, esp
call fcn.004fdc2b
add esp, 0x724
ret
mov esi, dword [esp + ebp*4 + 0x2c]
lea ecx, [esp + 0x1bc]
call fcn.00419d70
lea ecx, [esp + 0x18]
call fcn.00417ba0
mov eax, esi
jmp 0x4096e9
Function at 0x40b150
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x51ce88
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebp
mov eax, dword [0x58057c]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov eax, dword [esp + 0x44]
xor ecx, ecx
mov ebp, vtable.t_env.0
mov dword [esp + 8], ebp
mov dword [esp + 0x10], fcn.004fe6e3
mov dword [esp + 0x14], fcn.004ff2b3
mov dword [esp + 0x18], fcn.004fe606
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], 0x4000
mov dword [esp + 0xc], vtable.t_heap.0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov byte [esp + 0x2c], cl
mov dword [esp + 0x38], ecx
cmp eax, ecx
jne 0x40b230
push esi
lea eax, [esp + 0xc]
push eax
push edi
mov byte [ebx], cl
call fcn.004b3840
mov ecx, eax
call fcn.004b3090
test al, al
jne 0x40b20c
mov dword [esp + 0x38], 0xffffffff
lea ecx, [esp + 0xc]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], vtable.allocator_unsigned_char__class_TAllocDefault_.0
call fcn.00405e00
xor al, al
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop ebp
add esp, 0x34
ret
mov ecx, dword [0x58327c]
push ecx
lea ecx, [esp + 0xc]
call fcn.00414ce0
test al, al
je 0x40b247
mov edx, dword [0x583280]
push edx
lea ecx, [esp + 0xc]
call fcn.00414d30
push esi
push eax
mov eax, dword [esp + 0x48]
push eax
push edi
call fcn.004b8180
add esp, 0x10
test al, al
je 0x40b1dc
mov byte [ebx], 1
mov dword [esp + 0x38], 0xffffffff
lea ecx, [esp + 0xc]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], vtable.allocator_unsigned_char__class_TAllocDefault_.0
call fcn.00405e00
mov al, 1
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop ebp
add esp, 0x34
ret
Function at 0x411620
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x51fa86
mov eax, dword fs:[0]
push eax
sub esp, 0x33c
mov eax, dword [0x58057c]
xor eax, esp
mov dword [esp + 0x338], eax
push ebx
push edi
mov eax, dword [0x58057c]
xor eax, esp
push eax
lea eax, [esp + 0x348]
mov dword fs:[0], eax
lea eax, [esp + 0xc]
push eax
push 0x20019
xor edi, edi
push edi
push str.SoftwareMicrosoftWindowsCurrentVersion
push 0x80000002
mov dword [esp + 0x20], edi
call dword [0x531054]
mov ebx, dword [esp + 0xc]
cmp eax, edi
je 0x41168d
cmp ebx, edi
je 0x41168d
xor eax, eax
jmp 0x411791
push 0x206
lea edx, [esp + 0x142]
xor ecx, ecx
push edi
push edx
mov word [esp + 0x148], cx
call fcn.00503d40
add esp, 0xc
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x140]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.ProgramFilesDir
push ebx
mov dword [esp + 0x28], 0x104
call dword [0x531060]
cmp eax, edi
jne 0x411784
lea ecx, [esp + 0x18]
call fcn.00418990
lea eax, [esp + 0x13c]
lea edx, [esp + 0x18]
call fcn.00418b90
cmp byte [esp + 0x134], 0
lea eax, [esp + 0x24]
jne 0x411707
mov eax, dword [esp + 0x20]
add eax, 4
mov edx, esi
call fcn.00418b90
cmp byte [esp + 0x134], 0
mov edi, vtable.t_str.0
mov dword [esp + 0x18], edi
jne 0x411739
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x24]
cmp eax, ecx
je 0x411739
push eax
call fcn.004fe606
add esp, 4
lea ecx, [esp + 0x18]
call fcn.00418990
mov eax, str.Internet_ExplorerIEXPLORE.exe
lea edx, [esp + 0x18]
call fcn.00418b90
lea edx, [esp + 0x18]
push edx
mov ecx, esi
call fcn.0041f520
cmp byte [esp + 0x134], 0
mov dword [esp + 0x18], edi
jne 0x41177f
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x24]
cmp eax, ecx
je 0x41177f
push eax
call fcn.004fe606
add esp, 4
mov edi, 1
mov edx, dword [esp + 0xc]
push edx
call dword [0x531050]
mov eax, edi
mov ecx, dword [esp + 0x348]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov ecx, dword [esp + 0x338]
xor ecx, esp
call fcn.004fdc2b
add esp, 0x348
ret
Function at 0x411f70
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x52877b
mov eax, dword fs:[0]
push eax
sub esp, 0xe34
mov eax, dword [0x58057c]
xor eax, esp
mov dword [esp + 0xe2c], eax
push esi
push edi
mov eax, dword [0x58057c]
xor eax, esp
push eax
lea eax, [esp + 0xe40]
mov dword fs:[0], eax
mov edi, dword [0x589660]
mov eax, 0xa
mov ecx, eax
lea edx, [eax + 0xa]
mov esi, eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x24], ecx
push eax
lea ecx, [esp + 0x38]
push ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x14], 0x73
mov dword [esp + 0x1c], 0x75
mov dword [esp + 0x24], 0x76
mov dword [esp + 0x20], 0x77
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x18], 0xb4
call fcn.0045d3e0
lea esi, [esp + 0x4f4]
mov dword [esp + 0x34], vtable.t_bbSkinBase.0
call fcn.00408d10
mov esi, vtable.t_bbFlashWordMsg.0
mov dword [esp + 0x34], esi
mov dword [esp + 0xe2c], 0x85
mov dword [esp + 0xe30], edi
lea eax, [esp + 0x34]
mov dword [esp + 0xe48], 0
call fcn.0045e420
mov dword [esp + 0xe48], 0xffffffff
mov dword [esp + 0x34], esi
lea esi, [esp + 0x34]
call fcn.0040dfb0
mov ecx, dword [esp + 0xe40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0xe2c]
xor ecx, esp
call fcn.004fdc2b
mov esp, ebp
pop ebp
ret
Function at 0x41a040
Capabilities:
Query or enumerate registry value

Disassembly:
push ecx
push ebx
push ebp
mov ebp, dword [esp + 0x10]
push esi
push edi
mov ebx, eax
mov eax, dword [esp + 0x20]
mov esi, ecx
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x10]
push edx
mov edx, dword [esi + 4]
push eax
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x20]
push ecx
push 0
push ebx
push edx
mov dword [esp + 0x30], 0
call dword [0x531060]
mov edi, eax
test edi, edi
je 0x41a16b
test ebx, ebx
je 0x41a117
cmp word [ebx], 0
je 0x41a117
cmp byte [esi + 0x128], 0
je 0x41a0a9
add esi, 0x18
mov dword [esp + 0x20], esi
jmp 0x41a0b0
mov eax, dword [esi + 0x14]
mov dword [esp + 0x20], eax
mov ecx, ebp
call fcn.00417c00
mov esi, eax
call fcn.004185b0
mov ecx, ebp
call fcn.00417c00
mov esi, eax
push 0x55e118
push 0x55e008
mov edx, esi
call fcn.00419360
mov ecx, dword [esp + 0x28]
add ecx, 4
push ecx
push 0x55e008
mov edx, esi
call fcn.00419360
push 0x55a960
push 0x55e008
mov edx, esi
call fcn.00419360
push ebx
push 0x55e008
mov edx, esi
call fcn.00419360
add esp, 0x20
pop edi
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
ret 0x10
cmp byte [esi + 0x128], 0
lea ebx, [esi + 0x18]
jne 0x41a126
mov ebx, dword [esi + 0x14]
mov ecx, ebp
call fcn.00417c00
mov esi, eax
call fcn.004185b0
mov ecx, ebp
call fcn.00417c00
mov esi, eax
push 0x55e118
push 0x55e008
mov edx, esi
call fcn.00419360
add ebx, 4
push ebx
push 0x55e008
mov edx, esi
call fcn.00419360
add esp, 0x10
pop edi
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
ret 0x10
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x24]
je 0x41a24c
test ebx, ebx
je 0x41a204
cmp word [ebx], 0
je 0x41a204
cmp byte [esi + 0x128], 0
je 0x41a199
add esi, 0x18
mov dword [esp + 0x20], esi
jmp 0x41a1a0
mov eax, dword [esi + 0x14]
mov dword [esp + 0x20], eax
mov ecx, ebp
call fcn.00417c00
xor edi, edi
mov esi, eax
call fcn.004185b0
mov ecx, ebp
call fcn.00417c00
mov esi, eax
push 0x55e128
push 0x55e008
mov edx, esi
call fcn.00419360
mov ecx, dword [esp + 0x28]
add ecx, 4
add esp, 8
push ecx
mov ecx, esi
call fcn.00418700
mov esi, eax
push 0x55a960
push 0x55e008
mov edx, esi
call fcn.00419360
add esp, 8
push ebx
mov ecx, esi
call fcn.00418700
pop edi
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
ret 0x10
cmp byte [esi + 0x128], 0
je 0x41a212
add esi, 0x18
jmp 0x41a215
mov esi, dword [esi + 0x14]
mov ecx, ebp
call fcn.00417c00
mov edi, eax
push 0x55e128
push 0x55e008
mov edx, edi
call fcn.00419360
add esi, 4
push esi
push 0x55e008
mov edx, edi
call fcn.00419360
add esp, 0x10
pop edi
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
ret 0x10
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax], edx
mov al, 1
pop ebx
pop ecx
ret 0x10
Function at 0x41a260
Capabilities:
Set registry value

Disassembly:
push ebx
mov ebx, dword [esp + 0x10]
push ebp
mov ebp, dword [esp + 0x10]
push esi
mov esi, dword [esp + 0x10]
push edi
push eax
mov eax, dword [esi + 4]
push ecx
push edx
push 0
push ebx
push eax
call dword [0x53104c]
mov edi, eax
test edi, edi
je 0x41a37f
test ebx, ebx
je 0x41a32c
cmp word [ebx], 0
je 0x41a32c
cmp byte [esi + 0x128], 0
je 0x41a2ae
add esi, 0x18
mov dword [esp + 0x1c], esi
jmp 0x41a2b5
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x1c], ecx
mov ecx, ebp
call fcn.00417c00
mov esi, eax
call fcn.004185b0
mov ecx, ebp
call fcn.00417c00
mov esi, eax
push 0x55e140
push 0x55e008
mov edx, esi
call fcn.00419360
mov edx, dword [esp + 0x24]
add edx, 4
push edx
push 0x55e008
mov edx, esi
call fcn.00419360
push 0x55e158
push 0x55e008
mov edx, esi
call fcn.00419360
push ebx
push 0x55e008
mov edx, esi
call fcn.00419360
push 0x55e160
push 0x55e008
mov edx, esi
call fcn.00419360
add esp, 0x28
pop edi
pop esi
pop ebp
xor al, al
pop ebx
ret 0xc
cmp byte [esi + 0x128], 0
lea ebx, [esi + 0x18]
jne 0x41a33b
mov ebx, dword [esi + 0x14]
mov ecx, ebp
call fcn.00417c00
mov esi, eax
call fcn.004185b0
mov ecx, ebp
call fcn.00417c00
mov esi, eax
push 0x55e140
push 0x55e008
mov edx, esi
call fcn.00419360
add ebx, 4
push ebx
push 0x55e008
mov edx, esi
call fcn.00419360
add esp, 0x10
pop edi
pop esi
pop ebp
xor al, al
pop ebx
ret 0xc
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
ret 0xc

Function at 0x41a390
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, dword [esp + 8]
push esi
push edi
push 0
mov esi, eax
call dword [0x531164]
mov eax, dword [esi + 4]
push 0x558ca4
push eax
call dword [0x53105c]
mov edi, eax
test edi, edi
je 0x41a42c
cmp byte [esi + 0x128], 0
push ebx
lea ebx, [esi + 0x18]
jne 0x41a3c6
mov ebx, dword [esi + 0x14]
mov ecx, ebp
call fcn.00417c00
mov esi, eax
call fcn.004185b0
mov ecx, ebp
call fcn.00417c00
mov esi, eax
push 0x55e168
push 0x55e008
mov edx, esi
call fcn.00419360
add ebx, 4
push ebx
push 0x55e008
mov edx, esi
call fcn.00419360
push 0x55a960
push 0x55e008
mov edx, esi
call fcn.00419360
push 0x558ca4
push 0x55e008
mov edx, esi
call fcn.00419360
add esp, 0x20
pop ebx
pop edi
pop esi
xor al, al
pop ebp
ret 4
pop edi
pop esi
mov al, 1
pop ebp
ret 4