joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10058683
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, ecx
mov dword [ebp - 4], edi
test esi, esi
jne 0x1005879d
cmp dword [ebx], 0x74
je 0x1005879d
mov ecx, dword [0x10190978]
test ecx, ecx
je 0x100586b9
call fcn.1001fe55
mov esi, eax
jmp 0x100586bb
xor esi, esi
push 0x2800
call fcn.100db735
mov edi, eax
mov dword [esp], 0x5000
call fcn.100db735
mov dword [esp], str.set_default_char_format_failed__only_CHARFORMAT2W_can_be_set_for_default_char_format
mov ebx, eax
push 0xffffffffffffffff
push 0x2800
push ebx
call fcn.1003cc63
add esp, 0x10
xor eax, eax
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
push ebx
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp eax, 0x2800
jae 0x10058715
xor ecx, ecx
push ecx
push ecx
push eax
push edi
push 0xffffffffffffffff
push ebx
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push ebx
call fcn.100db740
pop ecx
test esi, esi
je 0x10058754
mov eax, dword [esi]
mov ecx, esi
push 3
push 0
call dword [eax + 0x2c]
test al, al
je 0x10058754
push dword [ebp + 4]
mov eax, dword [esi]
mov ecx, esi
push str.SOUI::SRichEdit::OnSetCharFormat
push 0x550
push str.d:workspace_soui_soui_srccontrol_srichedit.cpp
push edi
push str.soui
push 3
push 0
call dword [eax + 0x34]
jmp 0x10058792
mov ebx, 0x2800
push ebx
call fcn.100db735
mov dword [esp], 0x550
mov esi, eax
push str.d:workspace_soui_soui_srccontrol_srichedit.cpp
push str.SOUI::SRichEdit::OnSetCharFormat
push edi
push str._s__s__s:_d_n
push 0xffffffffffffffff
push ebx
push esi
call fcn.1003cc44
add esp, 0x20
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
call fcn.100db740
pop ecx
push edi
call fcn.100db740
pop ecx
xor eax, eax
jmp 0x100587de
mov eax, dword [edi + 0x380]
push 0
push ebx
push esi
mov ecx, dword [eax + 0xc]
push dword [ebp + 8]
mov eax, dword [ecx]
call dword [eax + 0xc]
test esi, esi
jne 0x100587db
mov eax, dword [ebp - 4]
add edi, 0x218
push 0x1d
pop ecx
mov esi, ebx
mov edx, 0x20000
mov eax, dword [eax + 0x380]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0xc]
push edx
push edx
mov eax, dword [ecx]
call dword [eax + 0x4c]
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x1005a58e
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x28
mov eax, 0x10132226
call fcn.1009830f
mov ebx, ecx
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x12
call esi
push 0x11
mov edi, eax
call esi
and eax, 0x8000
push 0x10
mov dword [ebp - 0x10], eax
call esi
and eax, 0x8000
and edi, 0x8000
jne 0x1005a5f6
lea esi, [ebx + 0x170]
cmp dword [ebp - 0x10], edi
jne 0x1005a5e0
test eax, eax
jne 0x1005a5d9
inc eax
xor ecx, ecx
jmp 0x1005a639
push 2
pop eax
push 4
jmp 0x1005a638
test eax, eax
jne 0x1005a5eb
push 4
pop eax
push 2
jmp 0x1005a638
push 6
pop eax
push 0x10
mov word [esi], ax
pop eax
jmp 0x1005a63c
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jne 0x1005a611
test eax, eax
jne 0x1005a60d
push 8
pop eax
lea esi, [ebx + 0x170]
inc ecx
jmp 0x1005a639
test ecx, ecx
je 0x1005a620
test eax, eax
jne 0x1005a61c
push 0x40
pop eax
push 3
jmp 0x1005a632
test ecx, ecx
jne 0x1005a62b
test eax, eax
je 0x1005a62b
push 0x20
pop eax
push 5
jmp 0x1005a632
mov eax, 0x80
push 7
lea esi, [ebx + 0x170]
pop ecx
mov word [esi], cx
test word [ebx + 0x174], ax
je 0x1005a64f
mov ax, word [ebx + 0x176]
mov word [esi], ax
push ebx
lea ecx, [ebp - 0x34]
call fcn.10027ed5
mov dword [ebp - 0x34], 0x10141408
mov dword [ebp - 0x2c], 0x1014141c
mov ax, word [esi]
lea ecx, [ebp - 0x34]
and dword [ebp - 4], 0
mov word [ebp - 0x12], ax
mov ax, word [ebx + 0x172]
mov word [ebp - 0x14], ax
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x94]
call fcn.100982d8
ret

