joyce8/EMBER2024-capa huggingface dataset:
Function at 0x49afdc
Capabilities:
Encode data using base64

Disassembly:
push ebx
push esi
push edi
add esp, 0xffffff88
mov dword [esp + 4], edx
mov dword [esp], eax
lea eax, [esp + 0x39]
xor ecx, ecx
mov edx, 0x3f
call fcn.00402cf0
lea edx, [esp + 0xc]
mov ecx, 0x2d
mov eax, dword [esp]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov dword [esp + 8], eax
cmp dword [esp + 8], 0
je 0x49b161
mov edi, 1
xor esi, esi
jmp 0x49b0a1
mov al, byte [esp + edi + 0xb]
xor edx, edx
mov dl, al
shr edx, 2
and dl, 0x3f
and edx, 0xff
mov dl, byte [edx + 0x4f1d24]
mov byte [esp + esi + 0x39], dl
mov edx, eax
shl edx, 4
xor eax, eax
mov al, byte [esp + edi + 0xc]
shr eax, 4
or dl, al
and dl, 0x3f
xor eax, eax
mov al, dl
mov al, byte [eax + 0x4f1d24]
mov byte [esp + esi + 0x3a], al
mov dl, byte [esp + edi + 0xc]
shl edx, 2
mov al, byte [esp + edi + 0xd]
xor ecx, ecx
mov cl, al
shr ecx, 6
or dl, cl
and dl, 0x3f
and edx, 0xff
mov dl, byte [edx + 0x4f1d24]
mov byte [esp + esi + 0x3b], dl
mov edx, eax
and dl, 0x3f
xor eax, eax
mov al, dl
mov al, byte [eax + 0x4f1d24]
mov byte [esp + esi + 0x3c], al
add edi, 3
add esi, 4
mov eax, dword [esp + 8]
sub eax, 2
cmp edi, eax
jle 0x49b022
cmp edi, dword [esp + 8]
jg 0x49b147
mov al, byte [esp + edi + 0xb]
xor edx, edx
mov dl, al
shr edx, 2
and dl, 0x3f
and edx, 0xff
mov dl, byte [edx + 0x4f1d24]
mov byte [esp + esi + 0x39], dl
cmp edi, dword [esp + 8]
jne 0x49b0fe
mov edx, eax
shl edx, 4
and dl, 0x30
and dl, 0x3f
xor eax, eax
mov al, dl
mov al, byte [eax + 0x4f1d24]
mov byte [esp + esi + 0x3a], al
mov byte [esp + esi + 0x3b], 0x3d
jmp 0x49b13f
mov edx, eax
shl edx, 4
and dl, 0x30
xor eax, eax
mov al, byte [esp + edi + 0xc]
shr eax, 4
and al, 0xf
or dl, al
and dl, 0x3f
xor eax, eax
mov al, dl
mov al, byte [eax + 0x4f1d24]
mov byte [esp + esi + 0x3a], al
mov dl, byte [esp + edi + 0xc]
shl edx, 2
and dl, 0x3c
and dl, 0x3f
xor eax, eax
mov al, dl
mov al, byte [eax + 0x4f1d24]
mov byte [esp + esi + 0x3b], al
mov byte [esp + esi + 0x3c], 0x3d
add esi, 4
lea edx, [esp + 0x39]
mov ecx, esi
mov eax, dword [esp + 4]
mov ebx, dword [eax]
call dword [ebx + 0x10]
cmp dword [esp + 8], 0x2d
jge 0x49aff9
add esp, 0x78
pop edi
pop esi
pop ebx
ret

Function at 0x49b694
Capabilities:
Encrypt data using des

