joyce8/EMBER2024-capa huggingface dataset:
Function at 0x43d77b
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push edx
call 0x43d702
add byte [esi], bh
xor eax, 0x413b3435
dec edi
dec ebx
cmp al, 0x45
add esp, 4
pop edx
push ecx
push esi
add esp, 4
jmp 0x43d710
add ecx, 0xbcd3
or ecx, 0x3483
and ecx, 0x119e5
pop ecx
lea ecx, [ebp - 0xc50]
mov dword [ebp - 0x6f4], ecx
mov edx, dword [ebp - 0x244]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x6f0], eax
xor ecx, ecx
mov word [ebp - 0x128], cx
xor edx, edx
mov word [ebp - 0x3c], dx
push ecx
and ecx, 0x27ed
jmp 0x43d75a
add ecx, 0x179a0
pop ecx
push ecx
xor ecx, 0xcc61
jmp 0x43d76f
call 0x43d77b
add byte [eax + 0x3d], cl
inc edx
dec esi
dec eax
cmp dword [ebx - 0x74a6fb3c], eax
test dword [eax], edx
stc
invalid
cmp edx, eax
je 0x43d74d
movzx ecx, word [ebp - 0x128]
xor ecx, 0x20
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x43d74d
movzx eax, word [ebp - 0x128]
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
jge 0x43d869
mov dword [ebp - 0xbf8], 0xffffffff
jmp 0x43d873
mov dword [ebp - 0xbf8], 1
mov edx, dword [ebp - 0xbf8]
mov dword [ebp - 0xbfc], edx
cmp dword [ebp - 0xbfc], 0
jne 0x43d8c8
push edi
add edi, 0x1473b
add edi, 0xd4f4
sub edi, 0xc59a
pop edi
push ecx
push ecx
add esp, 4
and ecx, 0x44e8
add ecx, 0x558f
and ecx, 0x102b0
xor ecx, 0x10a45
pop ecx
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x18c], eax
jmp 0x43d930
push ebx
push edx
add esp, 4
sub ebx, 0xc02d
pop ebx
push edx
push eax
add esp, 4
xor edx, 0x176b6
pop edx
push edx
push ebx
add esp, 4
xor edx, 0x139f7
pop edx
push esi
sub esi, 0xc17c
sub esi, 0x2da0
pop esi
mov ecx, dword [ebp - 0x244]
mov edx, dword [ecx]
mov dword [ebp - 0x244], edx
mov eax, dword [ebp - 0x244]
cmp eax, dword [ebp - 0x6f8]
je 0x43d926
mov ecx, dword [ebp - 0x244]
cmp dword [ecx + 0x30], 0
jne 0x43d6f1
mov dword [ebp - 0x18c], 0
push edi
push edx
add esp, 4
add edi, 0xf1c5
pop edi
push ecx
push edx
add esp, 4
call 0x43d94d
add byte [eax + edx*2], bh
xor eax, dword [ebx + 0x3f]
inc ebx
add esp, 4
pop ecx
push edi
jmp 0x43d959
pop edi
push eax
and eax, 0x13202
pop eax
mov edx, dword [ebp - 0x18c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x1c0], eax
push edi
push edx
add esp, 4
xor edi, 0xdfc1
or edi, 0x8f76
pop edi
push eax
push edi
add esp, 4
sub eax, 0x817d
or eax, 0x3c2e
or eax, 0x1f9b
pop eax
push edi
or edi, 0x3e35
pop edi
mov dword [ebp - 0x410], 0
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0xc00], ecx
cmp dword [ebp - 0xc00], 0
Function at 0x43d94d
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push edx
call 0x43d702
add byte [esi], bh
xor eax, 0x413b3435
dec edi
dec ebx
cmp al, 0x45
add esp, 4
pop edx
push ecx
push esi
add esp, 4
jmp 0x43d710
add ecx, 0xbcd3
or ecx, 0x3483
and ecx, 0x119e5
pop ecx
lea ecx, [ebp - 0xc50]
mov dword [ebp - 0x6f4], ecx
mov edx, dword [ebp - 0x244]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x6f0], eax
xor ecx, ecx
mov word [ebp - 0x128], cx
xor edx, edx
mov word [ebp - 0x3c], dx
push ecx
and ecx, 0x27ed
jmp 0x43d75a
add ecx, 0x179a0
pop ecx
push ecx
xor ecx, 0xcc61
jmp 0x43d76f
call 0x43d77b
add byte [eax + 0x3d], cl
inc edx
dec esi
dec eax
cmp dword [ebx - 0x74a6fb3c], eax
test dword [eax], edx
stc
invalid
cmp edx, eax
je 0x43d74d
movzx ecx, word [ebp - 0x128]
xor ecx, 0x20
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x43d74d
movzx eax, word [ebp - 0x128]
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
jge 0x43d869
mov dword [ebp - 0xbf8], 0xffffffff
jmp 0x43d873
mov dword [ebp - 0xbf8], 1
mov edx, dword [ebp - 0xbf8]
mov dword [ebp - 0xbfc], edx
cmp dword [ebp - 0xbfc], 0
jne 0x43d8c8
push edi
add edi, 0x1473b
add edi, 0xd4f4
sub edi, 0xc59a
pop edi
push ecx
push ecx
add esp, 4
and ecx, 0x44e8
add ecx, 0x558f
and ecx, 0x102b0
xor ecx, 0x10a45
pop ecx
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x18c], eax
jmp 0x43d930
push ebx
push edx
add esp, 4
sub ebx, 0xc02d
pop ebx
push edx
push eax
add esp, 4
xor edx, 0x176b6
pop edx
push edx
push ebx
add esp, 4
xor edx, 0x139f7
pop edx
push esi
sub esi, 0xc17c
sub esi, 0x2da0
pop esi
mov ecx, dword [ebp - 0x244]
mov edx, dword [ecx]
mov dword [ebp - 0x244], edx
mov eax, dword [ebp - 0x244]
cmp eax, dword [ebp - 0x6f8]
je 0x43d926
mov ecx, dword [ebp - 0x244]
cmp dword [ecx + 0x30], 0
jne 0x43d6f1
mov dword [ebp - 0x18c], 0
push edi
push edx
add esp, 4
add edi, 0xf1c5
pop edi
push ecx
push edx
add esp, 4
call 0x43d94d
add byte [eax + edx*2], bh
xor eax, dword [ebx + 0x3f]
inc ebx
add esp, 4
pop ecx
push edi
jmp 0x43d959
pop edi
push eax
and eax, 0x13202
pop eax
mov edx, dword [ebp - 0x18c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x1c0], eax
push edi
push edx
add esp, 4
xor edi, 0xdfc1
or edi, 0x8f76
pop edi
push eax
push edi
add esp, 4
sub eax, 0x817d
or eax, 0x3c2e
or eax, 0x1f9b
pop eax
push edi
or edi, 0x3e35
pop edi
mov dword [ebp - 0x410], 0
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0xc00], ecx
cmp dword [ebp - 0xc00], 0
Function at 0x43d9c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
jne 0x43d9d3
mov edx, dword [ebp - 0x410]
mov dword [ebp - 0x2ec], edx
jmp 0x43dcc4
mov eax, dword [ebp - 0xc00]
mov ecx, dword [ebp - 0x1c0]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0xc04], ecx
jne 0x43d9fb
mov edx, dword [ebp - 0x410]
mov dword [ebp - 0x2ec], edx
jmp 0x43dcc4
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0xc04]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0xc08], eax
cmp dword [ebp - 0xc08], 0
jne 0x43da2d
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0x2ec], ecx
jmp 0x43dcc4
mov edx, dword [ebp - 0x1c0]
add edx, dword [ebp - 0xc08]
mov dword [ebp - 0x404], edx
jne 0x43da52
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x2ec], eax
jmp 0x43dcc4
mov ecx, dword [ebp - 0x404]
mov edx, dword [ebp - 0x1c0]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0xe98], edx
mov eax, dword [ebp - 0x404]
mov ecx, dword [ebp - 0x1c0]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0xe9c], ecx
mov edx, dword [ebp - 0x404]
mov eax, dword [ebp - 0x1c0]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0xea0], eax
mov dword [ebp - 0x408], 0
jmp 0x43daac
mov ecx, dword [ebp - 0x408]
add ecx, 1
mov dword [ebp - 0x408], ecx
mov edx, dword [ebp - 0x404]
mov eax, dword [ebp - 0x408]
cmp eax, dword [edx + 0x18]
jae 0x43dcb8
mov ecx, dword [ebp - 0x408]
mov edx, dword [ebp - 0xe98]
mov eax, dword [ebp - 0x1c0]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0x408]
mov edx, dword [ebp - 0xe9c]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0xea0]
mov edx, dword [ebp - 0x1c0]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0xea4], edx
mov dword [ebp - 0xc0], 0
jmp 0x43db1c
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
invalid
invalid
hlt
sti

Function at 0x443300
Capabilities:
Execute syscall

Disassembly:
inc ecx
xchg dh, ch
pushal
xor dword [0x7cee8605], eax
stosb byte es:[edi], al
add eax, 0x35f68605
inc edi
add eax, 0x5c575e05
mov cl, cl
or dword [esi + 0x5f113c7], eax
add eax, 0xf9c2885f
cli
add al, 4
add eax, 0x8acc147a
add eax, dword gs:[esp + eax]
add eax, 0xee050505
lodsb al, byte [esi]
pop es
add eax, 0xf99a9005
cli
add al, 4
nop
inc edi
adc dword [eax - 0x6d71eeb3], edx
dec ecx
std
add al, 4
push edi
pop ebx
mov cl, cl
or dword [esi + 0x5f363e7], eax
add eax, 0x885b585f
leave
or dword [esi + 0x65fe0c8], eax
add eax, 0x4b390bf0
dec edi
inc eax
inc ebx
push eax
in eax, dx
syscall
add eax, 0x414d0505
cmp al, 0x53
push ebp
aaa
inc esp
push ebp
mov cl, cl
or dword [eax - 0x78], esp
ret 0xfd49
Function at 0x44e650
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5056bb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb8
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], esi
call fcn.00473290
push 0
lea edi, [esi + 0x30]
push 0
mov ecx, edi
mov dword [ebp - 4], 0
mov dword [esi], 0x51c9f8
call fcn.004732e0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push eax
push ecx
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.004731f0
mov ebx, dword [ebp + 0x10]
mov eax, dword [0x6c24b0]
mov edx, ebx
shl edx, 4
mov ecx, dword [eax + edx + 0xc]
add eax, edx
mov edx, dword [eax + 8]
push ecx
push edx
mov ecx, esi
call fcn.00478cd0
mov eax, dword [ebp + 0x14]
push eax
push ebx
mov ecx, esi
call fcn.00444490
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x20]
mov dword [edi], ecx
mov cl, byte [ebp + 0x24]
mov dword [edi + 4], edx
mov dword [esi + 0x3c], eax
mov byte [esi + 0x2e], cl
mov ecx, dword [ebp - 0xc]
pop edi
mov byte [esi + 0x2c], 0
mov byte [esi + 0x2d], 0
mov dword [esi + 0x38], 0
mov byte [esi + 0x40], 1
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x20

Function at 0x452620
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x505f28
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, dword [esp + 0x18]
push ebx
push esi
mov esi, ecx
mov ecx, dword [esp + 0x1c]
push edi
push eax
mov eax, dword [ecx]
sub esp, 0x14
mov edx, esp
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], ecx
mov ecx, esi
mov dword [esp + 0x24], esi
call fcn.0044dbf0
push 0
lea edi, [esi + 0x4c]
push 0
mov ecx, edi
mov dword [esp + 0x20], 0
mov dword [esi], 0x51d110
call fcn.004732e0
push 0
lea ebx, [esi + 0x54]
push 0
mov ecx, ebx
call fcn.004732e0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [edi], edx
mov edx, dword [esp + 0x34]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ecx, dword [esp + 0x10]
pop edi
mov eax, esi
mov dword [ebx + 4], edx
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x10
ret 0x18
Function at 0x45263b
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x505f28
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, dword [esp + 0x18]
push ebx
push esi
mov esi, ecx
mov ecx, dword [esp + 0x1c]
push edi
push eax
mov eax, dword [ecx]
sub esp, 0x14
mov edx, esp
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], ecx
mov ecx, esi
mov dword [esp + 0x24], esi
call fcn.0044dbf0
push 0
lea edi, [esi + 0x4c]
push 0
mov ecx, edi
mov dword [esp + 0x20], 0
mov dword [esi], 0x51d110
call fcn.004732e0
push 0
lea ebx, [esi + 0x54]
push 0
mov ecx, ebx
call fcn.004732e0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [edi], edx
mov edx, dword [esp + 0x34]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ecx, dword [esp + 0x10]
pop edi
mov eax, esi
mov dword [ebx + 4], edx
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x10
ret 0x18

Function at 0x4526d0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x505f28
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, dword [esp + 0x18]
push ebx
push esi
mov esi, ecx
mov ecx, dword [esp + 0x1c]
push edi
push eax
mov eax, dword [ecx]
sub esp, 0x14
mov edx, esp
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], ecx
mov ecx, esi
mov dword [esp + 0x24], esi
call fcn.0044dbf0
push 0
lea edi, [esi + 0x4c]
push 0
mov ecx, edi
mov dword [esp + 0x20], 0
mov dword [esi], 0x51d198
call fcn.004732e0
push 0
lea ebx, [esi + 0x54]
push 0
mov ecx, ebx
call fcn.004732e0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [edi], edx
mov edx, dword [esp + 0x34]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ecx, dword [esp + 0x10]
pop edi
mov eax, esi
mov dword [ebx + 4], edx
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x10
ret 0x18
Function at 0x4526eb
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x505f28
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, dword [esp + 0x18]
push ebx
push esi
mov esi, ecx
mov ecx, dword [esp + 0x1c]
push edi
push eax
mov eax, dword [ecx]
sub esp, 0x14
mov edx, esp
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], ecx
mov ecx, esi
mov dword [esp + 0x24], esi
call fcn.0044dbf0
push 0
lea edi, [esi + 0x4c]
push 0
mov ecx, edi
mov dword [esp + 0x20], 0
mov dword [esi], 0x51d198
call fcn.004732e0
push 0
lea ebx, [esi + 0x54]
push 0
mov ecx, ebx
call fcn.004732e0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [edi], edx
mov edx, dword [esp + 0x34]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ecx, dword [esp + 0x10]
pop edi
mov eax, esi
mov dword [ebx + 4], edx
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x10
ret 0x18
Function at 0x459e30
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x506f51
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1b4
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], esi
call fcn.00473210
mov dword [esi], 0x51df30
mov eax, dword [0x574018]
mov ecx, dword [0x574014]
push eax
xor ebx, ebx
push ecx
mov dword [ebp - 4], ebx
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.00478cd0
mov edx, dword [ebp + 0xc]
mov dword [esi + 0x38], edx
call fcn.004ca370
mov edi, dword [ebp + 8]
push 0xffffffffffffffff
push str.tibia.pic
push edi
mov dword [esi + 0x34], eax
mov byte [esi + 0x40], bl
mov dword [esi + 0x3c], ebx
call fcn.004d3fb0
add esp, 0xc
cmp eax, ebx
jne 0x459eb4
mov edi, dword [str.Downloading_new_pictures]
jmp 0x459f07
push 0xffffffffffffffff
push str.tibia.dat
push edi
call fcn.004d3fb0
add esp, 0xc
cmp eax, ebx
jne 0x459ed0
mov edi, dword [str.Downloading_new_object_data]
jmp 0x459f07
push 0xffffffffffffffff
push str.tibia.spr
push edi
call fcn.004d3fb0
add esp, 0xc
cmp eax, ebx
jne 0x459eec
mov edi, dword [str.Downloading_new_object_graphics]
jmp 0x459f07
push edi
lea eax, [ebp - 0x1c0]
push str.Downloading__s
push eax
call fcn.004dc5db
add esp, 0xc
lea edi, [ebp - 0x1c0]
push 0x4c
call fcn.004ee057
mov ecx, eax
add esp, 4
mov dword [ebp + 0xc], ecx
cmp ecx, ebx
mov byte [ebp - 4], 2
je 0x459f54
mov eax, dword [0x573b34]
push edi
sub esp, 0x14
mov edx, esp
mov dword [edx], eax
mov eax, dword [0x573b38]
mov dword [edx + 4], eax
mov eax, dword [0x573b3c]
mov dword [edx + 8], eax
mov eax, dword [0x573b40]
mov dword [edx + 0xc], eax
mov eax, dword [0x573b44]
mov dword [edx + 0x10], eax
call fcn.0044dbf0
mov edi, eax
jmp 0x459f56
xor edi, edi
push edi
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.00478f80
mov edx, dword [0x57401c]
mov eax, dword [0x574020]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [0x574024]
mov dword [ecx + 4], eax
mov eax, dword [0x574028]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
push edi
mov ecx, esi
call fcn.0047b710
push 0x2c
call fcn.004ee057
mov ecx, eax
add esp, 4
mov dword [ebp + 0xc], ecx
cmp ecx, ebx
mov byte [ebp - 4], 3
je 0x459fae
call fcn.0043f760
jmp 0x459fb0
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 1
mov dword [esi + 0x30], eax
call fcn.00478f80
mov edx, dword [0x57403c]
mov eax, dword [0x574040]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [0x574044]
mov dword [ecx + 4], eax
mov eax, dword [0x574048]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esi + 0x30]
push ecx
mov ecx, esi
call fcn.0047b710
mov ecx, esi
call fcn.0047a660
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x466020
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x508c08
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
call fcn.00473210
xor ebx, ebx
mov dword [esi], 0x51ef58
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebx
xor eax, eax
mov dword [esi + 0x2c], eax
xor ecx, ecx
xor edx, edx
mov dword [esi + 0x30], ecx
xor edi, edi
mov dword [esi + 0x34], edx
push 0xfc
mov dword [esp + 0x1c], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x38], edi
mov byte [esi + 0x40], bl
mov dword [esi + 0x44], ebx
mov byte [esi + 0x48], 1
mov dword [esi + 8], 9
call fcn.004ee087
add esp, 4
cmp eax, ebx
je 0x4660d1
lea ecx, [eax + 8]
mov edx, 9
lea ecx, [ecx]
mov dword [ecx - 8], ebx
mov dword [ecx - 4], ebx
mov dword [ecx], ebx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov dword [ecx + 0x10], ebx
add ecx, 0x1c
dec edx
jne 0x4660a0
mov dword [esi + 4], eax
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret
mov ecx, dword [esp + 0x10]
mov dword [esi + 4], ebx
pop edi
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret
Function at 0x4a7600
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x511130
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 4], 0
call fcn.004a1400
mov dword [ebp - 4], 0xffffffff
call fcn.004aa7d0
cmp eax, 1
je 0x4a764d
push 1
mov dword [ebp - 4], 2
call fcn.00483b90
add esp, 4
mov dword [ebp - 4], 4
call fcn.004f1ca6
test eax, eax
je 0x4a7674
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
mov ecx, eax
jmp 0x4a7676
xor ecx, ecx
push 0
call fcn.004f1484
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push 0x10
push eax
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
call fcn.004dd418
mov eax, 0x4a767d
ret