Function at 0x10072497
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 8], 9
je 0x100724a4
xor eax, eax
jmp 0x100724d2
push dword [ecx + 4]
call fcn.1004129d
pop ecx
test eax, eax
je 0x100724bf
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x98]
test al, 2
jne 0x100724a0
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
movzx eax, ax
xor eax, 0x8000
shr eax, 0xf
pop ebp
ret 4
Function at 0x100725f7
Capabilities:
Log keystrokes via polling

Disassembly:
push 4
mov eax, 0x10133a5b
call fcn.1009830f
mov ebx, ecx
mov edi, dword [ebp + 8]
push edi
call fcn.10072497
test eax, eax
je 0x10072632
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
mov ecx, ebx
and al, 1
movzx eax, al
push eax
call fcn.10071f2a
xor eax, eax
inc eax
jmp 0x10072734
push dword [ebx + 4]
call fcn.1004129d
mov esi, eax
mov dword [ebp - 0x10], esi
pop ecx
test esi, esi
je 0x100726de
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x64]
test eax, eax
je 0x100726de
cmp edi, 0x25
je 0x1007266b
cmp edi, 0x27
je 0x10072679
cmp edi, 0x26
je 0x1007266b
cmp edi, 0x28
jne 0x100726de
cmp edi, 0x27
je 0x10072679
cmp edi, 0x28
je 0x10072679
push 2
jmp 0x1007267b
push 3
pop edi
jmp 0x10072689
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x64]
test eax, eax
jne 0x100726c8
push edi
mov ecx, esi
call fcn.10031246
mov esi, eax
test esi, esi
jne 0x1007267e
mov ecx, dword [ebp - 0x10]
cmp edi, 3
setne al
push eax
call fcn.10030f40
mov ecx, eax
jmp 0x100726b8
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x64]
test eax, eax
jne 0x100726c8
push edi
mov ecx, esi
call fcn.10031246
mov esi, eax
test esi, esi
jne 0x100726aa
jmp 0x1007262a
push 1
mov ecx, esi
call fcn.10031173
push eax
mov ecx, ebx
call fcn.10072a0c
jmp 0x1007262a
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x10
call esi
shr eax, 0xf
and al, 1
movzx eax, al
push eax
push 0x12
call esi
shr eax, 0xf
and al, 1
movzx eax, al
push eax
push 0x11
call esi
shr eax, 0xf
lea ecx, [ebp + 8]
and al, 1
movzx eax, al
push eax
push edi
call fcn.1007503e
and dword [ebp - 4], 0
lea eax, [ebp + 8]
push eax
mov ecx, ebx
call fcn.10072788
xor ebx, ebx
lea ecx, [ebp + 8]
test al, al
setne bl
call fcn.1007509a
mov eax, ebx
call fcn.100982d8
ret 4
Function at 0x100747fd
Capabilities:
Print debug messages

Disassembly:
push 0x20
mov eax, 0x10133c19
call fcn.1009830f
mov esi, ecx
push dword [ebp + 0x10]
lea ecx, [ebp - 0x2c]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10074785
and dword [ebp - 4], 0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [esi + 4]
call fcn.100747c2
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10031173
mov dword [esi], eax
mov ecx, dword [0x10190978]
test ecx, ecx
je 0x1007484b
call fcn.1001fe55
mov edi, eax
jmp 0x1007484d
xor edi, edi
push 0x2800
call fcn.100db735
mov ebx, eax
mov dword [esp], str.CacheResultForID_parent:
mov esi, 0x101646f4
mov dword [ebp - 0x18], ebx
push esi
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x10], ebx
lea edx, [ebx + 0x2800]
mov dword [ebp - 0x14], edx
call fcn.10011ea0
mov ecx, dword [ebp + 8]
call fcn.10031173
push 0
push eax
push str._I64u
lea ecx, [ebp - 0x18]
call fcn.100746b7
push str._nId:
push esi
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push dword [ebp + 0xc]
lea ecx, [ebp - 0x18]
push 0x101646f0
call fcn.10011d10
mov esi, eax
push str._nDeep
push 0x101646f4
mov ecx, esi
call fcn.10011ea0
push dword [ebp + 0x10]
mov ecx, esi
push 0x101646f0
call fcn.10011d10
mov esi, eax
push str._result:
push 0x101646f4
mov ecx, esi
call fcn.10011ea0
mov ecx, dword [ebp + 0x14]
call fcn.10031173
push 0
push eax
push str._I64u
mov ecx, esi
call fcn.100746b7
test edi, edi
je 0x10074934
mov eax, dword [edi]
mov ecx, edi
push 2
push 0
call dword [eax + 0x2c]
test al, al
je 0x10074934
push dword [ebp + 4]
mov eax, dword [edi]
mov ecx, edi
push str.SOUI::SWindowFinder::CacheResultForID
push 0x44
push str.d:workspace_soui_soui_srchelper_swndfinder.cpp
push ebx
push str.soui
push 2
push 0
call dword [eax + 0x34]
jmp 0x1007499f
mov esi, 0x10164544
lea ecx, [ebp - 0x18]
push esi
mov edi, 0x101646f4
push edi
call fcn.10011ea0
push str.SOUI::SWindowFinder::CacheResultForID
push edi
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push esi
push edi
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push str.d:workspace_soui_soui_srchelper_swndfinder.cpp
push edi
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push 0x10164548
push edi
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push 0x44
push 0x101646f0
lea ecx, [ebp - 0x18]
call fcn.10011d10
push 0x1016454c
push edi
mov ecx, eax
call fcn.10011ea0
push ebx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push ebx
call fcn.100db740
pop ecx
lea ecx, [ebp - 0x24]
call fcn.100025f0
call fcn.100982d8
ret 0x10
Function at 0x100749b6
Capabilities:
Print debug messages

Disassembly:
push 0x20
mov eax, 0x10133c3c
call fcn.1009830f
mov esi, ecx
push dword [ebp + 0x10]
lea ecx, [ebp - 0x2c]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10074753
and dword [ebp - 4], 0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [esi + 4]
call fcn.100747c2
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10031173
mov dword [esi], eax
mov ecx, dword [0x10190978]
test ecx, ecx
je 0x10074a04
call fcn.1001fe55
mov edi, eax
jmp 0x10074a06
xor edi, edi
push 0x2800
call fcn.100db735
mov ebx, eax
mov dword [esp], str.CacheResultForID_parent:
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x18]
push 0x101646f4
mov dword [ebp - 0x18], ebx
lea edx, [ebx + 0x2800]
mov dword [ebp - 0x10], ebx
mov esi, dword [eax]
mov dword [ebp - 0x14], edx
call fcn.10011ea0
mov ecx, dword [ebp + 8]
call fcn.10031173
push 0
push eax
push str._I64u
lea ecx, [ebp - 0x18]
call fcn.100746b7
push str._name:
push 0x101646f4
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push esi
lea ecx, [ebp - 0x18]
call fcn.10011c20
mov esi, eax
push str._nDeep
push 0x101646f4
mov ecx, esi
call fcn.10011ea0
push dword [ebp + 0x10]
mov ecx, esi
push 0x101646f0
call fcn.10011d10
mov esi, eax
push str._result:
push 0x101646f4
mov ecx, esi
call fcn.10011ea0
mov ecx, dword [ebp + 0x14]
call fcn.10031173
push 0
push eax
push str._I64u
mov ecx, esi
call fcn.100746b7
test edi, edi
je 0x10074aee
mov eax, dword [edi]
mov ecx, edi
push 2
push 0
call dword [eax + 0x2c]
test al, al
je 0x10074aee
push dword [ebp + 4]
mov eax, dword [edi]
mov ecx, edi
push str.SOUI::SWindowFinder::CacheResultForName
push 0x3b
push str.d:workspace_soui_soui_srchelper_swndfinder.cpp
push ebx
push str.soui
push 2
push 0
call dword [eax + 0x34]
jmp 0x10074b59
mov esi, 0x10164544
lea ecx, [ebp - 0x18]
push esi
mov edi, 0x101646f4
push edi
call fcn.10011ea0
push str.SOUI::SWindowFinder::CacheResultForName
push edi
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push esi
push edi
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push str.d:workspace_soui_soui_srchelper_swndfinder.cpp
push edi
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push 0x10164548
push edi
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push 0x3b
push 0x101646f0
lea ecx, [ebp - 0x18]
call fcn.10011d10
push 0x1016454c
push edi
mov ecx, eax
call fcn.10011ea0
push ebx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push ebx
call fcn.100db740
pop ecx
lea ecx, [ebp - 0x24]
call fcn.100025f0
call fcn.100982d8
ret 0x10
Function at 0x10074c2a
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
mov ebx, dword [ebp + 0xc]
push edi
lea edi, [ecx + 4]
push ebx
mov ecx, edi
call fcn.10074f03
test eax, eax
je 0x10074e05
push esi
push dword [eax + 0x14]
call fcn.1004129d
mov esi, eax
mov dword [ebp - 0xc], esi
pop ecx
test esi, esi
jne 0x10074c63
push ebx
mov ecx, edi
call fcn.10074fca
mov ecx, dword [0x10190978]
test ecx, ecx
je 0x10074c74
call fcn.1001fe55
jmp 0x10074c76
xor eax, eax
push 0x2800
mov dword [ebp - 8], eax
call fcn.100db735
mov ebx, eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], ebx
pop ecx
lea ecx, [ebx + 0x2800]
mov dword [ebp - 0x14], ecx
test esi, esi
je 0x10074ca5
mov ecx, esi
call fcn.10031173
mov dword [ebp - 4], eax
jmp 0x10074ca9
and dword [ebp - 4], 0
mov esi, dword [ebp + 0xc]
lea ecx, [ebp - 0x18]
push str.findChildByKey:_hParent:
push 0x101646f4
mov edi, dword [esi + 8]
call fcn.10011ea0
push 0
push dword [esi]
lea ecx, [ebp - 0x18]
push str._I64u
call fcn.100746b7
push str._nDeep:
push 0x101646f4
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push dword [esi + 0x10]
lea ecx, [ebp - 0x18]
push 0x101646f0
call fcn.10011d10
mov esi, eax
push str._hId:
push 0x101646f4
mov ecx, esi
call fcn.10011ea0
mov eax, dword [ebp + 0xc]
mov ecx, esi
push dword [eax + 0xc]
push 0x101646f0
call fcn.10011d10
mov esi, eax
push str._name:
push 0x101646f4
mov ecx, esi
call fcn.10011ea0
push edi
mov ecx, esi
call fcn.10011c20
mov esi, eax
push str._result:
push 0x101646f4
mov ecx, esi
call fcn.10011ea0
xor edi, edi
mov ecx, esi
push edi
push dword [ebp - 4]
push str._I64u
call fcn.100746b7
mov esi, dword [ebp - 8]
test esi, esi
je 0x10074d8f
mov eax, dword [esi]
mov ecx, esi
push 2
push edi
call dword [eax + 0x2c]
test al, al
je 0x10074d8f
push dword [ebp + 4]
mov eax, dword [esi]
mov ecx, esi
push str.SOUI::SWindowFinder::FindChildByKey
push 0x2f
push str.d:workspace_soui_soui_srchelper_swndfinder.cpp
push ebx
push str.soui
push 2
push edi
call dword [eax + 0x34]
jmp 0x10074dfa
mov esi, 0x10164544
lea ecx, [ebp - 0x18]
push esi
mov edi, 0x101646f4
push edi
call fcn.10011ea0
push str.SOUI::SWindowFinder::FindChildByKey
push edi
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push esi
push edi
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push str.d:workspace_soui_soui_srchelper_swndfinder.cpp
push edi
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push 0x10164548
push edi
lea ecx, [ebp - 0x18]
call fcn.10011ea0
push 0x2f
push 0x101646f0
lea ecx, [ebp - 0x18]
call fcn.10011d10
push 0x1016454c
push edi
mov ecx, eax
call fcn.10011ea0
push ebx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push ebx
call fcn.100db740
mov eax, dword [ebp - 0xc]
pop ecx
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x10075170
Capabilities:
Log keystrokes
Parse credit card information

Disassembly:
push 4
mov eax, 0x10133d0a
call fcn.1009830f
and dword [ebp - 0x10], 0
mov esi, dword [ebp + 8]
mov eax, dword [0x10188004]
mov dword [esi], eax
mov ecx, dword [ebp + 0xc]
xor edi, edi
and dword [ebp - 4], 0
inc edi
movzx edx, cx
mov dword [ebp - 0x10], edi
cmp edx, 0x25
ja 0x10075216
je 0x1007520c
mov eax, edx
sub eax, 0xd
je 0x10075202
sub eax, 0xe
je 0x100751f8
sub eax, 5
je 0x100751ee
sub eax, edi
je 0x100751e4
sub eax, edi
je 0x100751da
sub eax, edi
je 0x100751d0
sub eax, edi
jne 0x1007524f
push str.Home
jmp 0x10075353
push 0x10144578
jmp 0x10075353
push str.PageDown
jmp 0x10075353
push str.PageUp
jmp 0x10075353
push str.Space
jmp 0x10075353
push 0x1014452c
jmp 0x10075353
push 0x10144534
jmp 0x10075353
push str.Left
jmp 0x10075353
mov eax, edx
sub eax, 0x26
je 0x1007534e
sub eax, 1
je 0x10075347
sub eax, 1
je 0x10075340
dec eax
sub eax, 1
je 0x10075339
sub eax, 3
je 0x10075332
sub eax, 1
je 0x1007532b
cmp cx, 0x30
jb 0x1007525b
cmp cx, 0x39
jbe 0x10075264
lea eax, [ecx - 0x41]
cmp ax, 0x19
ja 0x1007527b
movzx eax, cx
mov ecx, esi
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
push edi
call fcn.10002820
jmp 0x1007535a
lea eax, [ecx - 0x60]
cmp ax, 9
ja 0x1007528f
lea eax, [edx - 0x60]
push eax
push str.Num__d
jmp 0x100752d1
cmp cx, 0x6a
jne 0x1007529f
push 0x101445ec
jmp 0x10075353
cmp cx, 0x6b
jne 0x100752af
push str.Num_
jmp 0x10075353
cmp cx, 0x6e
jne 0x100752bf
push str.Num_Del
jmp 0x10075353
lea eax, [ecx - 0x70]
cmp ax, 0xb
ja 0x100752e8
lea eax, [edx - 0x6f]
push eax
push 0x10144614
lea eax, [ebp + 0xc]
push eax
push esi
call fcn.1000b810
add esp, 0x10
lea ecx, [ebp + 0xc]
call fcn.100025f0
jmp 0x1007535a
push 2
push edx
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
cmp al, 0x3d
jg 0x10075309
je 0x10075315
cmp al, 0x27
je 0x10075315
cmp al, 0x2b
jle 0x1007535a
cmp al, 0x2f
jle 0x10075315
cmp al, 0x3b
je 0x10075315
jmp 0x1007535a
cmp al, 0x5b
jl 0x1007535a
cmp al, 0x5d
jle 0x10075315
cmp al, 0x60
jne 0x1007535a
cbw
mov ecx, esi
movzx eax, ax
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
push edi
call fcn.1000bf80
jmp 0x1007535a
push str.Delete
jmp 0x10075353
push str.Insert
jmp 0x10075353
push str.Print
jmp 0x10075353
push str.Down
jmp 0x10075353
push str.Right
jmp 0x10075353
push 0x10144540
mov ecx, esi
call fcn.100028d0
mov eax, esi
call fcn.100982d8
ret
Function at 0x1007c521
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.100305ad
mov esi, eax
test esi, esi
je 0x1007c54d
mov edx, dword [esi]
mov ecx, esi
push str.menuItem
call dword [edx + 4]
test eax, eax
je 0x1007c54d
mov eax, esi
jmp 0x1007c64f
mov ecx, dword [0x10190978]
test ecx, ecx
je 0x1007c560
call fcn.1001fe55
mov esi, eax
jmp 0x1007c562
xor esi, esi
push ebx
push edi
push 0x2800
call fcn.100db735
mov edi, eax
mov dword [esp], 0x5000
call fcn.100db735
push dword [ebp + 0xc]
mov ebx, eax
push dword [ebp + 8]
push str.menuItem
push str.FindChildByID2_Failed__no_window_of_class___s__with_id_of___d__was_found_within___d__levels
push 0xffffffffffffffff
push 0x2800
push ebx
call fcn.1003cc63
add esp, 0x20
xor eax, eax
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
push ebx
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp eax, 0x2800
jae 0x1007c5c7
xor ecx, ecx
push ecx
push ecx
push eax
push edi
push 0xffffffffffffffff
push ebx
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push ebx
call fcn.100db740
pop ecx
test esi, esi
je 0x1007c606
mov eax, dword [esi]
mov ecx, esi
push 3
push 0
call dword [eax + 0x2c]
test al, al
je 0x1007c606
push dword [ebp + 4]
mov eax, dword [esi]
mov ecx, esi
push str.SOUI::SWindow::FindChildByID2
push 0x1e9
push str.d:workspace_soui_souiincludecore_swnd.h
push edi
push str.soui
push 3
push 0
call dword [eax + 0x34]
jmp 0x1007c644
mov ebx, 0x2800
push ebx
call fcn.100db735
mov dword [esp], 0x1e9
mov esi, eax
push str.d:workspace_soui_souiincludecore_swnd.h
push str.SOUI::SWindow::FindChildByID2
push edi
push str._s__s__s:_d_n
push 0xffffffffffffffff
push ebx
push esi
call fcn.1003cc44
add esp, 0x20
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
call fcn.100db740
pop ecx
push edi
call fcn.100db740
pop ecx
pop edi
xor eax, eax
pop ebx
pop esi
pop ebp
ret 8
Function at 0x1008d283
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi + 8]
mov edi, eax
mov edx, eax
and edi, 7
je 0x1008d2b1
cmp eax, edi
jge 0x1008d2a5
push esi
call fcn.100897bf
mov eax, dword [esi + 8]
pop ecx
mov ecx, edi
shr dword [esi + 0xc], cl
sub eax, edi
mov dword [esi + 8], eax
mov edx, eax
xor ecx, ecx
test eax, eax
jle 0x1008d2d4
mov edi, dword [esi + 0xc]
mov al, byte [esi + 0xc]
sub edx, 8
mov byte [ebp + ecx + 8], al
inc ecx
shr edi, 8
mov dword [esi + 0xc], edi
test edx, edx
jg 0x1008d2ba
mov dword [esi + 8], edx
jmp 0x1008d2e9
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x1008d2df
xor dl, dl
jmp 0x1008d2e4
mov dl, byte [eax]
inc eax
mov dword [esi], eax
mov byte [ebp + ecx + 8], dl
inc ecx
cmp ecx, 4
jl 0x1008d2d4
mov eax, dword [ebp + 8]
movzx ecx, byte [ebp + 0xb]
movzx edi, ah
movzx eax, al
shl edi, 8
add edi, eax
shl ecx, 8
movzx eax, byte [ebp + 0xa]
add ecx, eax
mov eax, edi
xor eax, 0xffff
cmp ecx, eax
je 0x1008d322
mov dword [0x10190e08], str.zlib_corrupt
xor eax, eax
jmp 0x1008d364
mov eax, dword [esi]
add eax, edi
cmp eax, dword [esi + 4]
jbe 0x1008d337
mov dword [0x10190e08], str.read_past_buffer
jmp 0x1008d31e
mov eax, dword [esi + 0x10]
add eax, edi
cmp eax, dword [esi + 0x18]
jbe 0x1008d34e
push edi
push esi
call fcn.10091465
pop ecx
pop ecx
test eax, eax
je 0x1008d31e
push edi
push dword [esi]
push dword [esi + 0x10]
call fcn.100bb800
add dword [esi], edi
xor eax, eax
add dword [esi + 0x10], edi
add esp, 0xc
inc eax
pop edi
pop esi
pop ebp
ret
Function at 0x1009b939
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateThread]
pop ebp
ret

Function at 0x1009bcd8
Capabilities:
Allocate thread local storage

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
jne 0x1009bcf5
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jg 0x1009bcf9
jmp 0x1009bd01
mov esp, ebp
pop ebp
ret
movzx eax, ax
or eax, 0x80070000
push eax
lea ecx, [ebp - 0x10]
call fcn.1009c745
push 0x10181b9c
lea eax, [ebp - 0x10]
push eax
call fcn.100bfa8b
int3

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

Disassembly:
push 4
mov eax, 0x10135d0a
call fcn.1009830f
mov edi, ecx
mov dword [ebp - 0x10], edi
or dword [edi + 4], 0xfffffff
lea ecx, [edi + 0x3c]
xor ebx, ebx
mov dword [edi + 8], ebx
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], SysReAllocString
mov dword [edi + 0x18], ebx
mov dword [edi + 0x38], ebx
call fcn.1009a5ac
mov dword [ebp - 4], ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x64]
mov dword [edi + 0x64], eax
xor eax, eax
mov dword [edi + 0x6c], eax
mov dword [edi + 0x78], eax
mov dword [edi + 0x84], eax
mov dword [edi + 0x88], eax
test dword [0x10188814], 0x80000000
je 0x100a86cb
push dword [0x1019137c]
call fcn.1009bd27
pop ecx
test eax, eax
jne 0x100a86d0
call fcn.100a2fd9
mov dword [edi + 0xc], eax
mov eax, dword [eax + 0x34]
mov dword [edi], eax
mov eax, dword [ebx + 8]
mov dword [edi + 8], eax
test eax, eax
je 0x100a86eb
cmp eax, 2
je 0x100a86eb
lock inc dword [eax + 4]
mov ecx, edi
call fcn.100a9b32
lea ecx, [edi + 0x3c]
call fcn.1009b068
cmp byte [ebp + 0xc], 0
je 0x100a872c
mov edx, dword [edi + 0x64]
mov ecx, edi
add edx, 0x68
mov esi, dword [edx]
mov eax, esi
mov dword [edi + 0x68], esi
lock cmpxchg dword [edx], ecx
jmp 0x100a8726
mov dword [edi + 0x68], eax
mov esi, eax
mov ecx, dword [edi + 0x64]
mov edx, edi
add ecx, 0x68
lock cmpxchg dword [ecx], edx
cmp eax, esi
jne 0x100a8715
jmp 0x100a8734
or dword [edi + 0x78], 1
and dword [edi + 0x68], 0
call fcn.100a32fc
mov esi, eax
mov eax, dword [esi + 0x20]
test eax, eax
jne 0x100a874c
mov ecx, esi
call fcn.100a6b7d
mov eax, dword [esi + 0x20]
mov eax, dword [eax + 0x40]
and dword [edi + 4], 0xfffffff
mov dword [edi + 0x80], eax
mov eax, edi
call fcn.100982d8
ret 8

Function at 0x100b3e9e
Capabilities:
Allocate thread local storage

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x101913e8], eax
cmp eax, 0xffffffff
jne 0x100b3ec0
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jg 0x100b3ec4
jmp 0x100b3ecc
mov esp, ebp
pop ebp
ret
movzx eax, ax
or eax, 0x80070000
push eax
lea ecx, [ebp - 0x10]
call fcn.1009c745
push 0x10181b9c
lea eax, [ebp - 0x10]
push eax
call fcn.100bfa8b
int3
Function at 0x100c00c8
Capabilities:
Allocate thread local storage

Disassembly:
push ebp
mov ebp, esp
push esi
push 0x1014d38c
push 0x1014d384
push str.FlsAlloc
push 0
call fcn.100bff6d
mov esi, eax
add esp, 0x10
test esi, esi
je 0x100c00fa
push dword [ebp + 8]
mov ecx, esi
call fcn.10098d04
call esi
pop esi
pop ebp
ret
pop esi
pop ebp
jmp dword [sym.imp.KERNEL32.dll_TlsAlloc]

Function at 0x100c013c
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push esi
push 0x1014d39c
push 0x1014d394
push str.FlsGetValue
push 2
call fcn.100bff6d
add esp, 0x10
mov esi, eax
push dword [ebp + 8]
test esi, esi
je 0x100c016d
mov ecx, esi
call fcn.10098d04
call esi
jmp 0x100c0173
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
pop esi
pop ebp
ret

Function at 0x100c0176
Capabilities:
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push esi
push 0x1014d3a4
push 0x1014d39c
push str.FlsSetValue
push 3
call fcn.100bff6d
add esp, 0x10
mov esi, eax
push dword [ebp + 0xc]
push dword [ebp + 8]
test esi, esi
je 0x100c01aa
mov ecx, esi
call fcn.10098d04
call esi
jmp 0x100c01b0
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
pop esi
pop ebp
ret