Disassembly:
push ebx
mov ecx, edx
and cl, 0x20
mov ebx, edx
and bl, 0x1e
and ebx, 0xff
shr ebx, 1
or cl, bl
and dl, 1
shl edx, 4
or cl, dl
mov edx, ecx
and edx, 0xff
and eax, 0xff
shl eax, 3
lea eax, [eax*8 + 0x4f1f14]
mov al, byte [eax + edx]
and al, 0xf
pop ebx
ret
Function at 0x49b6d0
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
mov ebx, edx
test ebx, ebx
js 0x49b6e8
shr ebx, 2
mov esi, dword [eax + ebx*4]
dec ebx
push esi
jns 0x49b6e1
mov eax, esp
mov dword [ebp - 8], ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, 7
call fcn.00402cf0
xor edx, edx
mov eax, 0x4f2114
mov bl, byte [eax]
mov ecx, ebx
and cl, 7
and ecx, 0xff
push ecx
mov ecx, 7
pop esi
sub ecx, esi
mov esi, 1
shl esi, cl
xor ecx, ecx
mov cl, bl
shr ecx, 3
mov ebx, dword [ebp - 4]
movzx ecx, byte [ebx + ecx]
and esi, ecx
je 0x49b752
mov ecx, edx
and ecx, 7
push ecx
mov ecx, 7
pop ebx
sub ecx, ebx
mov bl, 1
shl bl, cl
mov ecx, edx
shr ecx, 3
mov esi, dword [ebp - 8]
or byte [esi + ecx], bl
inc edx
inc eax
cmp edx, 0x38
jne 0x49b706
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x49b990
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
mov ebx, dword [ebp + 0x10]
test ebx, ebx
js 0x49b9a9
shr ebx, 2
mov esi, dword [ecx + ebx*4]
dec ebx
push esi
jns 0x49b9a2
mov ecx, esp
mov ebx, edx
test ebx, ebx
js 0x49b9bb
shr ebx, 2
mov esi, dword [eax + ebx*4]
dec ebx
push esi
jns 0x49b9b4
mov eax, esp
mov dword [ebp - 4], ecx
push 5
lea ecx, [ebp - 0xa]
call fcn.0049b584
mov ebx, 6
mov eax, dword [ebp - 4]
lea edx, [ebp - 0xa]
mov cl, byte [eax]
xor byte [edx], cl
inc edx
inc eax
dec ebx
jne 0x49b9d5
mov al, byte [ebp - 0xa]
xor edx, edx
mov dl, al
shr edx, 2
mov byte [ebp - 0x12], dl
and al, 3
shl eax, 4
mov dl, byte [ebp - 9]
xor ecx, ecx
mov cl, dl
shr ecx, 4
or al, cl
mov byte [ebp - 0x11], al
and dl, 0xf
shl edx, 2
mov al, byte [ebp - 8]
xor ecx, ecx
mov cl, al
shr ecx, 6
or dl, cl
mov byte [ebp - 0x10], dl
and al, 0x3f
mov byte [ebp - 0xf], al
mov al, byte [ebp - 7]
xor edx, edx
mov dl, al
shr edx, 2
mov byte [ebp - 0xe], dl
and al, 3
shl eax, 4
xor edx, edx
mov dl, byte [ebp - 6]
shr edx, 4
or al, dl
mov byte [ebp - 0xd], al
mov al, byte [ebp - 6]
and al, 0xf
shl eax, 2
xor edx, edx
mov dl, byte [ebp - 5]
shr edx, 6
or al, dl
mov byte [ebp - 0xc], al
mov al, byte [ebp - 5]
and al, 0x3f
mov byte [ebp - 0xb], al
xor ebx, ebx
lea esi, [ebp - 0x12]
mov eax, ebx
mov dl, byte [esi]
call fcn.0049b694
mov byte [esi], al
inc ebx
inc esi
cmp ebx, 8
jne 0x49ba5a
mov ebx, 4
lea eax, [ebp - 0x12]
lea edx, [ebp - 0xa]
mov cl, byte [eax]
shl ecx, 4
or cl, byte [eax + 1]
mov byte [edx], cl
inc edx
add eax, 2
dec ebx
jne 0x49ba77
lea eax, [ebp - 0xa]
mov edx, 5
call fcn.0049b614
mov ebx, 4
lea eax, [ebp - 0xa]
mov edx, dword [ebp + 0xc]
mov cl, byte [eax]
mov byte [edx], cl
inc edx
inc eax
dec ebx
jne 0x49baa0
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret 0xc
Function at 0x49bab8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
push edi
mov ebx, ecx
test ebx, ebx
js 0x49bad1
shr ebx, 2
mov esi, dword [edx + ebx*4]
dec ebx
push esi
jns 0x49baca
mov edx, esp
mov dword [ebp - 4], edx
mov ebx, eax
mov dword [ebp - 8], 8
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
mov dl, byte [eax]
mov byte [ecx], dl
inc ecx
inc eax
dec dword [ebp - 8]
jne 0x49bae5
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
call fcn.0049b47c
test bl, bl
jne 0x49bbb8
mov dword [ebp - 8], 0x10
mov dword [ebp - 0x14], 0x4f7eb0
mov eax, 4
mov edx, dword [ebp + 0xc]
lea esi, [ebp - 0xc]
mov cl, byte [edx]
mov byte [esi], cl
inc esi
inc edx
dec eax
jne 0x49bb1c
mov eax, 4
mov edx, dword [ebp + 0xc]
add edx, 4
mov cl, byte [edx]
mov byte [edx - 4], cl
inc edx
dec eax
jne 0x49bb30
push 5
lea eax, [ebp - 0x10]
push eax
push 3
mov eax, dword [ebp - 0x14]
mov ecx, eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
call fcn.0049b990
mov eax, 4
lea edx, [ebp - 0xc]
lea esi, [ebp - 0x10]
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov bl, byte [edx]
xor bl, byte [esi]
mov byte [ecx], bl
inc ecx
inc esi
inc edx
dec eax
jne 0x49bb62
add dword [ebp - 0x14], 6
dec dword [ebp - 8]
jne 0x49bb11
mov eax, 4
mov edx, dword [ebp + 0xc]
add edx, 4
lea ecx, [ebp - 0xc]
mov bl, byte [edx]
mov byte [ecx], bl
inc ecx
inc edx
dec eax
jne 0x49bb85
mov eax, 4
mov edx, dword [ebp + 0xc]
mov cl, byte [edx]
mov byte [edx + 4], cl
inc edx
dec eax
jne 0x49bb96
mov eax, 4
lea edx, [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov bl, byte [edx]
mov byte [ecx], bl
inc ecx
inc edx
dec eax
jne 0x49bbaa
jmp 0x49bc73
cmp bl, 1
jne 0x49bc73
mov dword [ebp - 8], 0xfffffff0
mov ebx, 0x4f7f0a
mov eax, 4
mov edx, dword [ebp + 0xc]
lea esi, [ebp - 0xc]
mov cl, byte [edx]
mov byte [esi], cl
inc esi
inc edx
dec eax
jne 0x49bbd8
mov eax, 4
mov edx, dword [ebp + 0xc]
add edx, 4
mov cl, byte [edx]
mov byte [edx - 4], cl
inc edx
dec eax
jne 0x49bbec
push 5
lea eax, [ebp - 0x10]
push eax
push 3
mov ecx, ebx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
call fcn.0049b990
mov eax, 4
lea edx, [ebp - 0xc]
lea esi, [ebp - 0x10]
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp - 0x18], ecx
mov cl, byte [edx]
xor cl, byte [esi]
mov edi, dword [ebp - 0x18]
mov byte [edi], cl
inc dword [ebp - 0x18]
inc esi
inc edx
dec eax
jne 0x49bc1e
sub ebx, 6
inc dword [ebp - 8]
jne 0x49bbcd
mov eax, 4
mov edx, dword [ebp + 0xc]
add edx, 4
lea ebx, [ebp - 0xc]
mov cl, byte [edx]
mov byte [ebx], cl
inc ebx
inc edx
dec eax
jne 0x49bc45
mov eax, 4
mov ebx, dword [ebp + 0xc]
mov dl, byte [ebx]
mov byte [ebx + 4], dl
inc ebx
dec eax
jne 0x49bc56
mov eax, 4
lea ebx, [ebp - 0xc]
mov edx, dword [ebp + 0xc]
mov cl, byte [ebx]
mov byte [edx], cl
inc edx
inc ebx
dec eax
jne 0x49bc6a
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
call fcn.0049b500
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
mov esp, ebp
pop ebp
ret 8
Function at 0x4a59e0
Capabilities:
Get hostname

