joyce8/EMBER2024-capa huggingface dataset:
Function at 0x404bb0
Capabilities:
Get hostname
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x510
mov eax, dword [0x4280f0]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x401
push 0
push 0x42c3f0
call fcn.0040b2e0
push 0x401
push 0
push 0x42cc00
call fcn.0040b2e0
push 0x81
lea eax, [ebp - 0x10c]
push 0
push eax
call fcn.0040b2e0
push 0x81
lea eax, [ebp - 0x88]
push 0
push eax
call fcn.0040b2e0
push 0x401
lea eax, [ebp - 0x510]
push 0
push eax
call fcn.0040b2e0
add esp, 0x3c
lea eax, [ebp - 0x10c]
push 0x81
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
je 0x404c44
push 0x420868
call fcn.0040a680
add esp, 4
push ebx
push esi
push edi
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov edi, eax
test edi, edi
jne 0x404c67
push 0x420884
call fcn.0040a680
add esp, 4
mov eax, dword [edi + 0xc]
xor esi, esi
cmp dword [eax], esi
je 0x404cb4
mov ebx, dword [sym.imp.WS2_32.dll_inet_ntoa]
xor ecx, ecx
mov eax, dword [eax + ecx]
push dword [eax]
call ebx
push eax
lea eax, [ebp - 0x88]
push 0x4202bc
push eax
call fcn.0040b03e
lea eax, [ebp - 0x88]
add esp, 0xc
cmp byte [eax], 0x30
jne 0x404d68
mov eax, dword [edi + 0xc]
inc esi
cmp dword [eax + esi*4], 0
lea ecx, [esi*4]
jne 0x404c78
push 0x4208a8
call fcn.0040a680
add esp, 4
mov esi, 0x42c3f0
lea ecx, [esi + 1]
lea esp, [esp]
mov al, byte [esi]
inc esi
test al, al
jne 0x404cd0
sub esi, ecx
cmp esi, 0xf
jge 0x404d01
mov ecx, 0xf
sub ecx, esi
mov edx, ecx
shr ecx, 2
lea edi, [esi + 0x42c3f0]
mov eax, 0x20202020
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
cmp esi, 0xf
pop edi
pop esi
pop ebx
jle 0x404d35
push 0x42c3f0
lea eax, [ebp - 0x510]
push 0x4208dc
push eax
call fcn.0040b03e
lea eax, [ebp - 0x510]
push eax
call fcn.0040a680
push 0x4208f4
call fcn.0040a680
add esp, 0x14
push 0x42c3f0
lea eax, [ebp - 0x510]
push 0x4208dc
push eax
call fcn.0040b03e
lea eax, [ebp - 0x510]
push eax
call fcn.0040a680
mov ecx, dword [ebp - 4]
xor ecx, ebp
add esp, 0x10
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
xor ecx, ecx
lea ebx, [ebx]
mov al, byte [ebp + ecx - 0x88]
mov byte [ecx + 0x42c3f0], al
lea ecx, [ecx + 1]
test al, al
jne 0x404d70
xor ecx, ecx
jmp 0x404d90
mov al, byte [ebp + ecx - 0x88]
mov byte [ecx + 0x42cc00], al
lea ecx, [ecx + 1]
test al, al
jne 0x404d90
jmp 0x404cc1
Function at 0x4051b0
Capabilities:
Check if file exists
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc18
mov eax, dword [0x4280f0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, dword [ebp + 8]
push 0x801
lea eax, [ebp - 0x808]
push 0
push eax
mov dword [ebp - 0xc10], 1
mov dword [ebp - 0xc14], 0x104
call fcn.0040b2e0
push 0x401
lea eax, [ebp - 0xc0c]
push 0
push eax
call fcn.0040b2e0
add esp, 0x18
lea eax, [ebp - 0xc18]
push eax
push 0x20019
push 0
push str.SoftwareWow6432NodeX400100001W
push reloc.WS2_32.dll_bind
mov dword [edi], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov esi, eax
test esi, esi
je 0x405299
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x808]
cmp esi, 2
jne 0x40526d
push 0x4223e0
push eax
call fcn.0040b03e
lea eax, [ebp - 0x808]
push eax
call fcn.0040a680
add esp, 0x10
xor al, al
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
push str.getRegConnectUrl:X400100001_REG64_BASE
push eax
call fcn.0040b03e
lea eax, [ebp - 0x808]
push eax
call fcn.0040a680
add esp, 0x10
xor al, al
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0xc14]
push eax
lea eax, [ebp - 0xc0c]
push eax
lea eax, [ebp - 0xc10]
push eax
push 0
push str.ENV_PLACEHOLDER
push dword [ebp - 0xc18]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x4052fe
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x808]
push 0x422490
push eax
call fcn.0040b03e
lea eax, [ebp - 0x808]
push eax
call fcn.0040a680
add esp, 0x10
xor al, al
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
push dword [ebp - 0xc18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0xc0c]
push eax
lea eax, [ebp - 0x808]
push str.getRegConnectUrl:ENV_PLACEHOLDER
push eax
call fcn.0040b03e
lea eax, [ebp - 0x808]
push eax
call fcn.0040a680
lea eax, [ebp - 0xc0c]
push eax
push 0x4202bc
push edi
call fcn.0040b03e
push 0x801
lea eax, [ebp - 0x808]
push 0
push eax
call fcn.0040b2e0
push edi
lea eax, [ebp - 0x808]
push str.getRegConnectUrl:
push eax
call fcn.0040b03e
lea eax, [ebp - 0x808]
push eax
call fcn.0040a680
mov ecx, dword [ebp - 4]
add esp, 0x38
xor ecx, ebp
pop edi
mov al, 1
pop esi
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
Function at 0x405390
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x44c
mov eax, dword [0x4280f0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0x400
xorps xmm0, xmm0
lea eax, [ebp - 0x430]
push 0
push eax
movdqa xmmword [ebp - 0x30], xmm0
movdqa xmmword [ebp - 0x20], xmm0
call fcn.0040b2e0
add esp, 0xc
lea eax, [ebp - 0x43c]
push eax
push 0xf003f
push 0
push str.SoftwareX400100001W
push bind
mov dword [ebp - 0x434], 0x20
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x405428
push 0x422a5c
call fcn.0040a680
add esp, 4
or eax, 0xffffffff
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea eax, [ebp - 0x434]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x438]
push eax
push 0
push str.MainmenuPort
push dword [ebp - 0x43c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x43c]
test eax, eax
je 0x405471
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x422a88
call fcn.0040a680
mov eax, 0xfffffffe
jmp 0x40553c
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x30]
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405480
sub ecx, edx
jne 0x40549f
push 0x422ab4
call fcn.0040a680
mov eax, 0xfffffffd
jmp 0x40553c
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x430]
push 0x422ae0
push eax
call fcn.0040b03e
lea eax, [ebp - 0x430]
push eax
call fcn.0040a680
push 0x400
lea eax, [ebp - 0x430]
push 0
push eax
call fcn.0040b2e0
call fcn.0040c537
mov dword [eax], 0
push 0xa
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0040af49
mov esi, eax
mov eax, dword [ebp - 0x440]
lea ecx, [ebp - 0x30]
add esp, 0x28
cmp eax, ecx
je 0x40552d
cmp byte [eax], 0
jne 0x40552d
call fcn.0040c537
cmp dword [eax], 0
jne 0x40552d
cmp esi, 0xffff
jg 0x40552d
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push str.getRegDLogPortNo:
call fcn.0040a680
mov eax, 0xfffffffc
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
pop esi
call fcn.0040b2c3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
Function at 0x405560
Capabilities:
Query environment variable
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x4280f0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
test esi, esi
jne 0x405594
pop edi
mov eax, 0xffffffe0
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
cmp byte [esi], 0
je 0x40557f
test edi, edi
jne 0x4055b0
lea eax, [edi - 0x21]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [ebp + 0x10]
cmp ebx, 1
jge 0x4055cf
pop ebx
pop edi
mov eax, 0xffffffde
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x110]
push eax
push 0x20019
push 0
push str.SoftwareWow6432NodeX400100001W
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405692
lea eax, [ebp - 0x108]
push eax
push edi
lea eax, [ebp - 0x10c]
push eax
push 0
push esi
push dword [ebp - 0x110]
mov dword [ebp - 0x108], ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x110]
cmp eax, 0xea
jne 0x405643
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x108]
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
test eax, eax
je 0x405663
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop ebx
pop edi
mov eax, 0xffffffe2
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x10c], 2
je 0x405688
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop ebx
pop edi
mov eax, 0xffffffe1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x4056a8
pop ebx
pop edi
mov eax, 0xffffffdb
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
push 0
push 0
push edi
call esi
push eax
lea eax, [ebp - 0x104]
push eax
push edi
call esi
lea ecx, [ebp - 0x104]
mov eax, ecx
sub edi, eax
lea ebx, [ebx]
mov al, byte [ecx]
mov byte [edi + ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x4056d0
mov ecx, dword [ebp - 4]
pop ebx
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
Function at 0x4056f0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x440
mov eax, dword [0x4280f0]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x400
lea eax, [ebp - 0x430]
push 0
push eax
call fcn.0040b2e0
add esp, 0xc
lea eax, [ebp - 0x43c]
push eax
push 0xf003f
push 0
xorps xmm0, xmm0
push str.SoftwareX400100001W
push bind
movdqa xmmword [ebp - 0x30], xmm0
movdqa xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x434], 0x20
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x405786
push 0x422550
call fcn.0040a680
add esp, 4
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea eax, [ebp - 0x434]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x438]
push eax
push 0
push str.LockPort
push dword [ebp - 0x43c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x43c]
test eax, eax
je 0x4057de
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x422588
call fcn.0040a680
mov eax, 0xfffffffe
add esp, 4
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x430]
push 0x4225b4
push eax
call fcn.0040b03e
lea eax, [ebp - 0x430]
push eax
call fcn.0040a680
lea ecx, [ebp - 0x30]
add esp, 0x10
lea edx, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405810
sub ecx, edx
jne 0x40583e
push str.getRegLockPortNo:
call fcn.0040a680
mov eax, 0xfffffffd
add esp, 4
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea eax, [ebp - 0x30]
push eax
call fcn.0040c58b
mov ecx, dword [ebp - 4]
xor ecx, ebp
add esp, 4
call fcn.0040b2c3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
Function at 0x405860
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x105c
call fcn.0040d7a0
mov eax, dword [0x4280f0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x1058], eax
mov eax, dword [ebp + 0x14]
push 0x800
mov dword [ebp - 0x105c], eax
xor esi, esi
lea eax, [ebp - 0x1048]
push esi
push eax
mov dword [ebp - 0x104c], 1
call fcn.0040b2e0
push 0x400
lea eax, [ebp - 0x848]
push esi
push eax
call fcn.0040b2e0
push 0x400
lea eax, [ebp - 0x448]
push esi
push eax
call fcn.0040b2e0
add esp, 0x24
lea eax, [ebp - 0x1054]
push eax
push 0x20019
push esi
push ebx
push dword [ebp - 0x1058]
mov dword [ebp - 0x1050], 0x800
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405a13
lea eax, [ebp - 0x1050]
push eax
lea eax, [ebp - 0x1048]
push eax
lea eax, [ebp - 0x104c]
push eax
push esi
push edi
push dword [ebp - 0x1054]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x405a13
cmp dword [ebp - 0x104c], 1
jne 0x405975
lea eax, [ebp - 0x848]
push eax
lea eax, [ebp - 0x1048]
push eax
call fcn.00401280
add esp, 8
test eax, eax
jne 0x405a13
lea esi, [eax + 1]
lea eax, [ebp - 0x848]
push eax
push dword [ebp + 0x18]
push dword [ebp - 0x105c]
call fcn.0040ac12
add esp, 0xc
jmp 0x405a13
push 0x44
lea eax, [ebp - 0x48]
push 0
push eax
call fcn.0040b2e0
push 0x44
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0x1058]
call fcn.00401500
add esp, 0x18
test eax, eax
je 0x4059c5
push edi
push ebx
lea eax, [ebp - 0x48]
push eax
push 0x422b88
lea eax, [ebp - 0x448]
push 0x400
push eax
call fcn.0040b0c0
lea eax, [ebp - 0x448]
push eax
call fcn.0040a680
add esp, 0x1c
push 0x44
lea eax, [ebp - 0x48]
push 0
push eax
call fcn.0040b2e0
push 0x44
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0x104c]
call fcn.00401670
add esp, 0x18
test eax, eax
je 0x405a13
lea eax, [ebp - 0x48]
push eax
push 0x422ba8
lea eax, [ebp - 0x448]
push 0x400
push eax
call fcn.0040b0c0
lea eax, [ebp - 0x448]
push eax
call fcn.0040a680
add esp, 0x14
push dword [ebp - 0x1054]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
Function at 0x405a40
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4e94
call fcn.0040d7a0
mov eax, dword [0x4280f0]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x2774
lea eax, [ebp - 0x4e8c]
push 0
push eax
call fcn.0040b2e0
push 0x401
push 0
push 0x42d830
call fcn.0040b2e0
push 0x2711
lea eax, [ebp - 0x2718]
push 0
push eax
call fcn.0040b2e0
lea eax, [ebp - 0x4e90]
push eax
call dword [sym.imp.X400100004W.dll_char____cdecl_GetBaseServerId_int__]
lea edx, [ebp - 0x2718]
add esp, 0x28
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x405aa6
push 0x2774
lea eax, [ebp - 0x4e8c]
push 0
push eax
call fcn.0040b2e0
add esp, 0xc
lea eax, [ebp - 0x2718]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x405be2
cmp dword [ebp - 0x4e90], 0xffffffff
je 0x405be2
lea eax, [ebp - 0x2718]
push eax
lea eax, [ebp - 0x4e8c]
push 0x4209d8
push eax
call fcn.0040b03e
lea eax, [ebp - 0x4e8c]
push eax
call fcn.0040a680
add esp, 0x10
xor ecx, ecx
jmp 0x405b20
mov al, byte [ebp + ecx - 0x2718]
mov byte [ecx + 0x42d830], al
lea ecx, [ecx + 1]
test al, al
jne 0x405b20
lea eax, [ebp - 0x4e94]
push eax
push 0x20006
push 0
push str.SoftwareX400100001W
push bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405ba1
push 0x42d830
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push 0x42d830
push 1
push 0
push str.ADDR_HOME
push dword [ebp - 0x4e94]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x405b94
push 0x420a34
call fcn.0040a680
mov byte [0x4298c3], 1
jmp 0x405b9e
push 0x420a68
call fcn.0040a680
add esp, 4
push dword [ebp - 0x4e94]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp byte [0x42bfd9], 0
jne 0x405bd2
call fcn.004046e0
mov dword [ebp - 0x4e90], eax
test eax, eax
jne 0x405c44
push 0x420b10
call fcn.0040a680
add esp, 4
mov al, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
push 0x420a9c
call fcn.0040a680
add esp, 4
cmp dword [ebp - 0x4e90], 0xffffffff
jne 0x405bad
push 0x2774
lea eax, [ebp - 0x4e8c]
push 0
push eax
call fcn.0040b2e0
lea eax, [ebp - 0x2718]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x4e8c]
push 0x420ac0
push eax
call fcn.0040b03e
lea eax, [ebp - 0x4e8c]
push eax
call fcn.0040a680
add esp, 0x20
xor al, al
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
push str.DREAMS
call fcn.0040a680
mov ecx, dword [ebp - 4]
xor ecx, ebp
add esp, 4
xor al, al
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
Function at 0x405d60
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1018
call fcn.0040d7a0
mov eax, dword [0x4280f0]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x401
lea eax, [ebp - 0xc10]
push 0
push eax
call fcn.0040b2e0
push 0x401
lea eax, [ebp - 0x80c]
push 0
push eax
call fcn.0040b2e0
push 0x401
lea eax, [ebp - 0x408]
push 0
push eax
call fcn.0040b2e0
push 0x401
lea eax, [ebp - 0x1014]
push 0
push eax
call fcn.0040b2e0
lea eax, [ebp - 0xc10]
push 0x401
push eax
call fcn.00405c70
add esp, 0x38
test eax, eax
jne 0x405df7
lea ecx, [ebp - 0xc10]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405de4
sub ecx, edx
je 0x405df7
lea edx, [ebp - 0xc10]
jmp 0x405e0e
push str.TEMP
call fcn.0040c62c
mov edx, eax
add esp, 4
test edx, edx
je 0x405fa0
push ebx
mov ebx, edx
push esi
mov esi, ebx
mov al, byte [ebx]
inc ebx
test al, al
jne 0x405e14
push edi
lea edi, [ebp - 0x80c]
sub ebx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x405e25
mov ecx, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x80c]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x405e42
mov eax, dword [str.X400100001W.log]
mov dword [ecx], eax
mov eax, dword [0x420758]
mov dword [ecx + 4], eax
mov eax, dword [0x42075c]
mov dword [ecx + 8], eax
mov eax, dword [0x420760]
mov dword [ecx + 0xc], eax
mov al, byte [0x420764]
mov byte [ecx + 0x10], al
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x405e75
lea edi, [ebp - 0x408]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x405e85
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x408]
dec ecx
pop edi
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x405ea3
mov eax, dword [str.X400100001W.log_BK]
mov dword [ecx], eax
mov eax, dword [0x42076c]
mov dword [ecx + 4], eax
mov eax, dword [0x420770]
mov dword [ecx + 8], eax
mov eax, dword [0x420774]
mov dword [ecx + 0xc], eax
mov eax, dword [0x420778]
mov dword [ecx + 0x10], eax
lea eax, [ebp - 0x80c]
push 0x42077c
push eax
call fcn.0040d16b
add esp, 8
mov dword [0x42bfdc], eax
test eax, eax
je 0x405f9e
push eax
lea eax, [ebp - 0x1014]
push 0x401
push eax
call fcn.0040cf5f
add esp, 0xc
test eax, eax
je 0x405f90
xor ebx, ebx
push dword [0x42bfdc]
lea eax, [ebp - 0x1014]
push 0x401
push eax
inc ebx
call fcn.0040cf5f
add esp, 0xc
test eax, eax
jne 0x405f14
cmp ebx, 0x2710
jle 0x405f90
push dword [0x42bfdc]
call fcn.0040cee8
lea eax, [ebp - 0x408]
push 0
push eax
call fcn.0040cd1d
add esp, 0xc
test eax, eax
jne 0x405f6a
lea eax, [ebp - 0x408]
push eax
call fcn.0040cd7b
add esp, 4
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x80c]
push eax
call fcn.0040cdbb
add esp, 8
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
push dword [0x42bfdc]
call fcn.0040cee8
add esp, 4
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
Function at 0x40a000
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x428
mov eax, dword [0x4280f0]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x400
lea eax, [ebp - 0x424]
push 0
push eax
call fcn.0040b2e0
push dword [ebp + 8]
xorps xmm0, xmm0
lea eax, [ebp - 0x24]
push 0x4204f0
push eax
movq qword [ebp - 0x24], xmm0
movq qword [ebp - 0x1c], xmm0
movq qword [ebp - 0x14], xmm0
movq qword [ebp - 0xc], xmm0
call fcn.0040b03e
add esp, 0x18
lea eax, [ebp - 0x428]
push eax
push 0xf003f
push 0
push str.SoftwareX400100001W
push bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x40a091
push 0x422948
call fcn.0040a680
add esp, 4
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x24]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a097
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x24]
push eax
push 1
push 0
push str.MainmenuPort
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x40a0e1
push 0x422984
call fcn.0040a680
add esp, 4
mov eax, 0xfffffffe
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x424]
push str.setRegDLogPortNo:
push eax
call fcn.0040b03e
lea eax, [ebp - 0x424]
push eax
call fcn.0040a680
mov ecx, dword [ebp - 4]
xor ecx, ebp
add esp, 0x10
xor eax, eax
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
Function at 0x40a130
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1054
call fcn.0040d7a0
mov eax, dword [0x4280f0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0xc]
push 0x400
mov dword [ebp - 0x1054], eax
lea eax, [ebp - 0x848]
push 0
push eax
mov dword [ebp - 0x1050], 0
call fcn.0040b2e0
push 0x800
lea eax, [ebp - 0x1048]
push 0
push eax
call fcn.0040b2e0
push 0x400
lea eax, [ebp - 0x448]
push 0
push eax
call fcn.0040b2e0
push esi
lea eax, [ebp - 0x848]
push 0x400
push eax
call fcn.0040ac12
lea eax, [ebp - 0x1048]
push eax
lea eax, [ebp - 0x848]
push eax
call fcn.004013e0
add esp, 0x38
test eax, eax
je 0x40a1df
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x104c]
push eax
push 0x20006
push 0
push edi
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x40a275
push 0
lea eax, [ebp - 0x104c]
push eax
push 0
push 0x20006
push 0
push 0
push 0
push edi
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x40a275
push 0x44
lea eax, [ebp - 0x48]
push 0
push eax
mov dword [ebp - 0x1050], 0xfffffffe
call fcn.0040b2e0
push 0x44
lea eax, [ebp - 0x48]
push eax
push ebx
call fcn.00401500
add esp, 0x18
test eax, eax
je 0x40a2f3
push edi
lea eax, [ebp - 0x48]
push eax
push 0x422bf0
lea eax, [ebp - 0x448]
push 0x400
push eax
call fcn.0040b0c0
lea eax, [ebp - 0x448]
push eax
call fcn.0040a680
add esp, 0x18
jmp 0x40a2f3
mov esi, dword [ebp - 0x1054]
push 0x800
lea eax, [ebp - 0x1048]
push eax
push 1
push 0
push esi
push dword [ebp - 0x104c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x40a2a8
mov dword [ebp - 0x1050], 1
jmp 0x40a2f3
push 0x44
lea eax, [ebp - 0x48]
push 0
push eax
call fcn.0040b2e0
push 0x44
lea eax, [ebp - 0x48]
push eax
push ebx
call fcn.00401500
add esp, 0x18
test eax, eax
je 0x40a2f3
push esi
push edi
lea eax, [ebp - 0x48]
push eax
push 0x422bd0
lea eax, [ebp - 0x448]
push 0x400
push eax
call fcn.0040b0c0
lea eax, [ebp - 0x448]
push eax
call fcn.0040a680
add esp, 0x1c
push dword [ebp - 0x104c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1050]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040b2c3
mov esp, ebp
pop ebp
ret