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

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
mov esi, dword [esp + 0x3c]
push edi
mov edi, dword [esp + 0x3c]
cmp esi, 0x15ee
jg 0x48f1f5
je case.0x48f1cf.227
lea ebx, [esi - 0xe3]
cmp ebx, 0x5c
ja case.0x48f1cf.243
movzx eax, byte [ebx + 0x48f6e0]
jmp dword [eax*4 + 0x48f6d4]
mov ebp, dword [esp + 0x44]
push dword [ebp + 4]
push edi
call fcn.00498a30
push dword [ebp + 8]
mov dword [esp + 0x4c], eax
push edi
call fcn.0048e250
mov edx, dword [ebp + 0xc]
jmp 0x48f22c
cmp esi, 0x15ef
je case.0x48f1cf.227
cmp esi, 0x1793
jne case.0x48f1cf.243
mov ebp, dword [esp + 0x44]
push dword [ebp + 0xc]
push edi
call fcn.00498a30
push dword [ebp + 0x10]
mov dword [esp + 0x4c], eax
push edi
call fcn.0048e250
mov edx, dword [ebp + 0x14]
lea ebx, [esi - 0xe3]
add esp, 0x10
mov dword [esp + 0x10], eax
mov ecx, edi
push edx
push ecx
call fcn.0048e250
mov dword [esp + 0x28], eax
add esp, 8
shr eax, 0xd
and eax, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
push eax
push edi
cmp dword [eax], 3
jne 0x48f2fe
call fcn.004cbc30
add esp, 8
mov dword [esp + 0x18], eax
cmp ebx, 0xf
ja case.0x48f271.1
jmp dword [ebx*4 + 0x48f740]
mov ecx, 0x1f
jmp 0x48f2c3
mov ecx, 0x10
jmp 0x48f2c3
mov ecx, 0xe
jmp 0x48f2c3
mov ecx, 0x13
jmp 0x48f2c3
mov ecx, 0x1b
jmp 0x48f2c3
mov ecx, 0xb
jmp 0x48f2c3
mov ecx, 0x17
jmp 0x48f2c3
mov ecx, 0x15
jmp 0x48f2c3
mov ecx, 0xd
jmp 0x48f2c3
mov ecx, 0x19
jmp 0x48f2c3
mov ecx, 0x21
push ecx
push dword [edi + 0x10]
lea ebp, [edi + 0x10]
call fcn.00409a30
mov ecx, dword [esp + 0x20]
xorps xmm0, xmm0
add esp, 8
mov ebx, eax
movzx eax, byte [esi + 0x48f6a5]
add ecx, 0x48
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x34], ecx
movups xmm0, xmmword [esp + 0x28]
movups xmmword [ebx + 0x58], xmm0
jmp dword [eax*4 + 0x48f780]
call fcn.004cbc30
add esp, 8
mov dword [esp + 0x1c], eax
mov eax, dword [eax + 0x20]
mov dword [esp + 0x18], eax
cmp esi, 0x15ee
jg 0x48f347
je case.0x48f32b.2
cmp ebx, 0x5c
ja case.0x48f32b.16
movzx eax, byte [ebx + 0x48f7ac]
jmp dword [eax*4 + 0x48f798]
mov eax, 0x100
jmp 0x48f360
mov eax, 0x259
jmp 0x48f360
mov eax, 0x5c
jmp 0x48f360
cmp esi, 0x15ef
je case.0x48f32b.2
cmp esi, 0x1793
jne case.0x48f32b.16
mov eax, 0x5b
push eax
push dword [edi + 0x10]
lea ebp, [edi + 0x10]
call fcn.00409a30
mov ebx, eax
xorps xmm0, xmm0
mov eax, dword [esp + 0x24]
add esp, 8
add eax, 0x48
movups xmmword [esp + 0x28], xmm0
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x34], eax
movups xmm0, xmmword [esp + 0x28]
imul eax, edx, 0x64
movups xmmword [ebx + 0x58], xmm0
mov cl, byte [eax + 0x52385e]
test cl, cl
je 0x48f3b0
push esi
call fcn.0048dc00
movzx ecx, cl
add esp, 4
mov dword [ebx + ecx*4 + 0x30], eax
mov edx, dword [ebx + 0x18]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
cmp dword [eax], 8
je 0x48f3c0
or ecx, 1
imul eax, edx, 0x64
movzx eax, byte [eax + 0x52383e]
mov dword [ebx + eax*4 + 0x30], ecx
cmp esi, 0x15ee
jg 0x48f4d8
je case.0x48f3f6.229
lea eax, [esi - 0xe3]
cmp eax, 0x5c
ja case.0x48f3f6.243
movzx eax, byte [eax + 0x48f824]
jmp dword [eax*4 + 0x48f80c]
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x10]
mov byte [ebx + 0x30], al
jmp 0x48f4ff
imul eax, dword [ebx + 0x18], 0x64
mov edx, 1
mov ecx, dword [esp + 0x18]
xorps xmm0, xmm0
movups xmmword [esp + 0x28], xmm0
mov cl, byte [ecx + 0x10]
mov byte [ebx + 0x30], cl
shl edx, cl
movzx eax, byte [eax + 0x52382e]
dec edx
mov dword [ebx + eax*4 + 0x30], edx
mov eax, dword [esp + 0x44]
push dword [eax + 0x10]
push edi
call fcn.0048ef40
mov dword [esp + 0x3c], eax
add esp, 8
movups xmm0, xmmword [esp + 0x28]
movups xmmword [ebx + 0x68], xmm0
jmp 0x48f4ff
imul eax, dword [ebx + 0x18], 0x64
xorps xmm0, xmm0
push 0x20
mov byte [ebx + 0x30], 1
push 0
push 0
push edi
movups xmmword [esp + 0x38], xmm0
movzx eax, byte [eax + 0x52382e]
mov dword [ebx + eax*4 + 0x30], 1
call fcn.00410a30
mov dword [esp + 0x44], eax
movups xmm0, xmmword [esp + 0x38]
movups xmmword [ebx + 0x68], xmm0
jmp 0x48f4fc
push 0x20
push 0
xorps xmm0, xmm0
push 0
push edi
movups xmmword [esp + 0x38], xmm0
call fcn.00410a30
mov dword [esp + 0x44], eax
movups xmm0, xmmword [esp + 0x38]
push 0x20
push 0xffffffffffffffff
movups xmmword [ebx + 0x68], xmm0
push 0xffffffffffffffff
xorps xmm0, xmm0
push edi
movups xmmword [esp + 0x48], xmm0
call fcn.00410a30
mov dword [esp + 0x54], eax
add esp, 0x20
movups xmm0, xmmword [esp + 0x28]
movups xmmword [ebx + 0x78], xmm0
jmp 0x48f4ff
cmp esi, 0x15ef
je case.0x48f3f6.229
cmp esi, 0x1793
jne case.0x48f3f6.243
lea eax, [ebx + 0x68]
push eax
mov eax, dword [esp + 0x48]
push eax
push esi
push edi
call fcn.0048c300
add esp, 0x10
mov eax, dword [esp + 0x40]
push dword [eax]
call fcn.004cb120
or eax, dword [esp + 0x24]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x48]
push ecx
push eax
push edi
call fcn.00498e20
mov eax, dword [esp + 0x54]
add esp, 0x14
test eax, eax
je 0x48f538
push eax
push dword [esp + 0x14]
push edi
call fcn.0048eb90
add esp, 0xc
cmp esi, 0xe4
je 0x48f5b0
cmp esi, 0x13f
je 0x48f5b0
mov ebp, dword [esp + 0x44]
push dword [ebp + 4]
push edi
call fcn.0048f0b0
add esp, 8
lea edx, [ebx + 0x1c]
cmp esi, 0x13e
jne 0x48f581
push 0x20
push 1
push edx
push ebx
call fcn.00407ee0
lea eax, [edi + 0x10]
push ebx
push edi
mov dword [esp + 0x58], eax
call fcn.0041dc20
add esp, 0x18
jmp 0x48f5ca
mov ecx, dword [eax + 4]
push ecx
call fcn.0040e420
push eax
movzx eax, byte [ecx + 0x10]
push eax
push edx
push ebx
call fcn.00407ee0
lea eax, [ebx + 0x1c]
push eax
push dword [ebp + 8]
push edi
call fcn.00498b00
push ebx
push edi
call fcn.0041dc20
add esp, 0x28
jmp 0x48f62f
push ebx
push edi
mov dword [esp + 0x48], ebp
call fcn.0041dc20
add esp, 8
cmp esi, 0x13e
jne 0x48f62f
mov ebp, dword [esp + 0x44]
movzx esi, byte [ebx + 0x2d]
add ebx, 0x1c
push esi
push 0
push 0
call fcn.0040fd20
mov ecx, dword [esp + 0x4c]
push esi
push 1
mov dword [esp + 0x34], eax
push dword [ecx]
mov dword [esp + 0x34], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x48f615
mov eax, dword [esp + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x1c]
push esi
push edi
mov dword [esi + 0x34], eax
call fcn.0041dc20
add esp, 8
add esi, 0x18
push esi
push ebx
push 0x146
push edi
call fcn.0041d890
push eax
push dword [ebp + 8]
push edi
call fcn.00498b00
add esp, 0x1c
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48f645
push eax
push dword [esp + 0x14]
push edi
call fcn.0048eb90
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push esi
push esi
call fcn.004c22f0
add esp, 4
push eax
push str.Invalid_SPIR_V_atomic
push str._s:__s___u__n
push 0x106a
push str..._.._src_compiler_spirv_spirv_to_nir.c
push edi
call fcn.0048c130
push str.Invalid_uniform_atomic
push 0x1018
push str..._.._src_compiler_spirv_spirv_to_nir.c
push edi
call fcn.0048c130
push esi
push esi
call fcn.004c22f0
add esp, 4
push eax
push str.Invalid_shared_atomic
push str._s:__s___u__n
push 0x1038
push str..._.._src_compiler_spirv_spirv_to_nir.c
push edi
call fcn.0048c130
push esi
push esi
call fcn.004c22f0
add esp, 4
push eax
push str.Invalid_SPIR_V_atomic
push str._s:__s___u__n
push 0x10cd
push str..._.._src_compiler_spirv_spirv_to_nir.c
push edi
call fcn.0048c130
nop dword [eax]
or edx, esi
dec eax
add dh, dl
int1
dec eax
add byte [ebp - 0xa], cl
dec eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], al
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add byte [ecx], al
nop dword [eax]
js 0x48f734
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [eax]
add dword [edi], ecx
pop ds
add byte [eax - 0xe], bh
dec eax
add byte [edx - 0xa], dh
dec eax
add byte [edi - 0xe], bh
dec eax
add byte [esi - 0x79ffb70e], al
dec eax
add byte [ebp - 0x6bffb70e], cl
dec eax
add byte [ebx - 0x64ffb70e], bl
dec eax
add byte [edx - 0xa], dh
dec eax
add byte [edx + 0x720048f2], ah
test byte [eax], 0xa9
dec eax
add byte [eax - 0x48ffb70e], dh
dec eax
add byte [esi - 0xffb70e], bh
hlt