joyce8/EMBER2024-capa huggingface dataset:
Function at 0x43f890
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x47a7b3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
call fcn.0046c4c7
lea edi, [esi + 0x64]
mov dword [esp + 0x18], 0
mov dword [edi + 4], 0
mov dword [edi], vtable.CBrush.0
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x3c], eax
mov eax, ebp
mov dword [esi], method.CEdit.virtual_0
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], 0
mov ecx, dword [eax]
lea edx, [esi + 0x48]
mov byte [esp + 0x18], 1
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x44]
push eax
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x60], eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
mov ecx, edi
call fcn.00471c39
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
push edx
push eax
push ebp
push 0x50800044
mov ecx, esi
call fcn.00473191
test eax, eax
je 0x43f9ac
mov ecx, dword [esp + 0x3c]
call fcn.00471c66
mov ecx, dword [esi + 0x1c]
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push eax
push 0x30
push ecx
mov dword [esi + 0x58], eax
call ebp
mov edi, dword [esp + 0x34]
test edi, edi
je 0x43f970
push edi
mov ecx, esi
call fcn.0046f22d
mov ecx, esi
call fcn.0043fb10
cmp dword [esp + 0x38], 1
jne 0x43f9a5
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov edx, dword [esi + 0x1c]
push 0xffffffffffffffff
not ecx
dec ecx
push ecx
push 0xb1
push edx
call ebp
mov eax, dword [esi + 0x1c]
push 0
push 0
push 0xb7
push eax
call ebp
mov ecx, esi
call fcn.0046f397
mov ecx, dword [esp + 0x10]
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x10
ret 0x28
Function at 0x4423e0
Capabilities:
Check for software breakpoints

Disassembly:
push esi
mov esi, dword [esp + 8]
cmp dword [esi + 0x10], 0xca
jne 0x442413
push esi
call fcn.004454d0
mov eax, dword [esi + 0x40]
add esp, 4
test eax, eax
je 0x44240c
mov dword [esi + 0x10], 0xcf
mov eax, 1
pop esi
ret
mov dword [esi + 0x10], 0xcb
mov eax, dword [esi + 0x10]
cmp eax, 0xcb
jne 0x442499
mov eax, dword [esi + 0x1b0]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x442482
mov eax, dword [esi + 8]
test eax, eax
je 0x442437
push esi
call dword [eax]
add esp, 4
mov ecx, dword [esi + 0x1b0]
push esi
call dword [ecx]
add esp, 4
test eax, eax
je 0x44247e
cmp eax, 2
je 0x442482
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x44242a
cmp eax, 3
je 0x44245d
cmp eax, 1
jne 0x44242a
mov eax, dword [ecx + 4]
inc eax
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
cmp edx, ecx
jl 0x44242a
mov edx, dword [esi + 0x13c]
add edx, ecx
mov dword [eax + 8], edx
jmp 0x44242a
xor eax, eax
pop esi
ret
mov eax, dword [esi + 0x90]
push esi
mov dword [esi + 0x98], eax
call fcn.004424c0
add esp, 4
pop esi
ret
cmp eax, 0xcc
je 0x4424a8
mov ecx, dword [esi]
push esi
call dword [ecx]
add esp, 4
push esi
call fcn.004424c0
add esp, 4
pop esi
ret

Function at 0x44e8e0
Capabilities:
Encrypt data using des

Disassembly:
sub esp, 0xf4
xor ecx, ecx
push ebx
push ebp
push esi
mov esi, dword [esp + 0x104]
push edi
xor eax, eax
mov al, byte [ecx + str.80_]
mov edx, eax
and eax, 7
sar edx, 3
mov bl, byte [eax*2 + 0x50c2c4]
mov dl, byte [edx + esi]
test bl, dl
setne al
mov byte [esp + ecx + 0x4c], al
inc ecx
cmp ecx, 0x38
jl 0x44e8f3
mov eax, 0x1e
xor edx, edx
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10c], 1
je 0x44e934
lea eax, [edx + edx]
lea edi, [esp + eax*4 + 0x88]
lea ebp, [esp + eax*4 + 0x84]
xor eax, eax
xor ecx, ecx
mov cl, byte [edx + 0x50c36c]
mov dword [edi], 0
mov dword [ebp], 0
mov esi, ecx
cmp ecx, 0x1c
jge 0x44e966
mov bl, byte [esp + ecx + 0x4c]
jmp 0x44e96a
mov bl, byte [esp + ecx + 0x30]
mov byte [esp + eax + 0x14], bl
inc eax
inc ecx
cmp eax, 0x1c
jl 0x44e95b
mov eax, 0x1c
lea ecx, [esi + 0x1c]
cmp ecx, 0x38
jge 0x44e988
mov bl, byte [esp + ecx + 0x4c]
jmp 0x44e98c
mov bl, byte [esp + ecx + 0x30]
mov byte [esp + eax + 0x14], bl
inc eax
inc ecx
cmp eax, 0x38
jl 0x44e97d
xor ecx, ecx
mov eax, 0x50c2d4
xor ebx, ebx
mov bl, byte [ecx + 0x50c37c]
cmp byte [esp + ebx + 0x14], 0
je 0x44e9b7
mov esi, dword [eax]
mov ebx, dword [ebp]
or ebx, esi
mov dword [ebp], ebx
xor ebx, ebx
mov bl, byte [ecx + 0x50c394]
cmp byte [esp + ebx + 0x14], 0
je 0x44e9ce
mov esi, dword [eax]
mov ebx, dword [edi]
or ebx, esi
mov dword [edi], ebx
add eax, 4
inc ecx
cmp eax, str.80_
jl 0x44e99e
mov eax, dword [esp + 0x10]
inc edx
sub eax, 2
cmp eax, 0xfffffffe
mov dword [esp + 0x10], eax
jg 0x44e927
lea edx, [esp + 0x84]
push edx
call fcn.0044ea10
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf4
ret
Function at 0x46d2bc
Capabilities:
Get graphical window text

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esi + 0x38]
test ecx, ecx
jne 0x46d2f4
push dword [esi + 0x1c]
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
lea ecx, [eax + 1]
push ecx
mov ecx, dword [esp + 0xc]
push eax
call fcn.0046b373
push eax
push dword [esi + 0x1c]
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov ecx, dword [esp + 8]
push 0xffffffffffffffff
call fcn.0046b34b
jmp 0x46d300
mov eax, dword [ecx]
push dword [esp + 8]
call dword [eax + 0x88]
pop esi
ret 4

Function at 0x46e9ae
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebx
push esi
push edi
xor edi, edi
cmp dword [esp + 0x10], edi
mov ebx, ecx
je 0x46e9f0
call fcn.00474698
mov esi, dword [eax + 0xc]
push pe_nt_image_headers32
push dword [esp + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
cmp eax, edi
je 0x46e9f0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
jne 0x46e9e7
xor eax, eax
jmp 0x46e9f8
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
push edi
mov ecx, ebx
call fcn.0046e9fe
pop edi
pop esi
pop ebx
ret 4

Function at 0x474bc8
Capabilities:
Get thread local storage value

Disassembly:
push ebx
push esi
mov esi, ecx
lea ebx, [esi + 0x1c]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [esp + 0x10], 0
jne 0x474bf6
push dword [esi]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x474c14
push dword [esp + 0xc]
mov ecx, esi
push eax
call fcn.00474b2e
jmp 0x474c14
mov eax, dword [esi + 0x14]
test eax, eax
je 0x474c14
push edi
push dword [esp + 0x10]
mov edi, dword [eax + 4]
mov ecx, esi
push eax
call fcn.00474b2e
test edi, edi
mov eax, edi
jne 0x474bfe
pop edi
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop esi
pop ebx
ret 8

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx
Function at 0x58806c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 0x10], 8
mov ecx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
not esi
mov edx, 0xff
jb 0x588146
mov eax, dword [ebp + 0x10]
push ebx
shr eax, 3
push edi
xor ebx, ebx
mov bl, byte [ecx]
mov edi, esi
shr edi, 8
sub dword [ebp + 0x10], 8
xor ebx, esi
and ebx, edx
mov esi, dword [ebx*4 + 0x68cd1eb8]
xor ebx, ebx
xor esi, edi
inc ecx
mov bl, byte [ecx]
xor ebx, esi
and ebx, edx
mov edi, dword [ebx*4 + 0x68cd1eb8]
xor ebx, ebx
shr esi, 8
xor edi, esi
inc ecx
mov bl, byte [ecx]
xor ebx, edi
and ebx, edx
mov esi, dword [ebx*4 + 0x68cd1eb8]
xor ebx, ebx
shr edi, 8
xor esi, edi
inc ecx
mov bl, byte [ecx]
xor ebx, esi
and ebx, edx
mov edi, dword [ebx*4 + 0x68cd1eb8]
xor ebx, ebx
shr esi, 8
xor edi, esi
inc ecx
mov bl, byte [ecx]
xor ebx, edi
and ebx, edx
mov esi, dword [ebx*4 + 0x68cd1eb8]
xor ebx, ebx
shr edi, 8
xor esi, edi
inc ecx
mov bl, byte [ecx]
xor ebx, esi
and ebx, edx
mov edi, dword [ebx*4 + 0x68cd1eb8]
shr esi, 8
xor edi, esi
xor ebx, ebx
inc ecx
mov bl, byte [ecx]
xor ebx, edi
and ebx, edx
mov esi, dword [ebx*4 + 0x68cd1eb8]
shr edi, 8
xor esi, edi
xor ebx, ebx
inc ecx
mov bl, byte [ecx]
xor ebx, esi
and ebx, edx
mov edi, dword [ebx*4 + 0x68cd1eb8]
shr esi, 8
xor esi, edi
inc ecx
dec eax
jne 0x58808f
pop edi
pop ebx
cmp dword [ebp + 0x10], 0
je 0x588166
xor eax, eax
mov al, byte [ecx]
xor eax, esi
and eax, edx
mov eax, dword [eax*4 + 0x68cd1eb8]
shr esi, 8
xor esi, eax
inc ecx
dec dword [ebp + 0x10]
jne 0x58814c
mov eax, esi
not eax
pop esi
pop ebp
ret 0xc

Function at 0x58816f
Capabilities:
Encode data using xor

Disassembly:
mov ecx, dword [esp + 0x10]
push esi
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x58]
add dword [esi + 0x5c], ecx
test ecx, ecx
not eax
jbe 0x5881b3
push ebx
push edi
mov edi, dword [esp + 0x14]
mov edx, ecx
mov ecx, dword [esp + 0x18]
mov bl, byte [ecx]
mov byte [edi], bl
xor ebx, ebx
mov bl, byte [ecx]
inc edi
xor ebx, eax
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x68cd1eb8]
shr eax, 8
xor eax, ebx
inc ecx
dec edx
jne 0x588190
pop edi
pop ebx
not eax
mov dword [esi + 0x58], eax
pop esi
ret 0x10
Function at 0x68bcfd
Capabilities:
Encode data using xor

Disassembly:
jmp 0x68bd70
push word [esp + 2]
lea esp, [esp + 2]
lea esp, [esp + 4]
jmp 0x66b7d8

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