Disassembly:
push ebx
add esp, 0xffffffe8
mov ebx, eax
mov dword [esp], 0x10
push esp
lea eax, [esp + 8]
push eax
call sub.kernel32.dll_GetComputerNameA
mov edx, ebx
lea eax, [esp + 4]
call fcn.00409704
add esp, 0x18
pop ebx
ret

Function at 0x4a5a08
Capabilities:
Shutdown system

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
push ebx
mov ebx, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004046ac
mov eax, dword [ebp - 8]
call fcn.004046ac
xor eax, eax
push ebp
push 0x4a5acd
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
push eax
push 0x28
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.advapi32.dll_OpenProcessToken
lea eax, [ebp - 0x1c]
push eax
push 0x4a5ae0
push 0
call sub.advapi32.dll_LookupPrivilegeValueA
test eax, eax
je 0x4a5a7f
mov dword [ebp - 0x14], 2
mov dword [ebp - 0x20], 1
lea eax, [ebp - 0xc]
push eax
push 0
push 0
lea eax, [ebp - 0x20]
push eax
push 0
mov eax, dword [ebp - 0x10]
push eax
call sub.advapi32.dll_AdjustTokenPrivileges
cmp byte [ebp + 8], 1
cmc
sbb eax, eax
push eax
cmp byte [ebp + 0xc], 1
cmc
sbb eax, eax
push eax
movzx eax, bx
push eax
mov eax, dword [ebp - 8]
call fcn.004046bc
push eax
mov eax, dword [ebp - 4]
call fcn.004046bc
push eax
call sub.advapi32.dll_InitiateSystemShutdownA
cmp eax, 1
sbb eax, eax
inc eax
mov ebx, eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a5ad4
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404220
ret
Function at 0x4ea022
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
push esi
push edi
add esp, 0xffffffc0
mov esi, 0x4f2e0c
mov ecx, 4
lea edi, [esp + 0xc]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
mov edx, dword [0x4f2e1f]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dx, word [0x4f2e23]
cmp dword [0x4f2e08], 1
mov word [esp + 8], dx
jne 0x4ea1ca
mov byte [esp + 0xc], 0x4d
mov byte [esp + 0xd], 0x75
mov byte [esp + 0xe], 0x74
mov byte [esp + 0xf], 0x65
mov byte [esp + 0x10], 0x78
mov byte [esp + 0x11], 0x54
mov byte [esp + 0x12], 0x6f
mov byte [esp + 0x13], 0x50
mov byte [esp + 0x14], 0x72
mov byte [esp + 0x15], 0x6f
mov byte [esp + 0x16], 0x74
mov byte [esp + 0x17], 0x65
mov byte [esp + 0x18], 0x63
mov byte [esp + 0x19], 0x74
mov byte [esp + 0x1a], 0x50
mov byte [esp + 0x1b], 0x6f
mov byte [esp + 0x1c], 0x72
mov byte [esp + 0x1d], 0x74
mov dword [esp + 0x20], 0xc
xor ecx, ecx
mov dword [esp + 0x28], ecx
push 1
lea eax, [esp + 0x30]
push eax
call fcn.004e925d
add esp, 8
test eax, eax
jne 0x4ea0e5
xor eax, eax
jmp 0x4ea1cf
push esp
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 1
lea edx, [esp + 0x2c]
push edx
call fcn.004e9313
add esp, 0x2c
test eax, eax
jne 0x4ea110
xor eax, eax
jmp 0x4ea1cf
push dword [esp]
call fcn.004e91ea
pop ecx
mov esi, eax
add esi, 0x10
push esi
push 0x40
call fcn.004e9940
add esp, 8
mov ebx, eax
test ebx, ebx
jne 0x4ea136
xor eax, eax
jmp 0x4ea1cf
push 2
push esi
push ebx
call fcn.004e93d5
add esp, 0xc
test eax, eax
jne 0x4ea14d
xor eax, eax
jmp 0x4ea1cf
push dword [esp]
push 0xf2000000
push 2
push ebx
call fcn.004e9452
add esp, 0x10
test eax, eax
jne 0x4ea168
xor eax, eax
jmp 0x4ea1cf
push 0
push ebx
push 1
lea edx, [esp + 0x38]
push edx
call fcn.004e94ea
add esp, 0x10
test eax, eax
jne 0x4ea182
xor eax, eax
jmp 0x4ea1cf
lea edx, [esp + 0x2c]
lea ecx, [esp + 0xc]
mov dword [esp + 0x24], edx
push ecx
push 0
lea eax, [esp + 0x28]
push eax
call fcn.004e9fa9
add esp, 0xc
mov dword [0x4f2e08], eax
test ebx, ebx
je 0x4ea1ae
push ebx
call fcn.004e98c8
pop ecx
cmp dword [esp], 0
je 0x4ea1bd
push dword [esp]
call fcn.004e98c8
pop ecx
cmp dword [0x4f2e08], 0
jne 0x4ea1ca
xor eax, eax
jmp 0x4ea1cf
mov eax, 1
add esp, 0x40
pop edi
pop esi
pop ebx
ret
Function at 0x4ea1d6
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 8], eax
mov esi, 0x4f2e26
lea edi, [ebp - 0x18]
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x18], 0x5c
mov byte [ebp - 0x17], 0x5c
mov byte [ebp - 0x16], 0x2e
mov byte [ebp - 0x15], 0x5c
mov byte [ebp - 0x14], 0x4c
mov byte [ebp - 0x13], 0x50
mov byte [ebp - 0x12], 0x54
mov byte [ebp - 0x11], 0x47
mov byte [ebp - 0x10], 0x41
mov byte [ebp - 0xf], 0x31
mov byte [ebp - 0xe], 0
mov byte [ebp - 0xd], 0
mov byte [ebp - 0xc], 0
mov byte [ebp - 0xb], 0
mov byte [ebp - 0xa], 0
jmp 0x4ea34a
add al, 0x30
mov byte [ebp - 0xf], al
call fcn.004ea022
push 0x9c40
push dword [0x4f2e08]
call fcn.004e9ea3
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x4ea264
mov eax, 0x4f1b
jmp 0x4ea372
push 0
push 0x80
push 3
push 0
push 7
push 0xc0000000
lea edx, [ebp - 0x18]
push edx
call fcn.004e9736
add esp, 0x1c
mov esi, eax
cmp esi, 0xffffffff
je 0x4ea311
push 0
lea eax, [ebp - 4]
push eax
push 0x24
push dword [ebp + 0x10]
push 0x2c
push dword [ebp + 0xc]
push 0xc60031b4
push esi
call fcn.004e97c4
add esp, 0x20
mov ebx, eax
test ebx, ebx
je 0x4ea34a
call fcn.004e9ab6
mov ebx, eax
cmp ebx, 0x57
jne 0x4ea2de
push esi
call fcn.004e99bf
pop ecx
push dword [0x4f2e08]
call fcn.004e9f36
pop ecx
mov eax, 0x753c
jmp 0x4ea372
push esi
call fcn.004e99bf
pop ecx
push dword [ebp + 0x10]
push dword [ebp + 8]
call fcn.004ed732
add esp, 8
mov ebx, eax
push dword [0x4f2e08]
call fcn.004e9f36
pop ecx
test ebx, ebx
jne 0x4ea309
mov eax, ebx
jmp 0x4ea372
inc byte [0x4f2e25]
jmp 0x4ea34a
call fcn.004e9ab6
push dword [0x4f2e08]
mov ebx, eax
call fcn.004e9f36
pop ecx
cmp ebx, 2
jne 0x4ea331
inc byte [0x4f2e25]
jmp 0x4ea34a
cmp ebx, 5
jne 0x4ea343
inc dword [ebp - 8]
push 0xa
call fcn.004e9865
pop ecx
jmp 0x4ea34a
mov eax, 0x4f1a
jmp 0x4ea372
mov al, byte [0x4f2e25]
cmp al, 4
jae 0x4ea35d
cmp dword [ebp - 8], 0xa
jl 0x4ea237
cmp byte [0x4f2e25], 3
jbe 0x4ea36d
mov byte [0x4f2e25], 1
mov eax, 0x4f1a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4ea65f
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax + 0x14], edx
mov dword [eax + 0x10], edx
mov dword [eax], 0x67452301
mov dword [eax + 4], 0xefcdab89
mov dword [eax + 8], 0x98badcfe
mov dword [eax + 0xc], 0x10325476
pop ebp
ret
Function at 0x23101408
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x2311b519
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 8], 0
mov ecx, dword [ebp - 0x28]
add ecx, 0xc
call dword [sym.imp.Gtools.dll_public:_void___thiscall_GPulseEvent::constructor_void_]
mov dword [ebp - 4], 0
lea edx, [ebp - 0x10]
push edx
mov ecx, dword [ebp - 0x28]
add ecx, 0x20
call fcn.23104400
mov byte [ebp - 4], 1
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x30
call fcn.23104400
mov byte [ebp - 4], 2
push 0x12c
call fcn.231104b6
add esp, 4
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0x1c], 0
je 0x231014ab
push 0
mov ecx, dword [ebp - 0x28]
push ecx
push 0x2310167b
push str.GmtProxy
mov ecx, dword [ebp - 0x1c]
call dword [sym.imp.Gtools.dll_public:_void___thiscall_GThread::constructor_char_const___long_int____cdecl___void____void___enum_GThread::enumComSupport_]
mov dword [ebp - 0x2c], eax
jmp 0x231014b2
mov dword [ebp - 0x2c], 0
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x28]
cmp dword [edx + 4], 0
je 0x231014da
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
call dword [sym.imp.Gtools.dll_public:_bool___thiscall_GThread::start_void_]
push 0x12c
call fcn.231104b6
add esp, 4
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 4
cmp dword [ebp - 0x24], 0
je 0x23101512
push 0
mov ecx, dword [ebp - 0x28]
push ecx
push 0x23101a47
push str.GmtProxyWin
mov ecx, dword [ebp - 0x24]
call dword [sym.imp.Gtools.dll_public:_void___thiscall_GThread::constructor_char_const___long_int____cdecl___void____void___enum_GThread::enumComSupport_]
mov dword [ebp - 0x30], eax
jmp 0x23101519
mov dword [ebp - 0x30], 0
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x20], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x28]
cmp dword [edx + 8], 0
je 0x23101541
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
call dword [sym.imp.Gtools.dll_public:_bool___thiscall_GThread::start_void_]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x23101559
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x2311b548
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x20]
call fcn.23101378
mov eax, dword [ebp - 0x20]
cmp dword [eax + 4], 0
je 0x231015c4
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x231015b3
push 1
mov ecx, dword [ebp - 0x10]
call fcn.23103d70
mov dword [ebp - 0x24], eax
jmp 0x231015ba
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x20]
cmp dword [edx + 8], 0
je 0x23101602
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0
je 0x231015f1
push 1
mov ecx, dword [ebp - 0x18]
call fcn.23103d70
mov dword [ebp - 0x28], eax
jmp 0x231015f8
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x20]
mov dword [eax + 8], 0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x20]
add ecx, 0x30
call fcn.23104540
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x20]
add ecx, 0x20
call fcn.23104440
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x20]
add ecx, 0xc
call dword [sym.imp.Gtools.dll_public:_void___thiscall_GPulseEvent::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret

Function at 0x23101e78
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov byte [ebp - 4], 0
cmp dword [ebp + 8], 0
je 0x23101ef5
mov eax, dword [ebp + 8]
movsx ecx, byte [eax]
test ecx, ecx
je 0x23101ef5
push 0x44
push 0
lea edx, [ebp - 0x58]
push edx
call fcn.231104d0
add esp, 0xc
mov dword [ebp - 0x58], 0x44
push 0x10
push 0
lea eax, [ebp - 0x14]
push eax
call fcn.231104d0
add esp, 0xc
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x58]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp + 8]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x23101ee1
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebp - 4]
mov esp, ebp
pop ebp
ret
Function at 0x231034f6
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x2311b89e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
mov dword [ebp - 0x24], ecx
cmp dword [0x23125f0c], 0
jne 0x23103528
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x23125f0c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [0x23125f0c]
jb 0x23103669
mov ecx, dword [ebp - 0x24]
add ecx, 0x20
call fcn.231044a0
test eax, eax
jbe 0x23103602
push 0
mov ecx, dword [ebp - 0x24]
call fcn.231026fc
and eax, 0xff
test eax, eax
je 0x231035b3
mov ecx, dword [ebp - 0x24]
add ecx, 0x20
call fcn.231045a0
mov dword [ebp - 0x14], eax
jmp 0x2310357f
mov ecx, dword [ebp - 0x14]
add ecx, 0x20
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x24]
add ecx, 0x20
call fcn.231045c0
cmp dword [ebp - 0x14], eax
je 0x231035a6
push 0
mov edx, dword [ebp - 0x14]
add edx, 0x10
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x24]
call fcn.23102740
jmp 0x23103576
mov ecx, dword [ebp - 0x24]
add ecx, 0x20
call fcn.23104510
jmp 0x23103602
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x1c], esp
lea edx, [ebp - 0x20]
push edx
push str.GP:_Buffered_stat_s__cannot_be_sent__will_try_again_later._n
call fcn.23104130
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0
push 0x56c
push 0x23120648
call dword [sym.imp.Gtools.dll_public:_static_class_GLog____cdecl_GLog::getLog_void_]
mov ecx, eax
call dword [sym.imp.Gtools.dll_public:_class_GLog____thiscall_GLog::fileInfo_char___int_]
push eax
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.Gtools.dll_public:_void___cdecl_GLog::logInfo_class_std::basic_string_char__struct_Gchar_traits_char___class_GAllocator_char___]
add esp, 0x14
mov ecx, dword [ebp - 0x24]
add ecx, 0x30
call fcn.231045e0
test eax, eax
jbe 0x2310365c
call fcn.23106210
test eax, eax
je 0x2310365c
mov ecx, dword [ebp - 0x24]
add ecx, 0x30
call fcn.231045a0
mov dword [ebp - 0x18], eax
jmp 0x23103633
mov ecx, dword [ebp - 0x18]
add ecx, 0x10
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x24]
add ecx, 0x30
call fcn.231045c0
cmp dword [ebp - 0x18], eax
je 0x23103651
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x24]
call fcn.23102beb
jmp 0x2310362a
mov ecx, dword [ebp - 0x24]
add ecx, 0x30
call fcn.23104650
mov eax, dword [ebp - 0x10]
add eax, 0x1388
mov dword [0x23125f0c], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret