joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4761f0
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 8
push ebx
push esi
push edi
mov edi, dword [esp + 0x18]
xorps xmm0, xmm0
movlpd qword [esp + 0xc], xmm0
mov esi, dword [edi + 0x28]
mov eax, esi
mov ebx, dword [edi + 0x2c]
and eax, 1
or eax, 0
je 0x47621c
mov ecx, 4
xor edx, edx
jmp 0x476224
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov eax, dword [edi + 8]
cmp byte [eax + 0x44], 4
jne 0x476239
test byte [eax + 0x141], 2
je 0x476239
or ecx, 8
test byte [edi + 0x30], 1
je 0x476242
or ecx, 0x10
mov eax, esi
and eax, 0x10
or eax, 0
je 0x47624f
or ecx, 0x20
mov eax, esi
and eax, 0x20
or eax, 0
je 0x47625c
or ecx, 0x40
mov eax, esi
and eax, 0x2000
or eax, 0
je 0x47626e
or ecx, 0x200
mov eax, esi
and eax, 0x400
or eax, 0
je 0x476280
or ecx, 0x400
mov eax, esi
and eax, 0x200
or eax, 0
je 0x476292
or ecx, 0x800
mov eax, esi
and eax, 0x100
or eax, 0
je 0x4762a4
or ecx, 0x1000
mov eax, esi
and eax, 0x800
or eax, 0
je 0x4762b6
or ecx, 0x2000
mov eax, esi
and eax, 8
or eax, 0
je 0x4762c6
or ecx, 0x8000
mov eax, esi
and eax, 4
or eax, 0
je 0x4762d6
or ecx, 0x10000
mov eax, esi
and eax, 2
or eax, 0
je 0x4762e6
or ecx, 0x20000
mov eax, esi
and eax, 0x1000
or eax, 0
je 0x4762f8
or ecx, 0x40000
mov eax, esi
and eax, 0x4000
or eax, 0
je 0x47630a
or ecx, 0x80000
mov eax, esi
and eax, 0x8000
or eax, 0
je 0x47631c
or ecx, 0x100000
mov eax, esi
and eax, 0x10000
or eax, 0
je 0x47632e
or ecx, 0x200000
mov eax, esi
and eax, 0x20000
or eax, 0
je 0x476340
or ecx, 0x400000
mov eax, esi
and eax, 0x40000
or eax, 0
je 0x476352
or ecx, 0x800020
mov eax, esi
and eax, 0x80000
or eax, 0
je 0x476364
or ecx, 0x1000000
mov eax, esi
and eax, 0x100000
or eax, 0
je 0x476376
or ecx, 0x2000000
mov eax, esi
and eax, 0x200000
or eax, 0
je 0x476388
or ecx, 0x4000000
mov eax, esi
and eax, 0x400000
or eax, 0
je 0x47639a
or ecx, 0x8000000
mov eax, esi
and eax, 0x800000
or eax, 0
je 0x4763ac
or ecx, 0x10000000
mov eax, esi
and eax, 0x1000000
or eax, 0
je 0x4763be
or ecx, 0x20000000
mov eax, esi
and eax, 0x2000000
or eax, 0
je 0x4763d0
or ecx, 0x40000000
mov eax, esi
and eax, 0x4000000
or eax, 0
je 0x4763e2
or ecx, 0x80000000
mov eax, esi
and eax, 0x10000000
or eax, 0
je 0x4763f1
or edx, 1
mov eax, esi
and eax, 0x20000000
or eax, 0
je 0x476400
or edx, 4
mov eax, esi
and eax, 0x40000000
or eax, 0
je 0x47640f
or edx, 8
and esi, 0x80000000
or esi, 0
je 0x47641d
or edx, 0x20
and ebx, 1
xor eax, eax
or eax, ebx
je 0x476429
or edx, 0x40
mov eax, dword [edi + 4]
cmp byte [eax + 2], 0
je 0x476435
or ecx, 2
mov eax, ecx
or eax, edx
jne 0x476453
cmp dword [edi + 0x1c], 7
jb 0x476453
cmp dword [edi + 0x63fe0], eax
jbe 0x476453
pop edi
pop esi
lea edx, [eax + 2]
pop ebx
add esp, 8
ret
pop edi
pop esi
mov eax, ecx
pop ebx
add esp, 8
ret
Function at 0x480f50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x1e8
push ebx
push ebp
push esi
push edi
push 0x40
lea eax, [esp + 0x4c]
mov dword [esp + 0x1c], 0
xorps xmm0, xmm0
mov dword [esp + 0x24], 7
push 0
push eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 3
movlpd qword [esp + 0x3c], xmm0
mov dword [esp + 0x44], 1
mov dword [esp + 0x4c], 5
mov dword [esp + 0x50], 0
call fcn.004f03f0
push 0x40
lea eax, [esp + 0xd0]
mov dword [esp + 0x98], 3
xorps xmm0, xmm0
mov dword [esp + 0xa0], 0
push 0
push eax
mov dword [esp + 0xb0], 8
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 3
movlpd qword [esp + 0xc0], xmm0
mov dword [esp + 0xc8], 1
mov dword [esp + 0xd0], 8
mov dword [esp + 0xd4], 0
call fcn.004f03f0
push 0x40
lea eax, [esp + 0x154]
mov dword [esp + 0x11c], 3
xorps xmm0, xmm0
mov dword [esp + 0x124], 0
push 0
push eax
mov dword [esp + 0x134], 9
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 3
movlpd qword [esp + 0x144], xmm0
mov dword [esp + 0x14c], 1
mov dword [esp + 0x154], 7
mov dword [esp + 0x158], 0
call fcn.004f03f0
push 0x40
xorps xmm0, xmm0
mov dword [esp + 0x1a0], 3
lea eax, [esp + 0x1d8]
mov dword [esp + 0x1a8], 0
push 0
push eax
mov dword [esp + 0x1b8], 9
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 3
movlpd qword [esp + 0x1c8], xmm0
mov dword [esp + 0x1d0], 4
movlpd qword [esp + 0x1d8], xmm0
call fcn.004f03f0
mov eax, dword [esp + 0x22c]
lea edi, [esp + 0x50]
add esp, 0x30
mov dword [esp + 0x1f0], 3
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edi
lea ebx, [eax + 0x28]
push dword [ebx + 0x1c]
push 2
push ebx
call fcn.0048b420
add esp, 0xc
test al, al
je 0x4811e3
mov esi, dword [edi + 0x68]
push 5
push 0
push esi
push ebx
call fcn.0048b4a0
add esp, 0x10
test al, al
je 0x4811e3
xor ebp, ebp
test esi, esi
je 0x4811bd
mov esi, edi
nop word [eax + eax]
mov edi, dword [esi - 8]
xor eax, eax
test edi, edi
push 1
sete al
push eax
push ebx
call fcn.0048b420
add esp, 0xc
test al, al
je 0x4811e3
test edi, edi
jne 0x481182
push 8
jmp 0x48119e
push 3
push edi
push ebx
call fcn.0048b420
add esp, 0xc
test al, al
je 0x4811e3
cmp edi, 1
je 0x48119c
cmp edi, 2
jne 0x4811b0
push 5
push dword [esi + 4]
push dword [esi]
push ebx
call fcn.0048b4a0
add esp, 0x10
test al, al
je 0x4811e3
mov edi, dword [esp + 0x14]
inc ebp
add esi, 0x10
cmp ebp, dword [edi + 0x68]
jb 0x481160
mov ebp, dword [esp + 0x10]
add edi, 0x78
inc ebp
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebp
cmp ebp, 4
jb 0x481123
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x1e8
ret
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x1e8
ret
Function at 0x487930
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [esp + 0x20]
push ebp
push esi
mov esi, dword [esp + 0x2c]
mov dword [ebx], 2
mov dword [ebx + 4], esi
push edi
imul eax, dword [esi + 0x18], 0x64
movzx eax, byte [eax + 0x5237d5]
mov eax, dword [esi + eax*4 + 0x30]
cdq
push edx
push eax
push dword [esi + 0x64]
push ebx
call fcn.00410890
push 0x20
push 0
push 2
mov dword [esp + 0x30], eax
call fcn.0040fcf0
push 0x20
push 1
push dword [ebx + 0x10]
mov ebp, eax
mov dword [esp + 0x38], edx
call fcn.00409bc0
mov edi, eax
add esp, 0x28
test edi, edi
je 0x4879a4
mov eax, dword [esp + 0x10]
push edi
mov dword [edi + 0x30], ebp
push ebx
mov dword [edi + 0x34], eax
call fcn.0041dbe0
add esp, 8
add edi, 0x18
push edi
push dword [esp + 0x18]
push 0x1c5
push ebx
call fcn.0041d850
add esp, 0x10
push eax
push dword [esp + 0x38]
push ebx
call fcn.0041a880
add esp, 8
push eax
push ebx
call fcn.00419960
imul edx, dword [esi + 0x18], 0x64
add esp, 0xc
mov ebp, eax
mov dword [esp + 0x14], ebp
add edx, 0x523806
cmp dword [esi + 0x18], 0x247
jne 0x487a99
movzx ecx, byte [edx]
mov edi, dword [esi + 0x84]
push 0x5c
push dword [ebx + 0x10]
mov ebp, dword [esi + ecx*4 + 0x30]
mov esi, dword [esi + 0x74]
call fcn.00409a10
mov ebx, eax
push 0x20
push 1
lea eax, [ebx + 0x1c]
push eax
push ebx
mov dword [esp + 0x28], eax
call fcn.00407ec0
mov eax, dword [esp + 0x2c]
xorps xmm0, xmm0
movups xmmword [esp + 0x30], xmm0
add eax, 0x48
mov dword [esp + 0x3c], eax
movups xmm0, xmmword [esp + 0x30]
push ebx
imul eax, dword [ebx + 0x18], 0x64
movups xmmword [ebx + 0x58], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x34], xmm0
mov dword [esp + 0x40], esi
movups xmm0, xmmword [esp + 0x34]
push dword [esp + 0x48]
movups xmmword [ebx + 0x68], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x38], xmm0
mov dword [esp + 0x44], edi
movups xmm0, xmmword [esp + 0x38]
movups xmmword [ebx + 0x78], xmm0
movzx eax, byte [eax + 0x5237e6]
mov dword [ebx + eax*4 + 0x30], 0
imul eax, dword [ebx + 0x18], 0x64
movzx eax, byte [eax + 0x523806]
mov dword [ebx + eax*4 + 0x30], ebp
call fcn.0041dbe0
mov esi, dword [esp + 0x50]
add esp, 0x20
mov eax, dword [esp + 0x10]
jmp 0x487ad4
movzx eax, byte [edx]
sub esp, 0xc
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
movq xmm0, qword [esp + 0x24]
mov ecx, dword [esi + eax*4 + 0x30]
mov eax, esp
push dword [esi + 0x74]
movq qword [eax], xmm0
mov dword [eax + 8], ecx
lea eax, [ebp + 0x48]
push eax
push 0x20
push ebx
call fcn.00482e40
add esp, 0x1c
push eax
add esi, 0x1c
push esi
call fcn.00407f10
push dword [esi]
call fcn.00409630
add esp, 0xc
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
Function at 0x489e10
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub esp, 0x28
push ebx
mov ebx, dword [esp + 0x34]
xor dl, dl
push esi
push edi
mov ecx, 0x68
mov byte [esp + 0xf], dl
mov eax, dword [ebx + 0x18]
mov edi, 0x78
cmp eax, 0x265
cmovne edi, ecx
mov ecx, dword [esp + 0x38]
add edi, ebx
mov dword [esp + 0x30], edi
cmp dword [ecx + 4], 3
jne 0x489e6a
cmp eax, 0x263
jne 0x489e6a
imul eax, eax, 0x64
mov byte [esp + 0x38], 1
movzx eax, byte [eax + 0x5237d5]
imul eax, dword [ebx + eax*4 + 0x30], 0x410
add eax, 0x4106c
jmp 0x489e85
imul eax, eax, 0x64
mov byte [esp + 0x38], dl
movzx eax, byte [eax + 0x5237d5]
imul eax, dword [ebx + eax*4 + 0x30], 0x410
add eax, 0x2086c
add eax, ecx
xor esi, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], esi
cmp byte [ebx + 0x30], dl
jbe 0x48a013
push ebp
mov ebp, dword [esp + 0x44]
nop
movups xmm0, xmmword [edi]
mov edx, dword [eax + 0x400]
mov dword [esp + 0x14], edx
psrldq xmm0, 0xc
movd eax, xmm0
mov eax, dword [eax]
cmp dword [eax + 0xc], 5
jne 0x489eec
movups xmm0, xmmword [edi]
psrldq xmm0, 0xc
movd eax, xmm0
mov ecx, dword [eax]
movzx eax, byte [ecx + 0x29]
push eax
push dword [ecx + 0x34]
push dword [ecx + 0x30]
call fcn.00407cd0
mov edx, 1
add esp, 0xc
mov ecx, eax
mov dword [esp + 0x14], edx
jmp 0x489ef6
xor ecx, ecx
test edx, edx
je 0x489ff2
shl ecx, 5
add ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x2c], eax
cmp eax, 0xffffffff
je 0x489fda
mov eax, dword [ecx]
mov ecx, 1
cmp byte [esp + 0x3c], 0
cmovne eax, ecx
mov ecx, dword [esp + 0x48]
shl eax, 2
mov dword [esp + 0x24], eax
mov eax, dword [eax + ecx]
mov dword [esp + 0x28], eax
imul eax, dword [ebx + 0x18], 0x64
movzx eax, byte [eax + 0x5237dd]
mov eax, dword [ebx + eax*4 + 0x30]
mov ebx, dword [ebp]
add eax, esi
mov dword [esp + 0x30], eax
xor eax, eax
nop dword [eax]
shr eax, 5
test ebx, ebx
jne 0x489f65
inc eax
cmp eax, 4
jae 0x489fca
mov ebx, dword [ebp + eax*4]
test ebx, ebx
je 0x489f57
bsf edi, ebx
je 0x489f6d
inc edi
jmp 0x489f6f
xor edi, edi
dec edi
xor esi, esi
mov edx, edi
xor ecx, ecx
bts esi, edx
cmp edx, 0x20
cmovae ecx, esi
shl eax, 5
xor esi, ecx
add eax, edi
not esi
and ebx, esi
cmp eax, 0x80
jae 0x489fca
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
mov byte [esp + 0x13], 1
mov ecx, dword [ecx + edx]
mov edx, dword [esp + 0x28]
imul ecx, eax
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0x2c]
lea esi, [esi + ecx*4]
mov ecx, esi
and esi, 0x1f
shr ecx, 5
lea edx, [edx + ecx*4]
mov ecx, dword [edx]
bts ecx, esi
mov dword [edx], ecx
jmp 0x489f50
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x20]
add ecx, 0x20
sub edx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edx
jne 0x489f01
mov edi, dword [esp + 0x34]
movzx ecx, byte [ebx + 0x30]
inc esi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], esi
cmp esi, ecx
jb 0x489ea0
mov al, byte [esp + 0x13]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x28
ret
pop edi
pop esi
mov al, dl
pop ebx
add esp, 0x28
ret
Function at 0x48e2c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ecx
push ebx
push ebp
push esi
push 0x2b0
push 0
call fcn.00460ab0
mov edx, dword [esp + 0x20]
mov ebx, eax
mov eax, dword [esp + 0x24]
add esp, 8
mov esi, dword [esp + 0x14]
mov dword [ebx + 0x280], eax
lea ecx, [ebx + 0x29c]
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x5c], esi
mov dword [ebx + 0x60], edx
mov dword [ebx + 0x78], 0
mov dword [ebx + 0x7c], 0xffffffff
mov dword [ebx + 0x80], 0xffffffff
mov dword [ecx], ecx
mov dword [ecx + 4], ecx
mov dword [ebx + 0x284], eax
cmp edx, 5
jbe 0x48e37c
mov eax, dword [esi]
cmp eax, 0x7230203
je 0x48e356
push 0x7230203
push eax
push str.words_0__was_0x_x__want_0x_x
push 0x19de
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebx
call fcn.0048c030
add esp, 0x18
push ebx
call fcn.004604e0
add esp, 4
xor eax, eax
pop esi
pop ebp
pop ebx
pop ecx
ret
mov eax, dword [esi + 4]
mov dword [ebx + 0x64], eax
cmp eax, 0x10000
jae 0x48e38c
push eax
push str.version_was_0x_x__want___0x10000
push 0x19e4
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebx
call fcn.0048c030
add esp, 0x14
push ebx
call fcn.004604e0
add esp, 4
xor eax, eax
pop esi
pop ebp
pop ebx
pop ecx
ret
movzx eax, word [esi + 0xa]
mov dword [ebx + 0x9c], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
movzx ebp, word [esi + 8]
mov dword [esp + 0x14], ecx
test eax, eax
je 0x48e3b5
push eax
push str.words_4__was__u__want_0
push 0x19ed
jmp 0x48e36e
imul eax, ecx, 0x58
mov dword [ebx + 0x94], ecx
push edi
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.00460240
push 0x5c
push eax
mov dword [ebx + 0x18], eax
call fcn.00460080
push dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
mov edi, eax
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
push 0x1c
push dword [ebx + 0x18]
mov dword [ebx + 0x6c], eax
call fcn.00460360
mov edx, dword [ebx + 0x6c]
lea edi, [ebx + 0xa4]
mov dword [ebx + 0x98], eax
add esp, 0x1c
mov ecx, 0x3a
mov esi, dword [edx + 0x18]
test esi, esi
jne 0x48e41a
mov esi, 0x550110
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x9c]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
cmp eax, 8
je 0x48e430
cmp eax, 0xd
jne 0x48e439
cmp ebp, 3
jae 0x48e439
mov cl, 1
jmp 0x48e43b
xor cl, cl
mov byte [ebx + 0x27a], cl
test eax, eax
jne 0x48e44a
cmp ebp, 0x11
je 0x48e453
cmp eax, 0x11
je 0x48e453
xor ecx, ecx
jmp 0x48e458
mov ecx, 1
cmp dword [edx], 1
jne 0x48e465
test ecx, ecx
je 0x48e465
mov cl, 1
jmp 0x48e467
xor cl, cl
mov byte [ebx + 0x27b], cl
cmp eax, 8
je 0x48e477
cmp eax, 0xd
jne 0x48e47c
cmp ebp, 0xb
jb 0x48e48a
cmp eax, 0x13
jne 0x48e486
cmp ebp, 0x12
jb 0x48e48a
xor al, al
jmp 0x48e48c
mov al, 1
mov byte [ebx + 0x27c], al
cmp dword [edx], 0
jne 0x48e4af
cmp dword [ebx + 0x64], 0x10400
jae 0x48e4af
push ebx
call fcn.00462030
add esp, 4
mov dword [ebx + 0x88], eax
pop esi
pop ebp
mov eax, ebx
pop ebx
pop ecx
ret
Function at 0x4d5520
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x16c
mov eax, dword [0x97efc0]
xor eax, esp
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x180]
push ebx
mov ebx, dword [esp + 0x180]
push esi
mov esi, dword [esp + 0x178]
push edi
push 0xff
mov dword [esp + 0x18], eax
lea eax, [esp + 0x79]
push 0
push eax
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x80], 0
call fcn.004f03f0
mov ecx, esi
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d5575
push esi
sub ecx, edx
lea eax, [esp + 0x78]
push ecx
push str._Z_zu_s
push eax
call fcn.004d50d0
lea esi, [esp + 0x84]
xor edi, edi
add esp, 0x10
add esi, eax
cmp dword [esp + 0x184], edi
jbe 0x4d575b
mov ecx, 1
mov dword [esp + 0xc], ecx
push ebp
mov eax, dword [ebx + edi*4]
mov ebp, dword [eax]
mov ebx, dword [eax + 4]
cmp ebp, 6
jne 0x4d5615
mov ebx, dword [esp + 0x14]
mov byte [esi], 0x50
inc esi
mov eax, dword [ebx + edi*4]
mov eax, dword [eax + 0x1c]
cmp eax, 8
ja case.0x4d55d4.1
jmp dword [eax*4 + 0x4d5788]
mov eax, 1
jmp 0x4d55f5
mov eax, 2
jmp 0x4d55f5
mov eax, 3
jmp 0x4d55f5
mov eax, 4
push eax
push str.U3AS_d
push esi
call fcn.004d50d0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add esi, eax
mov eax, dword [ebx + edi*4]
mov eax, dword [eax + 0x18]
mov ebx, dword [eax + 4]
mov ebp, dword [eax]
test dword [esp + 0x184], ecx
je 0x4d5622
mov byte [esi], 0x4b
inc esi
movzx edx, byte [ebx + 0x11]
movzx eax, byte [ebx + 0x10]
imul edx, eax
cmp edx, 1
jbe 0x4d5670
xor ecx, ecx
test edi, edi
je 0x4d565f
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + ecx*4]
cmp dword [eax], 6
jne 0x4d564f
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 4]
cmp ebx, eax
je 0x4d5711
inc ecx
cmp ecx, edi
jb 0x4d5640
push edx
push str.Dv_d_
push esi
call fcn.004d50d0
add esp, 0xc
add esi, eax
cmp ebp, 8
je 0x4d5728
cmp ebp, 0xd
je 0x4d5721
movsx eax, byte [ebx + 4]
xorps xmm0, xmm0
mov dword [esp + 0x1c], 0x967b5c
mov dword [esp + 0x20], 0x54748c
mov dword [esp + 0x24], 0x545080
mov dword [esp + 0x28], 0x967b60
mov dword [esp + 0x2c], str.dhcsml
mov dword [esp + 0x30], 0x967b68
mov dword [esp + 0x34], 0x967b6c
mov dword [esp + 0x38], 0x545090
mov dword [esp + 0x3c], 0x967b70
mov dword [esp + 0x40], 0x967b74
mov dword [esp + 0x44], 0x967b78
mov dword [esp + 0x48], 0x547498
movups xmmword [esp + 0x4c], xmm0
mov dword [esp + 0x6c], 0
movups xmmword [esp + 0x5c], xmm0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov eax, dword [esp + eax*4 + 0x1c]
jmp 0x4d572d
push 0x967b34
push esi
call fcn.004d50d0
add esp, 8
jmp 0x4d573c
mov eax, str.9ocl_event
jmp 0x4d572d
mov eax, str.11ocl_sampler
push eax
push 0x51158c
push esi
call fcn.004d50d0
add esp, 0xc
mov ecx, dword [esp + 0x10]
inc edi
mov ebx, dword [esp + 0x14]
add esi, eax
rol ecx, 1
mov dword [esp + 0x10], ecx
cmp edi, dword [esp + 0x188]
jb 0x4d55b4
pop ebp
lea eax, [esp + 0x74]
push eax
call fcn.00502118
mov ecx, dword [esp + 0x18]
add esp, 4
pop edi
mov dword [ecx], eax
mov ecx, dword [esp + 0x170]
pop esi
pop ebx
xor ecx, esp
call fcn.004eec95
add esp, 0x16c
ret
Function at 0x4d76a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x6c
mov ecx, dword [esp + 0x70]
xorps xmm0, xmm0
movq qword [esp + 0x2c], xmm0
mov dword [esp + 0x30], ecx
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 8], eax
movups xmmword [esp + 0x34], xmm0
movq xmm0, qword [esp + 0x2c]
movq qword [esp + 0x44], xmm0
test eax, eax
je 0x4d7a92
push ebx
push ebp
push esi
push edi
mov esi, dword [eax + 0x10]
mov dword [esp + 0x14], esi
mov eax, dword [esi]
test eax, eax
je 0x4d7a76
test esi, esi
je 0x4d7a76
xor ebp, ebp
cmp dword [eax], ebp
cmovne ebp, eax
mov dword [esp + 0x10], ebp
cmp dword [esi + 0xc], 1
jne 0x4d7a4e
mov eax, dword [esp + 0x88]
test dword [esi + 0x1c], eax
je 0x4d7a4e
push esi
call fcn.00417980
add esp, 4
test al, al
jne 0x4d7a4e
push dword [esi + 0x20]
call fcn.0045f540
add esp, 4
test al, al
je 0x4d7a4e
cmp dword [esi + 0x18], 0
mov eax, esi
je 0x4d7782
nop dword [eax]
mov ecx, dword [eax + 0x18]
cmp ecx, 5
je 0x4d7a4e
test ecx, ecx
jne 0x4d7764
xor eax, eax
jmp 0x4d777c
movups xmm0, xmmword [eax + 0x24]
psrldq xmm0, 0xc
movd eax, xmm0
mov ecx, dword [eax]
xor eax, eax
cmp dword [ecx + 0xc], 1
cmove eax, ecx
cmp dword [eax + 0x18], 0
jne 0x4d7750
mov eax, dword [eax + 0x24]
test eax, eax
je 0x4d7a4e
push eax
push dword [esp + 0x88]
call fcn.00461990
add esp, 8
test eax, eax
je 0x4d7a4e
push dword [esp + 0x8c]
mov edi, dword [eax + 8]
lea eax, [esp + 0x60]
push esi
push eax
call fcn.004179f0
mov eax, dword [esp + 0x84]
xor edx, edx
add esp, 0xc
cmp dword [eax], edx
je 0x4d7a36
mov ecx, dword [eax]
cmp dword [ecx + 0x18], 4
jne 0x4d77e4
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0xc]
lea edi, [eax + ecx*8]
mov eax, dword [esp + 0x78]
inc edx
mov ecx, dword [eax + edx*4]
lea eax, [eax + edx*4]
test ecx, ecx
jne 0x4d77d0
mov ebp, dword [edi + 0x14]
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x80], esi
nop word [eax + eax]
mov eax, dword [esp + 0x78]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x44], 3
mov dword [esp + 0x48], ecx
mov edx, dword [ecx + 0x18]
jmp dword [edx*4 + 0x4d7a98]
xor ebx, ebx
lea eax, [ebx + 0x48]
push eax
lea eax, [esi + 0x48]
push eax
call fcn.00407f10
push esi
call fcn.00417980
add esp, 0xc
mov esi, ebp
mov dword [esp + 0x14], esi
test ebp, ebp
je 0x4d7a68
mov eax, dword [ebp]
test eax, eax
je 0x4d7a68
xor ebp, ebp
cmp dword [eax], ebp
cmovne ebp, eax
jmp 0x4d7a6a
xor ebp, ebp
mov dword [esp + 0x10], ebp
test esi, esi
jne 0x4d7706
push dword [esp + 0x18]
call fcn.004073c0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4d76e2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
Function at 0x4e64d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x20
mov al, byte [esp + 0x30]
push ebx
push ebp
mov ebp, dword [esp + 0x30]
push esi
mov esi, dword [esp + 0x30]
push edi
mov byte [esp + 0x10], al
lea eax, [esp + 0x40]
push 1
push eax
push ebp
push esi
mov dword [esp + 0x50], 0
call fcn.004120d0
mov ebx, eax
mov dword [esp + 0x50], 1
push 1
lea eax, [esp + 0x54]
mov dword [esp + 0x28], ebx
push eax
push ebp
push esi
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x60], 2
push 1
lea eax, [esp + 0x64]
mov dword [esp + 0x3c], edi
push eax
push ebp
push esi
call fcn.004120d0
push ebx
mov ebx, dword [esp + 0x68]
mov esi, eax
push 0x9a
push ebx
mov dword [esp + 0x58], esi
call fcn.0041d800
push edi
push 0x9a
push ebx
mov dword [esp + 0x68], eax
call fcn.0041d800
add esp, 0x48
mov dword [esp + 0x24], eax
push esi
push 0x9a
push ebx
call fcn.0041d800
add esp, 0xc
mov dword [esp + 0x28], eax
cmp byte [esp + 0x3c], 0
mov dword [esp + 0x2c], 0
je 0x4e6602
push 1
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 3
push eax
push ebp
push ebx
call fcn.004120d0
movsd xmm0, qword [0x968338]
mov edi, eax
add esp, 0x10
movzx esi, byte [edi + 0x11]
push esi
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d00
push esi
push 1
push dword [ebx + 0x10]
mov ebp, eax
mov dword [esp + 0x58], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4e65ea
mov eax, dword [esp + 0x40]
push esi
mov dword [esi + 0x30], ebp
push ebx
mov dword [esi + 0x34], eax
call fcn.0041dbe0
add esp, 8
add esi, 0x18
push esi
push edi
push 0xed
push ebx
call fcn.0041d850
mov dword [esp + 0x3c], eax
add esp, 0x10
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
push eax
push edi
push 0xd4
push ebx
call fcn.0041d850
push dword [esp + 0x34]
mov esi, eax
push edi
push 0xd4
push ebx
call fcn.0041d850
push esi
push eax
push 0x125
push ebx
call fcn.0041d850
push eax
push ebx
call fcn.0041dfc0
mov esi, eax
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.004e5500
add esp, 0x40
mov dword [esp + 0x40], eax
push esi
push ebx
call fcn.0041df60
push dword [esp + 0x30]
mov ebp, eax
push dword [esp + 0x30]
push 0xd4
push ebx
call fcn.0041d850
push edi
push dword [esp + 0x40]
mov esi, eax
push 0xd4
push ebx
call fcn.0041d850
push esi
push eax
push 0x125
push ebx
call fcn.0041d850
push eax
push ebx
call fcn.0041dfc0
add esp, 0x40
mov esi, eax
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.004e5840
push esi
mov esi, dword [esp + 0x40]
mov ebx, eax
push esi
call fcn.0041df60
mov edi, eax
lea eax, [esp + 0x20]
push eax
push esi
call fcn.004e5b80
push edi
mov edi, dword [esp + 0x50]
mov esi, eax
push edi
call fcn.0041dea0
push esi
push ebx
push edi
call fcn.0041dcb0
push ebp
push edi
mov esi, eax
call fcn.0041dea0
push esi
push dword [esp + 0x78]
push edi
call fcn.0041dcb0
add esp, 0x40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret