joyce8/EMBER2024-capa huggingface dataset:
Function at 0x42e19f
Capabilities:
Write file on windows

Disassembly:
push 0x3c
mov eax, 0x45542d
call fcn.00433180
mov esi, ecx
mov eax, dword [ebp + 8]
cmp eax, 3
jne 0x42e320
xor ebx, ebx
mov dword [ebp - 0x1c], 7
xor eax, eax
mov dword [ebp - 0x20], ebx
mov word [ebp - 0x30], ax
lea edi, [esi + 0xc0]
mov dword [ebp - 4], ebx
cmp dword [edi + 0x14], 8
mov dword [ebp - 0x14], ebx
jb 0x42e1e1
mov eax, dword [edi]
jmp 0x42e1e3
mov eax, edi
push ebx
push 0x405c64
push eax
lea eax, [ebp - 0x30]
push ebx
push eax
call fcn.00430fd6
mov eax, dword [ebp - 0x30]
add esp, 0x14
cmp dword [ebp - 0x1c], 8
jae 0x42e203
lea eax, [ebp - 0x30]
push ebx
push 0x80
push 2
push ebx
push 1
push 0xc0000000
push eax
call dword [0x45aef4]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x42e27f
xor ebx, ebx
mov dword [ebp - 0x34], 7
xor eax, eax
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], ax
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 1
push 0x59e
push eax
call fcn.004301de
lea eax, [esi + 0xd8]
cmp dword [eax + 0x14], 8
pop ecx
pop ecx
jb 0x42e255
mov eax, dword [eax]
cmp dword [ebp - 0x34], 8
mov ecx, dword [ebp - 0x48]
jae 0x42e261
lea ecx, [ebp - 0x48]
push 0x10
push eax
push ecx
push dword [esi + 8]
call dword [sym.imp.USER32.dll_MessageBoxW]
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.00411703
push ebx
jmp 0x42e314
xor ecx, ecx
cmp dword [esi + 0x80], ecx
je 0x42e2c2
push ecx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x18], 0xfeff
push eax
push 2
lea eax, [ebp - 0x18]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [esi + 0xb8]
lea ecx, [esi + 0xa8]
cmp dword [ecx + 0x14], 8
jb 0x42e2b6
mov ecx, dword [ecx]
push 0
lea edx, [ebp - 0x14]
add eax, eax
push edx
push eax
push ecx
jmp 0x42e2dc
lea eax, [esi + 0x90]
cmp dword [eax + 0x14], 0x10
jb 0x42e2d0
mov eax, dword [eax]
push ecx
lea ecx, [ebp - 0x14]
push ecx
push dword [esi + 0xa0]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [edi + 0x14], 8
jb 0x42e2f2
mov edi, dword [edi]
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x42e2fe
lea eax, [ebp - 0x30]
push 1
push edi
push 0
push eax
push 0x405c78
push dword [esi + 8]
call dword [0x45af18]
push 0
push 1
lea ecx, [ebp - 0x30]
call fcn.00411703
jmp 0x42e337
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x88]
test eax, eax
je 0x42e337
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
call fcn.0043312a
ret 4
Function at 0x42f317
Capabilities:
Copy file

Disassembly:
push 0x4c
mov eax, 0x455541
call fcn.00433180
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
push esi
push edi
call fcn.00438212
pop ecx
pop ecx
test eax, eax
jne 0x42f33d
mov al, 1
jmp 0x42f3ff
push 7
pop ecx
xor ebx, ebx
mov dword [ebp - 0x44], ecx
xor eax, eax
mov dword [ebp - 0x48], ebx
mov word [ebp - 0x58], ax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], ax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ebx
mov word [ebp - 0x28], ax
push edi
mov byte [ebp - 4], 2
call fcn.004308ed
pop ecx
test al, al
je 0x42f3da
push ebx
push ebx
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x58]
push eax
push esi
call fcn.0043168b
mov ecx, dword [ebp - 0x40]
add esp, 0x14
cmp dword [ebp - 0x2c], 8
jae 0x42f393
lea ecx, [ebp - 0x40]
cmp dword [ebp - 0x44], 8
mov eax, dword [ebp - 0x58]
jae 0x42f39f
lea eax, [ebp - 0x58]
push ebx
push ebx
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00430fd6
add esp, 0x14
test al, al
je 0x42f3da
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x42f3bf
lea eax, [ebp - 0x28]
push eax
call fcn.0042f405
pop ecx
test al, al
je 0x42f3da
push 1
push esi
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x42f3da
mov bl, 1
xor esi, esi
lea ecx, [ebp - 0x28]
push esi
push 1
call fcn.00411703
push esi
push 1
lea ecx, [ebp - 0x40]
call fcn.00411703
push esi
push 1
lea ecx, [ebp - 0x58]
call fcn.00411703
mov al, bl
call fcn.0043312a
ret
Function at 0x42f405
Capabilities:
Create directory

Disassembly:
push 0x4c
mov eax, 0x45557e
call fcn.00433180
mov edx, dword [ebp + 8]
xor ebx, ebx
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x42f41b
sub ecx, esi
sar ecx, 1
cmp ecx, 0x104
jbe 0x42f439
xor al, al
jmp 0x42f580
push edx
lea ecx, [ebp - 0x40]
call fcn.00410573
xor eax, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], ebx
mov word [ebp - 0x28], ax
cmp dword [ebp - 0x2c], 8
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 1
jae 0x42f465
lea eax, [ebp - 0x40]
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x28]
push ecx
push eax
call fcn.0043168b
lea eax, [ebp - 0x28]
push 0x5c
push eax
call fcn.0042f148
mov eax, dword [ebp - 0x28]
add esp, 0x1c
cmp dword [ebp - 0x14], 8
jae 0x42f48c
lea eax, [ebp - 0x28]
push eax
call fcn.004308c1
pop ecx
test al, al
je 0x42f566
mov esi, dword [ebp - 0x18]
mov edi, 0x405d54
push edi
call fcn.0041193d
pop ecx
push eax
push esi
push edi
lea ecx, [ebp - 0x40]
call fcn.0041d2bd
mov edi, eax
jmp 0x42f541
mov eax, edi
lea ecx, [ebp - 0x40]
sub eax, esi
inc eax
push eax
push esi
lea eax, [ebp - 0x58]
push eax
call fcn.00414b43
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x28]
call fcn.004144bf
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x42f4ee
lea eax, [ebp - 0x28]
push eax
call fcn.004308c1
pop ecx
test al, al
jne 0x42f511
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x42f505
lea eax, [ebp - 0x28]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x42f54c
lea esi, [edi + 1]
cmp esi, dword [ebp - 0x30]
jae 0x42f559
mov edi, 0x405d54
push edi
call fcn.0041193d
pop ecx
push eax
push esi
push edi
lea ecx, [ebp - 0x40]
call fcn.0041d2bd
push ebx
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
mov edi, eax
call fcn.00411703
cmp edi, 0xffffffff
jne 0x42f4bc
jmp 0x42f564
push ebx
push 1
lea ecx, [ebp - 0x58]
call fcn.00411703
jmp 0x42f566
push ebx
push 1
lea ecx, [ebp - 0x58]
call fcn.00411703
mov bl, 1
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.00411703
push 0
push 1
lea ecx, [ebp - 0x40]
call fcn.00411703
mov al, bl
call fcn.0043312a
ret
Function at 0x42f586
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x45a038]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x14]
xor eax, eax
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
push eax
push eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.00430d9f
push 0x3c
lea eax, [ebp - 0x40]
push 0
push eax
call fcn.00434c90
add esp, 0x18
mov dword [ebp - 0x40], 0x3c
cmp byte [ebp + 0x10], 0
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x3c], 0x40
mov dword [ebp - 0x24], 5
je 0x42f60e
cmp dword [ebp - 0x44], 6
jl 0x42f60e
mov esi, dword [0x45a014]
mov ecx, esi
push 0x401660
call fcn.004114e4
push 0x40108c
mov ecx, esi
call fcn.004114e4
mov dword [ebp - 0x34], 0x4016a4
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
jne 0x42f620
xor al, al
jmp 0x42f636
test ebx, ebx
je 0x42f62b
mov eax, dword [ebp - 8]
mov dword [ebx], eax
jmp 0x42f634
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00433104
mov esp, ebp
pop ebp
ret
Function at 0x42fa04
Capabilities:
Get file version info

Disassembly:
push 0x224
mov eax, 0x45560e
call fcn.00433180
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x224]
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x230], eax
lea eax, [ebp - 0x22c]
push eax
push ebx
mov dword [ebp - 0x22c], ebx
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x21c], ebx
call fcn.00414469
mov dword [ebp - 4], ebx
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ebx
mov dword [ebp - 0x228], ebx
test edi, edi
je 0x42fb8a
push edi
call fcn.004308ed
pop ecx
test al, al
je 0x42fb8a
mov esi, edi
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, bx
jne 0x42fa7d
sub esi, ecx
mov dword [ebp - 0x22c], ebx
lea eax, [ebp - 0x22c]
sar esi, 1
push eax
inc esi
lea ecx, [ebp - 0x224]
push esi
call fcn.0042a5df
push 0xffffffffffffffff
push edi
push esi
push dword [ebp - 0x224]
call fcn.004384b8
add esp, 0x10
lea eax, [ebp - 0x214]
push eax
push dword [ebp - 0x224]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov edi, eax
test edi, edi
je 0x42fb8a
push edi
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x42fb8a
push esi
push edi
push dword [ebp - 0x214]
push dword [ebp - 0x224]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x42fb83
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x228]
push eax
push 0x405c84
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x42fb83
cmp dword [ebp - 0x218], 0
je 0x42fb83
mov eax, dword [ebp - 0x228]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
movzx eax, cx
push eax
shr ecx, 0x10
push ecx
movzx eax, dx
push eax
shr edx, 0x10
lea eax, [ebp - 0x210]
push edx
push 0x405d5c
push 0xff
push eax
call fcn.00431947
add esp, 0x1c
test eax, eax
js 0x42fb83
lea eax, [ebp - 0x210]
push eax
call fcn.0041193d
pop ecx
mov ecx, dword [ebp - 0x230]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.004117eb
mov bl, 1
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
lea ecx, [ebp - 0x224]
call fcn.0041449a
mov al, bl
call fcn.0043312a
ret

Function at 0x42fb9d
Capabilities:
Parse url

Disassembly:
push 0x48
mov eax, 0x45564f
call fcn.00433180
mov esi, dword [ebp + 8]
xor edx, edx
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], esi
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], edx
cmp dword [esi + 0x14], 8
jb 0x42fbcb
mov eax, dword [esi]
jmp 0x42fbcd
mov eax, esi
xor ecx, ecx
mov word [eax], cx
push 0x3c
push edx
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], edx
push eax
mov dword [ebp - 0x50], 1
call fcn.00434c90
xor ecx, ecx
mov dword [ebp - 0x4c], 0x3c
push 2
mov eax, 0x825
pop edx
mov dword [ebp - 0x38], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004334e1
add esp, 0x10
mov dword [ebp - 0x3c], eax
cmp dword [edi + 0x14], 8
jb 0x42fc19
mov edi, dword [edi]
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push edi
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
push dword [ebp - 0x3c]
call fcn.0041193d
pop ecx
push eax
push dword [ebp - 0x3c]
mov ecx, esi
call fcn.004117eb
push dword [ebp - 0x3c]
call fcn.004334ea
pop ecx
mov eax, esi
call fcn.0043312a
ret
Function at 0x42fe44
Capabilities:
Get common file path

Disassembly:
push 0x23c
mov eax, 0x45567f
call fcn.00433180
mov esi, dword [ebp + 8]
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x230], 7
mov dword [ebp - 0x234], ebx
mov word [ebp - 0x244], ax
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x21c], ebx
mov dword [ebp - 0x248], ebx
lea eax, [ebp - 0x248]
mov dword [ebp - 4], ebx
push eax
push 0x405dec
push 0x405d78
call fcn.004311f8
add esp, 0xc
test al, al
je 0x42fec9
cmp dword [ebp - 0x248], 1
jne 0x42fec9
lea eax, [ebp - 0x244]
cmp esi, eax
je 0x42ff00
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
call fcn.00411757
jmp 0x42ff00
mov edi, 0x104
lea eax, [ebp - 0x218]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x42ff02
cmp eax, edi
ja 0x42ff02
lea eax, [ebp - 0x218]
push eax
call fcn.0041193d
pop ecx
push eax
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
call fcn.004117eb
mov bl, 1
lea ecx, [ebp - 0x224]
call fcn.00426d58
push 0
push 1
lea ecx, [ebp - 0x244]
call fcn.00411703
mov al, bl
call fcn.0043312a
ret

Function at 0x42ffda
Capabilities:
Parse url

Disassembly:
push 0x48
mov eax, 0x45564f
call fcn.00433180
mov esi, dword [ebp + 8]
xor edx, edx
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], esi
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], edx
cmp dword [esi + 0x14], 8
jb 0x430008
mov eax, dword [esi]
jmp 0x43000a
mov eax, esi
xor ecx, ecx
mov word [eax], cx
push 0x3c
push edx
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], edx
push eax
mov dword [ebp - 0x50], 1
call fcn.00434c90
xor ecx, ecx
mov dword [ebp - 0x4c], 0x3c
push 2
mov eax, 0x825
pop edx
mov dword [ebp - 0x1c], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004334e1
add esp, 0x10
mov dword [ebp - 0x20], eax
cmp dword [edi + 0x14], 8
jb 0x430056
mov edi, dword [edi]
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push edi
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
push dword [ebp - 0x20]
call fcn.0041193d
pop ecx
push eax
push dword [ebp - 0x20]
mov ecx, esi
call fcn.004117eb
push dword [ebp - 0x20]
call fcn.004334ea
pop ecx
mov eax, esi
call fcn.0043312a
ret
Function at 0x430150
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 0x14], 0
push ebx
push esi
mov esi, dword [ebp + 0x18]
mov ebx, dword [esi]
jne 0x430169
test ebx, ebx
je 0x430169
push 0x57
pop eax
jmp 0x4301da
movzx eax, word [ebp + 0xc]
push edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 8]
call dword [0x45aefc]
mov edi, eax
test edi, edi
je 0x4301d4
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp + 0x18], eax
test eax, eax
je 0x4301d4
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
cmp edi, ebx
jbe 0x4301a6
mov dword [esi], edi
jmp 0x4301cd
push dword [ebp + 0x18]
call dword [sym.imp.KERNEL32.dll_LockResource]
test eax, eax
je 0x4301c4
push edi
push eax
push dword [ebp + 0x14]
call fcn.00434710
add esp, 0xc
xor eax, eax
jmp 0x4301d9
xor eax, eax
inc eax
cmp dword [esi], eax
mov dword [esi], eax
jae 0x4301c0
mov eax, 0xea
jmp 0x4301d9
mov eax, 0x716
pop edi
pop esi
pop ebx
pop ebp
ret
Function at 0x430644
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
mov eax, dword [0x45a038]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x414]
push edi
mov edi, 0x208
push edi
push 0
push eax
call fcn.00434c90
push edi
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.00434c90
add esp, 0x18
lea eax, [ebp - 0x414]
mov edi, 0x104
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x430712
cmp eax, edi
jae 0x430712
lea eax, [ebp - 0x20c]
push eax
push 0
push 0x405f0c
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
je 0x430712
lea eax, [ebp - 0x20c]
push eax
call fcn.004308ed
pop ecx
test al, al
je 0x4306eb
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x20c]
push eax
call fcn.004308ed
pop ecx
test al, al
jne 0x430712
lea eax, [ebp - 0x20c]
push eax
call fcn.0041193d
pop ecx
push eax
lea eax, [ebp - 0x20c]
mov ecx, esi
push eax
call fcn.004117eb
push esi
call fcn.0042f177
pop ecx
mov al, 1
jmp 0x430714
xor al, al
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00433104
mov esp, ebp
pop ebp
ret

Function at 0x4308c1
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push ebx
test eax, eax
je 0x4308e8
xor ebx, ebx
cmp word [eax], bx
je 0x4308e8
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4308e4
test al, 0x10
jbe 0x4308e4
inc ebx
mov al, bl
jmp 0x4308ea
xor al, al
pop ebx
pop ebp
ret

Function at 0x4308ed
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push ebx
test eax, eax
je 0x430914
xor ebx, ebx
cmp word [eax], bx
je 0x430914
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x430910
test al, 0x10
jne 0x430910
inc ebx
mov al, bl
jmp 0x430916
xor al, al
pop ebx
pop ebp
ret
Function at 0x430e28
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x45a038]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x20c]
push edi
mov edi, 0x208
push edi
push 0
push eax
call fcn.00434c90
add esp, 0xc
lea eax, [ebp - 0x20c]
mov ebx, 0x104
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
dec eax
cmp eax, 0x102
ja 0x430e86
lea eax, [ebp - 0x20c]
push eax
push esi
call fcn.00430ed9
pop ecx
pop ecx
test eax, eax
jne 0x430ec8
push edi
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.00434c90
add esp, 0xc
lea eax, [ebp - 0x20c]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
dec eax
cmp eax, 0x102
ja 0x430ec1
lea eax, [ebp - 0x20c]
push eax
push esi
call fcn.00430ed9
pop ecx
pop ecx
test eax, eax
jne 0x430ec8
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00433104
mov esp, ebp
pop ebp
ret

Function at 0x43106e
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x45a038]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
lea eax, [ebp - 0x14]
xor ebx, ebx
push eax
push 1
push ebx
push 0x403e70
push 0x80000001
mov dword [ebp - 0x14], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4310dd
push esi
push 4
pop esi
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], ebx
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 8], ebx
push eax
lea eax, [ebp - 8]
mov dword [ebp - 0xc], esi
push eax
push ebx
push 0x406488
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4310dc
cmp dword [ebp - 8], esi
jne 0x4310dc
cmp dword [ebp - 0xc], esi
jne 0x4310dc
cmp dword [ebp - 0x10], ebx
jne 0x4310dc
mov bl, 1
pop esi
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
mov al, bl
xor ecx, ebp
pop ebx
call fcn.00433104
mov esp, ebp
pop ebp
ret
Function at 0x432467
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x45a038]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x214]
push edi
xor edi, edi
push edi
push eax
lea eax, [ebp - 0x210]
mov dword [ebp - 0x210], edi
push eax
mov dword [ebp - 0x214], edi
call fcn.00430d9f
movzx eax, byte [ebp - 0x210]
xor ecx, ecx
add esp, 0xc
cmp dword [ebp - 0x214], ecx
setne cl
shl eax, 8
or eax, ecx
cmp eax, 0x500
jb 0x432576
lea eax, [ebp - 0x210]
mov dword [ebp - 0x210], edi
push eax
push dword [ebp + 8]
push edi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
jne 0x432576
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x210]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
mov dword [ebp - 0x214], edi
cmp dword [ebp - 0x210], edi
je 0x432539
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
test eax, eax
js 0x432539
mov ecx, dword [ebp - 0x214]
test ecx, ecx
je 0x432539
push dword [ebp - 0x210]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x14]
mov eax, dword [ebp - 0x214]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x432542
sub ecx, edx
sar ecx, 1
je 0x432576
lea eax, [ebp - 0x20c]
push eax
call fcn.0041193d
pop ecx
push eax
lea eax, [ebp - 0x20c]
push eax
mov ecx, esi
call fcn.004117eb
mov al, 1
jmp 0x4325fa
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push dword [ebp + 8]
push edi
call fcn.0043260a
add esp, 0x14
test eax, eax
js 0x4325c1
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x432599
sub ecx, edx
sar ecx, 1
je 0x4325c1
lea ecx, [ebp - 0x20c]
push ecx
call fcn.0041193d
pop ecx
push eax
lea ecx, [ebp - 0x20c]
push ecx
jmp 0x432568
lea eax, [ebp - 0x20c]
push eax
push edi
push edi
push dword [ebp + 8]
push edi
call fcn.0043260a
add esp, 0x14
test eax, eax
js 0x4325f8
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x4325e3
sub ecx, edx
sar ecx, 1
jne 0x432553
xor al, al
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00433104
mov esp, ebp
pop ebp
ret

Function at 0x440132
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.0043fd85

Function at 0x44013d
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.0043ff3e

Function at 0x440b87
Capabilities:
Allocate thread local storage

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0x40954c
push 0x409544
push 0x4079cc
push 3
call fcn.00440a16
add esp, 0x10
test eax, eax
je 0x440bac
pop ebp
jmp eax
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
pop ebp
ret 4

Function at 0x440be2
Capabilities:
Get thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0x40955c
push 0x409554
push 0x4079f0
push 5
call fcn.00440a16
add esp, 0x10
test eax, eax
je 0x440c07
pop ebp
jmp eax
pop ebp
jmp dword [sym.imp.KERNEL32.dll_TlsGetValue]
Function at 0x440c0e
Capabilities:
Set thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0x409564
push 0x40955c
push 0x407a04
push 6
call fcn.00440a16
add esp, 0x10
test eax, eax
je 0x440c33
pop ebp
jmp eax
pop ebp
jmp dword [sym.imp.KERNEL32.dll_TlsSetValue]

Function at 0x440c3a
Capabilities:
Get geographical location

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0x4095a0
push 0x409598
push 0x4095a0
push 0xd
call fcn.00440a16
add esp, 0x10
test eax, eax
je 0x440c5f
pop ebp
jmp eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0
push dword [ebp + 8]
call fcn.00440dae
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
pop ebp
ret 0x10