Disassembly:
jmp 0x6a54ef
mov ecx, dword [ebp + 8]
lea eax, [eax + eax]
lea eax, [edx + edx]
inc dx
mov dh, byte [esp]
jmp 0x6a5559
lea esp, [esp + 4]
and dword [ebp - 0xc], 0
jmp 0x6a55a9
mov eax, dword [esi]
pop esi
xchg dl, dh
and dl, ch
jmp 0x6a5527
push esi
mov esi, ecx
add esi, 0x3c
jmp 0x6a553d
add eax, ecx
mov dx, 0xb390
mov edx, 0x10b
call fcn.006a5577
xor si, bp
mov esi, dword [eax + 0x78]
sub esp, 0x10
clc
mov word [esp], sp
jmp 0x6a55fe
mov dword [ebp - 0x18], eax
pushal
mov byte [esp + 9], bl
jmp 0x6a55e8
lea esp, [esp + 0x30]
je 0x6a5357
jne 0x6a5f0e
aas
push es
mov cl, 0xb0
mov bl, 0xaa
add esi, ecx
mov eax, dword [eax + 0x7c]
push bp
lea esp, [esp + 2]
jmp 0x6a55c9
pop dword [esp]
mov byte [esp], bl
lea esp, [esp + 0x18]
jne 0x6a5332
je 0x6a5357
mov ah, ch
lea eax, [ebp + ebp]
mov eax, dword [esi + 0x1c]
call fcn.006a56c5
add al, 0x86
adc al, 0x73
invalid
mov eax, dword [esi + 0x20]
test eax, eax
pushal
pop dword [esp + 0xa]
jmp 0x6a5682

Function at 0x7b6bff
Capabilities:
Packed with generic packer
Parse pe header

Disassembly:
call 0x7b51e5
jmp 0x7b6cb7
pushal
mov word [esp + 6], bx
push dword [esp + 0x10]
jmp 0x7b6c1d
mov dword [esp + 0xc], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ebx
push ebp
mov byte [esp + 2], ch
mov dword [esp + 0x20], esp
call fcn.007b6c5a
xchg dword [esi], ebp
cmp dword [esi + 0x54], esp
mov dword [esp], eax
call fcn.007b6c15
pop word [esp]
mov byte [esp], al
lea esp, [esp + 2]
mov dword [esp + 0x1c], ebp
pushfd
jmp 0x7b6c72
lea esp, [esp]
mov dword [esp + 4], ecx
mov dword [esp + 0x34], edi
lea esp, [esp + 0x34]
jmp 0x7b6cab
mov dword [esp], edi
pop word [esp]
mov word [esp], si
lea esp, [esp + 2]
mov dword [esp + 0x18], esi
pushal
jmp 0x7b6c5c
mov edi, eax
jmp 0x7b6cef
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
push edi
jmp 0x7b6c95
pop eax
jmp 0x7b6cd6
mov eax, dword [eax + 8]
push eax
jmp 0x7b51e0
xor ax, ax
lea edi, [edi + 0x1c]
mov eax, dword [edi]
pop edi
mov eax, dword [eax]
jmp 0x7b6ccd
Function at 0x10001000
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1008
call fcn.10018c50
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
sub dword [ebp + 0xc], 1
jne 0x100010ed
push str.GamePlaza.exe
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x100010e8
push ebx
push esi
mov esi, dword [sym.imp.USER32.dll_FindWindowExA]
push edi
push 0x10020e58
push str.jjhgame
push 0
push 0
call esi
mov edi, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [0x10024edc], eax
nop
lea ecx, [ebp - 0x1008]
push ecx
push eax
call edi
call ebx
cmp dword [ebp - 0x1008], eax
je 0x10001093
push 0x10020e58
push str.jjhgame
push dword [0x10024edc]
push 0
call esi
mov dword [0x10024edc], eax
test eax, eax
jne 0x10001060
jmp 0x1000109c
mov eax, dword [0x10024edc]
test eax, eax
jne 0x100010d2
push 0x1000
lea eax, [ebp - 0x1004]
push 0
push eax
call fcn.100082f0
lea eax, [ebp - 0x1004]
push 0x10020e6c
push eax
call fcn.10002d50
add esp, 0x14
lea eax, [ebp - 0x1004]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x100010e5
push 0x10003180
push 0xfffffffffffffffc
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [0x10024ed8], eax
pop edi
pop esi
pop ebx
call fcn.10002130
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
call fcn.1000336a
mov esp, ebp
pop ebp
ret 0xc
Function at 0x10002760
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1004
call fcn.10018c50
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x1000
lea eax, [ebp - 0x1004]
push 0
push eax
call fcn.100082f0
push dword [0x100246ac]
lea eax, [ebp - 0x1004]
push str.PlazaController__x
push eax
call fcn.10002d50
add esp, 0x18
lea eax, [ebp - 0x1004]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x100246ac]
test eax, eax
jle 0x1000285a
mov ecx, dword [eax + 0x70]
test ecx, ecx
je 0x100027ed
push 0
push ecx
call dword [0x1002469c]
add esp, 8
test al, al
je 0x100027e8
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000336a
mov esp, ebp
pop ebp
ret
mov eax, dword [0x100246ac]
test eax, eax
jle 0x1000285a
mov ecx, dword [eax + 0x64]
test ecx, ecx
je 0x1000285a
mov eax, dword [0x10024694]
test eax, eax
je 0x1000285a
push 0
push ecx
call eax
add esp, 8
test al, al
je 0x1000285a
push 0x1000
lea eax, [ebp - 0x1004]
push 0
push eax
call fcn.100082f0
push dword [0x100246a8]
lea eax, [ebp - 0x1004]
push str.PlazaControllerClickRoom__x
push eax
call fcn.10002d50
add esp, 0x18
lea eax, [ebp - 0x1004]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0
push 2
push dword [0x100246ac]
call dword [0x100246a8]
add esp, 0xc
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
call fcn.1000336a
mov esp, ebp
pop ebp
ret
Function at 0x10002870
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x107c
call fcn.10018c50
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x107c], ecx
call fcn.10002760
test eax, eax
je 0x100029cb
push 0x1000
lea eax, [ebp - 0x1068]
push 0
push eax
call fcn.100082f0
push dword [0x100246ac]
lea eax, [ebp - 0x1068]
push str.PlazaController__x
push eax
call fcn.10002d50
add esp, 0x18
lea eax, [ebp - 0x1068]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x100246ac]
test eax, eax
jle 0x100029cb
mov eax, dword [eax + 0x70]
test eax, eax
je 0x100029cb
jle 0x10002904
mov ebx, dword [eax + 0xc]
test ebx, ebx
jle 0x10002904
mov ebx, dword [ebx + 0x1c]
test ebx, ebx
jle 0x10002906
mov eax, dword [ebx + 0xc]
jmp 0x10002908
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x1078], eax
mov dword [ebp - 0x1070], 0
test eax, eax
jle 0x100029cb
mov ecx, 0x10
mov dword [ebp - 0x1074], ecx
nop dword [eax + eax]
test ebx, ebx
jle 0x1000295d
mov eax, dword [ebx + 8]
test eax, eax
jle 0x1000295d
mov eax, dword [ecx + eax]
mov esi, eax
test eax, eax
jle 0x1000295f
mov edi, dword [eax + 0x14]
test edi, edi
jle 0x1000295f
mov edi, dword [edi + 0x74]
test edi, edi
jle 0x10002961
mov ecx, dword [edi + 8]
mov dword [ebp - 0x106c], ecx
jmp 0x1000296b
xor esi, esi
xor edi, edi
mov dword [ebp - 0x106c], 0
push 0x64
lea eax, [ebp - 0x68]
push 0
push eax
call fcn.100082f0
push dword [ebp - 0x106c]
lea eax, [edi + 0xc]
push eax
lea eax, [ebp - 0x68]
push 0x32
push eax
call fcn.1000a944
lea eax, [ebp - 0x68]
push eax
call fcn.1000a608
mov edi, dword [ebp - 0x107c]
add esp, 0x20
cmp eax, edi
je 0x100029de
mov eax, dword [ebp - 0x1070]
mov ecx, dword [ebp - 0x1074]
inc eax
add ecx, 4
mov dword [ebp - 0x1070], eax
mov dword [ebp - 0x1074], ecx
cmp eax, dword [ebp - 0x1078]
jl 0x10002930
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000336a
mov esp, ebp
pop ebp
ret
test esi, esi
jle 0x100029cb
mov eax, dword [esi + 0x38]
test eax, eax
jle 0x100029cb
mov eax, dword [eax + 0x74]
test eax, eax
jle 0x100029cb
cmp dword [eax + 8], 0
je 0x100029cb
push 3
add eax, 0xc
push 0x10020d9c
push eax
call fcn.1000a757
add esp, 0xc
test eax, eax
jne 0x100029cb
push 0x1000
push eax
lea eax, [ebp - 0x1068]
push eax
call fcn.100082f0
push esi
push edi
lea eax, [ebp - 0x1068]
push 0x10020da4
push eax
call fcn.10002d50
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea eax, [ebp - 0x1068]
add esp, 0x1c
push eax
call edi
mov ecx, dword [0x10024674]
test ecx, ecx
je 0x100029cb
mov eax, dword [0x10024678]
test eax, eax
je 0x100029cb
jg 0x10002a65
xor eax, eax
jmp 0x10002a67
mov eax, dword [eax]
push eax
push esi
push dword [esi + 0x54]
call ecx
push 0x1000
lea eax, [ebp - 0x1068]
mov dword [0x100246ac], 0
push 0
push eax
call fcn.100082f0
lea eax, [ebp - 0x1068]
push str.Clear_PlazaController
push eax
call fcn.10002d50
add esp, 0x20
lea eax, [ebp - 0x1068]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1000336a
mov esp, ebp
pop ebp
ret
Function at 0x10002ac0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1014
call fcn.10018c50
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x10024688]
push ebx
push esi
push edi
test eax, eax
jle 0x10002afb
mov eax, dword [eax]
test eax, eax
jle 0x10002afb
mov esi, dword [eax + 0x5c]
test esi, esi
jle 0x10002afb
mov esi, dword [esi]
test esi, esi
jle 0x10002afb
mov esi, dword [esi + 0x3c]
jmp 0x10002afd
xor esi, esi
push 0x1000
lea eax, [ebp - 0x1008]
push 0
push eax
call fcn.100082f0
push esi
lea eax, [ebp - 0x1008]
push str.GameState__d
push eax
call fcn.10002d50
add esp, 0x18
lea eax, [ebp - 0x1008]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp esi, 1
jne 0x10002bad
mov eax, dword [0x10024688]
test eax, eax
jle 0x10002b68
mov eax, dword [eax]
test eax, eax
jle 0x10002b68
mov eax, dword [eax + 0x5c]
test eax, eax
jle 0x10002b68
mov edx, dword [eax]
test edx, edx
jle 0x10002b68
mov edx, dword [edx + 0x48]
mov ecx, edx
test edx, edx
jle 0x10002b6a
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x10002b6a
mov eax, dword [eax + 0xc]
jmp 0x10002b70
xor ecx, ecx
xor eax, eax
test ecx, ecx
jle 0x10002b7c
mov ebx, dword [ecx + 0x14]
test ebx, ebx
jle 0x10002b7c
mov ebx, dword [ebx + 0x18]
jmp 0x10002b7e
xor ebx, ebx
xor ecx, ecx
lea edx, [ebx + 0x10]
test ebx, ebx
jle 0x10002b9c
mov esi, dword [edx]
test esi, esi
jle 0x10002b9c
mov esi, dword [esi + 0x18]
test esi, esi
jle 0x10002b9c
mov edi, dword [esi + 0xc]
mov esi, dword [esi + 0x20]
jmp 0x10002ba0
xor edi, edi
xor esi, esi
cmp edi, eax
jne 0x10002bd5
inc ecx
add edx, 4
cmp ecx, 2
jl 0x10002b83
xorps xmm0, xmm0
movlpd qword [ebp - 0x1010], xmm0
mov eax, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x100c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000336a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
mov edx, esi
xor ecx, ebp
pop esi
pop ebx
call fcn.1000336a
mov esp, ebp
pop ebp
ret
Function at 0x10002bf0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1004
call fcn.10018c50
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x10024688]
push esi
test eax, eax
jle 0x10002c29
mov eax, dword [eax]
test eax, eax
jle 0x10002c29
mov esi, dword [eax + 0x5c]
test esi, esi
jle 0x10002c29
mov esi, dword [esi]
test esi, esi
jle 0x10002c29
mov esi, dword [esi + 0x3c]
jmp 0x10002c2b
xor esi, esi
push 0x1000
lea eax, [ebp - 0x1004]
push 0
push eax
call fcn.100082f0
push esi
lea eax, [ebp - 0x1004]
push str.GameState__d
push eax
call fcn.10002d50
add esp, 0x18
lea eax, [ebp - 0x1004]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp esi, 1
jne 0x10002cca
mov eax, dword [0x10024688]
test eax, eax
jle 0x10002cca
mov eax, dword [eax]
test eax, eax
jle 0x10002cca
mov eax, dword [eax + 0x5c]
test eax, eax
jle 0x10002cca
mov esi, dword [eax]
test esi, esi
je 0x10002cca
cmp dword [0x1002467c], 0
je 0x10002cca
push 0x1000
lea eax, [ebp - 0x1004]
push 0
push eax
call fcn.100082f0
lea eax, [ebp - 0x1004]
push str.GameMatchExit
push eax
call fcn.10002d50
add esp, 0x14
lea eax, [ebp - 0x1004]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0
push esi
call dword [0x1002467c]
add esp, 8
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
pop esi
call fcn.1000336a
mov esp, ebp
pop ebp
ret

Function at 0x10002cf0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1004
call fcn.10018c50
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0x1000
lea eax, [ebp - 0x1004]
mov esi, ecx
push 0
push eax
call fcn.100082f0
lea eax, [ebp - 0x1004]
push esi
push eax
call fcn.10002d50
add esp, 0x14
lea eax, [ebp - 0x1004]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.1000336a
mov esp, ebp
pop ebp
ret
Function at 0x100031f0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x10021828
push 0x10007be0
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [section..data]
xor dword [ebp - 8], eax
xor eax, ebp
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov eax, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 0
mov dword [eax], 0
test ecx, ecx
je 0x10003356
lea esi, [ecx + 0x1000]
mov dword [ebp - 0x20], esi
mov eax, 0x5a4d
cmp word [ecx], ax
je 0x10003254
xor eax, eax
jmp 0x10003268
mov eax, dword [ecx + 0x3c]
cmp dword [eax + ecx], 0x4550
je 0x10003264
xor eax, eax
jmp 0x10003268
mov eax, dword [eax + ecx + 0x50]
add eax, esi
mov dword [ebp - 0x34], eax
mov edi, dword [ebp + 8]
mov dword [ebp - 0x30], edi
mov ebx, dword [ebp + 0xc]
nop word [eax + eax]
lea ecx, [esi + ebx]
cmp ecx, eax
jae 0x10003356
mov dword [ebp - 4], 0
mov al, byte [edi]
cmp byte [esi], al
je 0x1000329c
cmp al, 0x3f
jne 0x10003319
mov al, byte [edi + ebx - 1]
cmp byte [ecx - 1], al
je 0x100032a9
cmp al, 0x3f
jne 0x10003319
xor dl, dl
mov byte [ebp - 0x19], dl
mov eax, 1
mov dword [ebp - 0x28], eax
lea ecx, [ebx - 1]
cmp eax, ecx
jae 0x100032da
mov cl, byte [eax + edi]
cmp byte [eax + esi], cl
je 0x100032ce
cmp cl, 0x3f
je 0x100032ce
xor dl, dl
jmp 0x100032d0
mov dl, 1
mov byte [ebp - 0x19], dl
test dl, dl
je 0x10003319
inc eax
jmp 0x100032b3
test dl, dl
je 0x10003319
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x10003315
push dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov ecx, esi
call fcn.100031a0
add esp, 4
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov dword [ebp - 4], 0xfffffffe
mov al, 1
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
dec edx
mov dword [ebp - 0x24], edx
inc esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x34]
jmp 0x10003280
xor al, al
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret