joyce8/EMBER2024-capa huggingface dataset:
Function at 0x616a25
Capabilities:
Clear file content

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x2c]
push esi
push edi
push dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
push dword [ebp + 0xc]
push ebx
call fcn.006169a1
mov eax, dword [ebp - 0x2c]
and eax, dword [ebp - 0x28]
cmp eax, 0xffffffff
je 0x616b94
mov eax, dword [ebp - 0x24]
and eax, dword [ebp - 0x20]
cmp eax, 0xffffffff
je 0x616b94
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
mov dword [ebp - 4], eax
test ecx, ecx
jl 0x616b49
jg 0x616a81
test eax, eax
je 0x616b3f
push 1
push 0x1000
call fcn.0061349e
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x616aa4
push 0xc
pop ebx
mov byte [edi + 0x1c], 1
mov dword [edi + 0x18], ebx
jmp 0x616b36
push 0x8000
push ebx
call fcn.0060c455
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
test eax, eax
jl 0x616acd
jg 0x616ac8
cmp ecx, 0x1000
jb 0x616acd
mov ecx, 0x1000
push edi
push ecx
push esi
push ebx
call fcn.00612918
add esp, 0x10
cmp eax, 0xffffffff
je 0x616b12
mov ecx, dword [ebp - 4]
cdq
sub ecx, eax
mov eax, dword [ebp - 8]
mov dword [ebp - 4], ecx
sbb eax, edx
mov dword [ebp - 8], eax
test eax, eax
jg 0x616ac8
jl 0x616af9
test ecx, ecx
jne 0x616aba
push dword [ebp - 0xc]
push ebx
call fcn.0060c455
push esi
call fcn.006134fb
add esp, 0xc
xor ebx, ebx
jmp 0x616ba2
cmp byte [edi + 0x24], 0
je 0x616b29
cmp dword [edi + 0x20], 5
jne 0x616b29
mov byte [edi + 0x1c], 1
mov dword [edi + 0x18], 0xd
cmp byte [edi + 0x1c], 0
je 0x616b34
mov ebx, dword [edi + 0x18]
jmp 0x616b36
xor ebx, ebx
push esi
call fcn.006134fb
pop ecx
jmp 0x616ba2
test ecx, ecx
jg 0x616b0b
jl 0x616b49
test eax, eax
jae 0x616b0b
push 0
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0060aee6
and eax, edx
add esp, 0x10
cmp eax, 0xffffffff
jne 0x616b69
cmp byte [edi + 0x1c], 0
je 0x616b0b
jmp 0x616b9a
push ebx
call fcn.00616937
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x616b0b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0xd
mov byte [edi + 0x24], 1
mov dword [edi + 0x20], eax
pop ebx
mov byte [edi + 0x1c], 1
mov dword [edi + 0x18], ebx
jmp 0x616ba2
cmp byte [edi + 0x1c], 0
je 0x616b9f
mov ebx, dword [edi + 0x18]
jmp 0x616ba2
push 0x16
pop ebx
push 0
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x14]
call fcn.0060aee6
add esp, 0x10
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret
Function at 0x619950
Capabilities:
Query environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov esi, eax
test esi, esi
je 0x6199ed
push ebx
push esi
call fcn.00619919
xor ebx, ebx
sub eax, esi
push ebx
push ebx
push ebx
push ebx
sar eax, 1
push eax
push esi
push ebx
push ebx
mov dword [ebp - 8], eax
call fcn.00615cb9
add esp, 0x24
mov dword [ebp - 4], eax
test eax, eax
jne 0x61999a
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x6199ec
push edi
push eax
call fcn.0061490d
mov edi, eax
pop ecx
push ebx
test edi, edi
jne 0x6199ba
call fcn.006134fb
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x6199eb
push ebx
push dword [ebp - 4]
push edi
push dword [ebp - 8]
push esi
push ebx
push ebx
call fcn.00615cb9
add esp, 0x20
test eax, eax
jne 0x6199d9
push edi
call fcn.006134fb
jmp 0x6199e1
push ebx
call fcn.006134fb
mov ebx, edi
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov eax, ebx
pop edi
pop ebx
pop esi
leave
ret

Function at 0x6199f0
Capabilities:
Query environment variable

Disassembly:
mov edi, edi
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov esi, eax
test esi, esi
jne 0x619a01
pop esi
ret
push ebx
push edi
push esi
call fcn.00619919
mov ebx, eax
sub ebx, esi
and ebx, 0xfffffffe
push ebx
call fcn.0061490d
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x619a29
push ebx
push esi
push edi
call fcn.005f7b80
add esp, 0xc
push 0
call fcn.006134fb
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov eax, edi
pop edi
pop ebx
pop esi
ret

Function at 0x61a183
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.00619c9e

Function at 0x61c0ef
Capabilities:
Get geographical location

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push esi
push edi
call fcn.00614559
mov esi, dword [ebp + 8]
mov edi, eax
push 2
lea eax, [ebp - 4]
mov ecx, esi
push eax
and ecx, 0x3ff
push 0x20000001
or ecx, 0x400
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x61c15e
cmp esi, dword [ebp - 4]
je 0x61c159
cmp dword [ebp + 0xc], 0
je 0x61c159
mov esi, dword [edi + 0x50]
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x61c136
push dword [edi + 0x50]
sub esi, ecx
sar esi, 1
call fcn.0061bc41
pop ecx
xor ecx, ecx
cmp eax, esi
setne cl
mov eax, ecx
jmp 0x61c160
xor eax, eax
inc eax
jmp 0x61c160
xor eax, eax
pop edi
pop esi
leave
ret
Function at 0x61c1c5
Capabilities:
Get geographical location

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x6c02d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x18], eax
call fcn.00614559
add eax, 0x50
lea edi, [ebp - 0x10]
mov dword [ebp - 0x14], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00614559
lea ecx, [ebp - 0x10]
xor edx, edx
mov dword [eax + 0x34c], ecx
lea ecx, [esi + 0x80]
mov eax, dword [ebp - 0x14]
mov dword [eax], esi
lea edi, [eax + 4]
mov dword [edi], ecx
test ecx, ecx
je 0x61c23c
cmp word [ecx], dx
je 0x61c23c
mov eax, dword [0x6b0b84]
push edi
dec eax
push eax
push 0x6b0a70
call fcn.0061c164
mov eax, dword [ebp - 0x14]
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x10], edx
mov eax, dword [eax]
test eax, eax
je 0x61c2af
cmp word [eax], dx
je 0x61c2af
mov eax, dword [edi]
test eax, eax
je 0x61c260
cmp word [eax], dx
je 0x61c260
lea eax, [ebp - 0x10]
push eax
call fcn.0061bb47
jmp 0x61c269
lea eax, [ebp - 0x10]
push eax
call fcn.0061bbe2
cmp dword [ebp - 0x10], 0
pop ecx
jne 0x61c2d9
mov eax, dword [0x6b0a6c]
push dword [ebp - 0x14]
dec eax
push eax
push 0x6b0760
call fcn.0061c164
add esp, 0xc
test al, al
je 0x61c2d9
mov eax, dword [edi]
xor edi, edi
test eax, eax
je 0x61c2a4
cmp word [eax], di
je 0x61c2a4
lea eax, [ebp - 0x10]
push eax
call fcn.0061bb47
pop ecx
jmp 0x61c2db
lea eax, [ebp - 0x10]
push eax
call fcn.0061bbe2
jmp 0x61c2a1
mov eax, dword [edi]
test eax, eax
je 0x61c2c6
cmp word [eax], dx
je 0x61c2c6
lea eax, [ebp - 0x10]
push eax
call fcn.0061bafc
pop ecx
jmp 0x61c2d9
mov dword [ebp - 0x10], 0x104
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
xor edi, edi
cmp dword [ebp - 0x10], 0
je 0x61c3a4
lea eax, [ebp - 0x10]
push eax
lea eax, [esi + 0x100]
neg esi
sbb esi, esi
and esi, eax
push esi
call fcn.0061bfe9
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x61c3a4
movzx ecx, si
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
je 0x61c3a4
push 1
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
test eax, eax
je 0x61c3a4
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x61c331
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
push edi
push 0x55
add eax, 0x250
push eax
push dword [ebp - 0xc]
call fcn.00613c48
test ebx, ebx
je 0x61c39f
push edi
push 0x55
lea eax, [ebx + 0x120]
push eax
push dword [ebp - 0xc]
call fcn.00613c48
push 0x40
push ebx
push 0x1001
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x61c3a4
push 0x40
lea eax, [ebx + 0x80]
push eax
push 0x1002
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x61c3a4
push 0xa
push 0x10
lea ecx, [ebx + 0x100]
push ecx
push esi
call fcn.0061f75f
add esp, 0x10
xor eax, eax
inc eax
jmp 0x61c3a6
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005f5e48
leave
ret
Function at 0x61f030
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x6c02d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
cmp eax, 0x1a
jbe 0x61f073
call fcn.006046cd
mov dword [eax], 0xf
call fcn.006046e0
mov dword [eax], 0xd
call fcn.00604933
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005f5e48
leave
ret
test eax, eax
jne 0x61f07a
inc eax
jmp 0x61f067
add eax, 0x40
push 0x3a
mov word [ebp - 0xc], ax
pop eax
mov word [ebp - 0xa], ax
push 0x5c
pop eax
mov word [ebp - 8], ax
xor eax, eax
mov word [ebp - 6], ax
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov ecx, eax
test ecx, ecx
je 0x61f065
xor eax, eax
cmp ecx, 1
setne al
jmp 0x61f067
Function at 0x623a10
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x623a3d
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x623a3d
mov edx, 0x10b
xor eax, eax
cmp word [ecx + 0x18], dx
sete al
pop ebp
ret
xor eax, eax
pop ebp
ret
Function at 0x403d50
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46bf78
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x48948c]
xor eax, ebp
mov dword [ebp - 0x18], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x68], ecx
mov eax, dword [ebp - 0x68]
cmp dword [eax + 0x3c], 0
je 0x403d90
mov ecx, dword [ebp - 0x68]
movzx edx, byte [ecx + 0x41]
test edx, edx
jne 0x403d9c
mov al, 1
jmp 0x403f3f
mov dword [ebp - 0x10], 8
call fcn.0040b8d0
push eax
mov eax, dword [ebp - 0x68]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x68]
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0x3c], eax
call fcn.0040b8d0
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x40]
push edx
call fcn.0040b800
add esp, 8
movzx eax, al
test eax, eax
je 0x403ddf
xor al, al
jmp 0x403f3f
push 0
push 8
lea ecx, [ebp - 0x34]
call fcn.00403050
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x34]
call fcn.00403170
mov ecx, eax
call fcn.004040c0
mov esi, eax
lea ecx, [ebp - 0x34]
call fcn.0041c300
add esi, eax
push esi
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x34]
call fcn.00403170
mov ecx, eax
call fcn.004040c0
push eax
mov ecx, dword [ebp - 0x68]
add ecx, 0x44
push ecx
mov edx, dword [ebp - 0x68]
mov ecx, dword [edx + 0x3c]
call fcn.00404ae0
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
je 0x403e5a
cmp dword [ebp - 0x6c], 1
je 0x403e61
cmp dword [ebp - 0x6c], 3
je 0x403efb
jmp 0x403f13
mov eax, dword [ebp - 0x68]
mov byte [eax + 0x41], 0
lea ecx, [ebp - 0x58]
push ecx
lea ecx, [ebp - 0x34]
call fcn.00403170
mov ecx, eax
call fcn.004040c0
mov edx, dword [ebp - 0x14]
sub edx, eax
mov dword [ebp - 0x38], edx
je 0x403ec4
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + 0x4c]
push ecx
mov edx, dword [ebp - 0x38]
push edx
push 1
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x34]
call fcn.00403170
mov ecx, eax
call fcn.004040c0
push eax
call fcn.00436021
add esp, 0x10
cmp dword [ebp - 0x38], eax
je 0x403ec4
mov byte [ebp - 0x61], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.0040dc00
mov al, byte [ebp - 0x61]
jmp 0x403f3f
mov ecx, dword [ebp - 0x68]
movzx edx, byte [ecx + 0x41]
test edx, edx
jne 0x403ee7
mov byte [ebp - 0x62], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.0040dc00
mov al, byte [ebp - 0x62]
jmp 0x403f3f
cmp dword [ebp - 0x38], 0
jne 0x403ef9
push 0
push 8
lea ecx, [ebp - 0x34]
call fcn.004030e0
jmp 0x403f2b
mov byte [ebp - 0x63], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.0040dc00
mov al, byte [ebp - 0x63]
jmp 0x403f3f
mov byte [ebp - 0x64], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.0040dc00
mov al, byte [ebp - 0x64]
jmp 0x403f3f
jmp 0x403df2
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004314f7
mov esp, ebp
pop ebp
ret
Function at 0x41d160
Capabilities:
Create udp socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46c730
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
mov eax, dword [0x48948c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 0x58]
call fcn.00457a40
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x58]
mov byte [eax + 1], 0
mov ecx, dword [ebp - 0x58]
mov byte [ecx + 2], 0
mov edx, dword [ebp - 0x58]
mov dword [edx + 4], 0xffffffff
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x58]
cmp dword [edx + 4], 0xffffffff
jne 0x41d201
push str.unable_to_create_udp_socket_n
lea ecx, [ebp - 0x54]
call fcn.0040cda0
mov byte [ebp - 4], 1
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x38]
call fcn.0040b940
push 0x4822e0
lea ecx, [ebp - 0x38]
push ecx
call fcn.00439440
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x54]
call fcn.0040dc00
mov dword [ebp - 0x10], 1
push 4
lea edx, [ebp - 0x10]
push edx
push 0x20
push 0xffff
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.WS2_32.dll_setsockopt]
push 0x10
push 0
mov edx, dword [ebp - 0x58]
add edx, 0x18
push edx
call fcn.00431a40
add esp, 0xc
mov eax, 2
mov ecx, dword [ebp - 0x58]
mov word [ecx + 0x18], ax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret

Function at 0x41d3a0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x48948c]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], 0x10
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0x18]
push ecx
push 0
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.WS2_32.dll_recvfrom]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jge 0x41d3e6
xor eax, eax
jmp 0x41d40c
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
movzx edx, word [ebp - 0x16]
push edx
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004314f7
mov esp, ebp
pop ebp
ret 0xc
Function at 0x422040
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46c5a6
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x48948c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 4], 0
push ecx
fld dword [ebp + 0x18]
fstp dword [esp]
push ecx
fld dword [ebp + 0x14]
fstp dword [esp]
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x28]
add ecx, 4
call fcn.00421e60
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x28]
mov dword [edx], vtable.TUIO::TuioContainer.0
mov ecx, dword [ebp - 0x28]
add ecx, 0x30
call fcn.004231a0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x1c], ecx
mov edx, dword [ebp - 0x28]
fldz
fstp dword [edx + 0x20]
mov eax, dword [ebp - 0x28]
fldz
fstp dword [eax + 0x24]
mov ecx, dword [ebp - 0x28]
fldz
fstp dword [ecx + 0x28]
mov edx, dword [ebp - 0x28]
fldz
fstp dword [edx + 0x2c]
mov eax, dword [ebp - 0x28]
push ecx
fld dword [eax + 8]
fstp dword [esp]
mov ecx, dword [ebp - 0x28]
push ecx
fld dword [ecx + 4]
fstp dword [esp]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [edx + 0xc]
push ecx
lea ecx, [ebp - 0x24]
call fcn.00421e60
mov byte [ebp - 4], 3
lea edx, [ebp - 0x24]
push edx
mov ecx, dword [ebp - 0x28]
add ecx, 0x30
call fcn.00423370
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x4c], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24]
call fcn.00421ed0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00419050
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x14
Function at 0x422150
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46c55e
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x48948c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x28], ecx
push ecx
fld dword [ebp + 0x10]
fstp dword [esp]
push ecx
fld dword [ebp + 0xc]
fstp dword [esp]
mov ecx, dword [ebp - 0x28]
add ecx, 4
call fcn.00421de0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x28]
mov dword [eax], vtable.TUIO::TuioContainer.0
mov ecx, dword [ebp - 0x28]
add ecx, 0x30
call fcn.004231a0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x1c], edx
mov eax, dword [ebp - 0x28]
fldz
fstp dword [eax + 0x20]
mov ecx, dword [ebp - 0x28]
fldz
fstp dword [ecx + 0x24]
mov edx, dword [ebp - 0x28]
fldz
fstp dword [edx + 0x28]
mov eax, dword [ebp - 0x28]
fldz
fstp dword [eax + 0x2c]
mov ecx, dword [ebp - 0x28]
push ecx
fld dword [ecx + 8]
fstp dword [esp]
mov edx, dword [ebp - 0x28]
push ecx
fld dword [edx + 4]
fstp dword [esp]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [eax + 0xc]
push edx
lea ecx, [ebp - 0x24]
call fcn.00421e60
mov byte [ebp - 4], 2
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x30
call fcn.00423370
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 0x4c], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call fcn.00421ed0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x422520
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46c4e0
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x48948c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 4], 0
push ecx
fld dword [ebp + 0x14]
fstp dword [esp]
push ecx
fld dword [ebp + 0x10]
fstp dword [esp]
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x28]
add ecx, 4
call fcn.00421f50
mov edx, dword [ebp - 0x28]
fld dword [ebp + 0x18]
fstp dword [edx + 0x20]
mov eax, dword [ebp - 0x28]
fld dword [ebp + 0x1c]
fstp dword [eax + 0x24]
mov ecx, dword [ebp - 0x28]
fld dword [ecx + 0x20]
mov edx, dword [ebp - 0x28]
fmul dword [edx + 0x20]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0x24]
mov ecx, dword [ebp - 0x28]
fmul dword [ecx + 0x24]
faddp st(1)
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x2c]
push ecx
fstp dword [esp]
call fcn.00421c80
add esp, 4
mov edx, dword [ebp - 0x28]
fstp dword [edx + 0x28]
mov eax, dword [ebp - 0x28]
fld dword [ebp + 0x20]
fstp dword [eax + 0x2c]
mov ecx, dword [ebp - 0x28]
push ecx
fld dword [ecx + 8]
fstp dword [esp]
mov edx, dword [ebp - 0x28]
push ecx
fld dword [edx + 4]
fstp dword [esp]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [eax + 0xc]
push edx
lea ecx, [ebp - 0x24]
call fcn.00421e60
mov byte [ebp - 4], 1
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x30
call fcn.00423370
mov ecx, dword [ebp - 0x28]
fld dword [ecx + 0x2c]
fcomp qword [0x47ea28]
fnstsw ax
test ah, 0x41
jne 0x422616
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x4c], 1
jmp 0x42263f
mov eax, dword [ebp - 0x28]
fld dword [eax + 0x2c]
fcomp qword [0x47ea28]
fnstsw ax
test ah, 5
jp 0x422635
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 0x4c], 2
jmp 0x42263f
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x4c], 3
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00421ed0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00419050
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x1c
Function at 0x422670
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46c4a8
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x48948c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x28], ecx
push ecx
fld dword [ebp + 0xc]
fstp dword [esp]
push ecx
fld dword [ebp + 8]
fstp dword [esp]
mov ecx, dword [ebp - 0x28]
add ecx, 4
call fcn.00421f30
mov eax, dword [ebp - 0x28]
fld dword [ebp + 0x10]
fstp dword [eax + 0x20]
mov ecx, dword [ebp - 0x28]
fld dword [ebp + 0x14]
fstp dword [ecx + 0x24]
mov edx, dword [ebp - 0x28]
fld dword [edx + 0x20]
mov eax, dword [ebp - 0x28]
fmul dword [eax + 0x20]
mov ecx, dword [ebp - 0x28]
fld dword [ecx + 0x24]
mov edx, dword [ebp - 0x28]
fmul dword [edx + 0x24]
faddp st(1)
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x2c]
push ecx
fstp dword [esp]
call fcn.00421c80
add esp, 4
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0x28]
mov ecx, dword [ebp - 0x28]
fld dword [ebp + 0x18]
fstp dword [ecx + 0x2c]
mov ecx, dword [ebp - 0x28]
add ecx, 0x30
call fcn.004233b0
mov edx, dword [ebp - 0x28]
push ecx
fld dword [edx + 8]
fstp dword [esp]
mov eax, dword [ebp - 0x28]
push ecx
fld dword [eax + 4]
fstp dword [esp]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ecx + 0xc]
push eax
lea ecx, [ebp - 0x24]
call fcn.00421e60
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0x28]
add ecx, 0x30
call fcn.00423370
mov edx, dword [ebp - 0x28]
fld dword [edx + 0x2c]
fcomp qword [0x47ea28]
fnstsw ax
test ah, 0x41
jne 0x422765
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x4c], 1
jmp 0x42278e
mov ecx, dword [ebp - 0x28]
fld dword [ecx + 0x2c]
fcomp qword [0x47ea28]
fnstsw ax
test ah, 5
jp 0x422784
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x4c], 2
jmp 0x42278e
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x4c], 3
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.00421ed0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x14