Function at 0x4a89a0
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x511271
push eax
mov dword fs:[0], esp
sub esp, 0xc8
push ebx
push esi
mov esi, dword [esp + 0xe0]
xor ebx, ebx
cmp esi, ebx
jne 0x4a8acb
push 0xa
mov esi, 0xf
push str.Text_NULL
lea ecx, [esp + 0x80]
mov dword [esp + 0x98], esi
mov dword [esp + 0x94], ebx
mov byte [esp + 0x84], bl
call fcn.00402e30
push ebx
push 0x5183ad
lea ecx, [esp + 0x48]
mov dword [esp + 0xe0], ebx
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x4c], bl
call fcn.00402e30
push ebx
push 0x5183ad
lea ecx, [esp + 0x10]
mov byte [esp + 0xe0], 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], ebx
mov byte [esp + 0x14], bl
call fcn.00402e30
push 0x10
push str.assertion_failed
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe0], 2
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], ebx
mov byte [esp + 0x30], bl
call fcn.00402e30
push 0xc
push str..Player.cpp
lea ecx, [esp + 0x64]
mov byte [esp + 0xe0], 3
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
call fcn.00402e30
lea eax, [esp + 0x78]
push eax
push ebx
lea ecx, [esp + 0x48]
push ecx
push ebx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x38]
push eax
push 0x3d
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0xb4]
mov byte [esp + 0xf8], 4
call fcn.004d2ca0
push 0x5360d8
lea edx, [esp + 0x98]
push edx
call fcn.004dc59b
xor eax, eax
lea ecx, [ecx]
mov cl, byte [eax*4 + 0x52e144]
xor cl, byte [eax*4 + 0x528b50]
mov byte [eax + esi], cl
inc eax
cmp eax, 8
jl 0x4a8ad0
mov ecx, dword [esp + 0xd0]
mov byte [esi + 8], bl
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0xd4
ret
Function at 0x4a8b10
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x511271
push eax
mov dword fs:[0], esp
sub esp, 0xc8
push ebx
push esi
mov esi, dword [esp + 0xe0]
xor ebx, ebx
cmp esi, ebx
jne 0x4a8c3b
push 0xa
mov esi, 0xf
push str.Text_NULL
lea ecx, [esp + 0x80]
mov dword [esp + 0x98], esi
mov dword [esp + 0x94], ebx
mov byte [esp + 0x84], bl
call fcn.00402e30
push ebx
push 0x5183ad
lea ecx, [esp + 0x48]
mov dword [esp + 0xe0], ebx
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x4c], bl
call fcn.00402e30
push ebx
push 0x5183ad
lea ecx, [esp + 0x10]
mov byte [esp + 0xe0], 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], ebx
mov byte [esp + 0x14], bl
call fcn.00402e30
push 0x10
push str.assertion_failed
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe0], 2
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], ebx
mov byte [esp + 0x30], bl
call fcn.00402e30
push 0xc
push str..Player.cpp
lea ecx, [esp + 0x64]
mov byte [esp + 0xe0], 3
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
call fcn.00402e30
lea eax, [esp + 0x78]
push eax
push ebx
lea ecx, [esp + 0x48]
push ecx
push ebx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x38]
push eax
push 0x4a
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0xb4]
mov byte [esp + 0xf8], 4
call fcn.004d2ca0
push 0x5360d8
lea edx, [esp + 0x98]
push edx
call fcn.004dc59b
xor eax, eax
lea ecx, [ecx]
mov cl, byte [eax*4 + str.9:]
xor cl, byte [eax*4 + 0x528b70]
mov byte [eax + esi], cl
inc eax
cmp eax, 0xb
jl 0x4a8c40
mov ecx, dword [esp + 0xd0]
mov byte [esi + 0xb], bl
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0xd4
ret
Function at 0x4c7000
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5127e0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
push esi
push edi
mov dword [ebp - 0x10], esp
lea ecx, [ebp - 0x3c]
push ecx
push eax
mov byte [ebp - 0x11], bl
mov dword [0x6c3318], eax
mov word [ebp - 0x3c], 0x28
mov word [ebp - 0x3a], 1
mov dword [ebp - 0x38], 0x20000025
mov byte [ebp - 0x34], bl
mov byte [ebp - 0x33], 0x20
mov byte [ebp - 0x32], bl
mov byte [ebp - 0x31], bl
mov byte [ebp - 0x30], bl
mov byte [ebp - 0x2f], bl
mov byte [ebp - 0x2e], bl
mov byte [ebp - 0x2d], bl
mov byte [ebp - 0x2c], bl
mov byte [ebp - 0x2b], bl
mov byte [ebp - 0x2a], bl
mov byte [ebp - 0x29], bl
mov byte [ebp - 0x28], bl
mov byte [ebp - 0x27], bl
mov byte [ebp - 0x26], bl
mov byte [ebp - 0x25], bl
mov byte [ebp - 0x24], bl
mov byte [ebp - 0x23], bl
mov byte [ebp - 0x22], bl
mov byte [ebp - 0x21], bl
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
call dword [sym.imp.GDI32.dll_ChoosePixelFormat]
cmp eax, ebx
je 0x4c70e9
lea edx, [ebp - 0x3c]
push edx
push eax
mov eax, dword [0x6c3318]
push eax
call dword [sym.imp.GDI32.dll_SetPixelFormat]
test eax, eax
je 0x4c70e9
mov ecx, dword [0x6c3318]
push ecx
call dword [sym.imp.OPENGL32.dll_wglCreateContext]
mov edx, dword [0x6c3318]
mov esi, dword [sym.imp.OPENGL32.dll_wglMakeCurrent]
push eax
push edx
mov dword [0x6c3314], eax
call esi
push str.WGL_ARB_pbuffer_WGL_ARB_pixel_format
call fcn.004c6b50
add esp, 4
test eax, eax
jne 0x4c70fc
push str.Necessary_OpenGL_extensions_were_not_supported
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 4], ebx
call fcn.004c6eb0
cmp al, bl
je 0x4c7111
call fcn.004c6e40
mov byte [ebp - 0x11], 1
push ebx
push ebx
call esi
mov eax, dword [0x6c3314]
push eax
call dword [sym.imp.OPENGL32.dll_wglDeleteContext]
mov dword [0x6c3318], ebx
call fcn.004c6e00
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp - 0x11]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret