Function at 0x48f296
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 0x48f2b5
je case.0x48f28f.227
lea ebx, [esi - 0xe3]
cmp ebx, 0x5c
ja case.0x48f28f.243
movzx eax, byte [ebx + 0x48f7a0]
jmp dword [eax*4 + 0x48f794]
mov ebp, dword [esp + 0x44]
push dword [ebp + 4]
push edi
call fcn.00498b10
push dword [ebp + 8]
mov dword [esp + 0x4c], eax
push edi
call fcn.0048e310
mov edx, dword [ebp + 0xc]
jmp 0x48f2ec
cmp esi, 0x15ef
je case.0x48f28f.227
cmp esi, 0x1793
jne case.0x48f28f.243
mov ebp, dword [esp + 0x44]
push dword [ebp + 0xc]
push edi
call fcn.00498b10
push dword [ebp + 0x10]
mov dword [esp + 0x4c], eax
push edi
call fcn.0048e310
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.0048e310
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 0x48f3be
call fcn.004cbd40
add esp, 8
mov dword [esp + 0x18], eax
cmp ebx, 0xf
ja case.0x48f331.1
jmp dword [ebx*4 + 0x48f800]
mov ecx, 0x1f
jmp 0x48f383
mov ecx, 0x10
jmp 0x48f383
mov ecx, 0xe
jmp 0x48f383
mov ecx, 0x13
jmp 0x48f383
mov ecx, 0x1b
jmp 0x48f383
mov ecx, 0xb
jmp 0x48f383
mov ecx, 0x17
jmp 0x48f383
mov ecx, 0x15
jmp 0x48f383
mov ecx, 0xd
jmp 0x48f383
mov ecx, 0x19
jmp 0x48f383
mov ecx, 0x21
push ecx
push dword [edi + 0x10]
lea ebp, [edi + 0x10]
call fcn.00409aa0
mov ecx, dword [esp + 0x20]
xorps xmm0, xmm0
add esp, 8
mov ebx, eax
movzx eax, byte [esi + 0x48f765]
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 + 0x48f840]
call fcn.004cbd40
add esp, 8
mov dword [esp + 0x1c], eax
mov eax, dword [eax + 0x20]
mov dword [esp + 0x18], eax
cmp esi, 0x15ee
jg 0x48f407
je case.0x48f3eb.2
cmp ebx, 0x5c
ja case.0x48f3eb.16
movzx eax, byte [ebx + 0x48f86c]
jmp dword [eax*4 + 0x48f858]
mov eax, 0x100
jmp 0x48f420
mov eax, 0x259
jmp 0x48f420
mov eax, 0x5c
jmp 0x48f420
cmp esi, 0x15ef
je case.0x48f3eb.2
cmp esi, 0x1793
jne case.0x48f3eb.16
mov eax, 0x5b
push eax
push dword [edi + 0x10]
lea ebp, [edi + 0x10]
call fcn.00409aa0
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 0x48f470
push esi
call fcn.0048dcc0
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 0x48f480
or ecx, 1
imul eax, edx, 0x64
movzx eax, byte [eax + 0x52383e]
mov dword [ebx + eax*4 + 0x30], ecx
cmp esi, 0x15ee
jg 0x48f598
je case.0x48f4b6.229
lea eax, [esi - 0xe3]
cmp eax, 0x5c
ja case.0x48f4b6.243
movzx eax, byte [eax + 0x48f8e4]
jmp dword [eax*4 + 0x48f8cc]
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x10]
mov byte [ebx + 0x30], al
jmp 0x48f5bf
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.0048f000
mov dword [esp + 0x3c], eax
add esp, 8
movups xmm0, xmmword [esp + 0x28]
movups xmmword [ebx + 0x68], xmm0
jmp 0x48f5bf
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.00410ac0
mov dword [esp + 0x44], eax
movups xmm0, xmmword [esp + 0x38]
movups xmmword [ebx + 0x68], xmm0
jmp 0x48f5bc
push 0x20
push 0
xorps xmm0, xmm0
push 0
push edi
movups xmmword [esp + 0x38], xmm0
call fcn.00410ac0
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.00410ac0
mov dword [esp + 0x54], eax
add esp, 0x20
movups xmm0, xmmword [esp + 0x28]
movups xmmword [ebx + 0x78], xmm0
jmp 0x48f5bf
cmp esi, 0x15ef
je case.0x48f4b6.229
cmp esi, 0x1793
jne case.0x48f4b6.243
lea eax, [ebx + 0x68]
push eax
mov eax, dword [esp + 0x48]
push eax
push esi
push edi
call fcn.0048c3c0
add esp, 0x10
mov eax, dword [esp + 0x40]
push dword [eax]
call fcn.004cb230
or eax, dword [esp + 0x24]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x48]
push ecx
push eax
push edi
call fcn.00498f00
mov eax, dword [esp + 0x54]
add esp, 0x14
test eax, eax
je 0x48f5f8
push eax
push dword [esp + 0x14]
push edi
call fcn.0048ec50
add esp, 0xc
cmp esi, 0xe4
je 0x48f670
cmp esi, 0x13f
je 0x48f670
mov ebp, dword [esp + 0x44]
push dword [ebp + 4]
push edi
call fcn.0048f170
add esp, 8
lea edx, [ebx + 0x1c]
cmp esi, 0x13e
jne 0x48f641
push 0x20
push 1
push edx
push ebx
call fcn.00407f50
lea eax, [edi + 0x10]
push ebx
push edi
mov dword [esp + 0x58], eax
call fcn.0041dcb0
add esp, 0x18
jmp 0x48f68a
mov ecx, dword [eax + 4]
push ecx
call fcn.0040e4b0
push eax
movzx eax, byte [ecx + 0x10]
push eax
push edx
push ebx
call fcn.00407f50
lea eax, [ebx + 0x1c]
push eax
push dword [ebp + 8]
push edi
call fcn.00498be0
push ebx
push edi
call fcn.0041dcb0
add esp, 0x28
jmp 0x48f6ef
push ebx
push edi
mov dword [esp + 0x48], ebp
call fcn.0041dcb0
add esp, 8
cmp esi, 0x13e
jne 0x48f6ef
mov ebp, dword [esp + 0x44]
movzx esi, byte [ebx + 0x2d]
add ebx, 0x1c
push esi
push 0
push 0
call fcn.0040fdb0
mov ecx, dword [esp + 0x4c]
push esi
push 1
mov dword [esp + 0x34], eax
push dword [ecx]
mov dword [esp + 0x34], edx
call fcn.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
je 0x48f6d5
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.0041dcb0
add esp, 8
add esi, 0x18
push esi
push ebx
push 0x146
push edi
call fcn.0041d920
push eax
push dword [ebp + 8]
push edi
call fcn.00498be0
add esp, 0x1c
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48f705
push eax
push dword [esp + 0x14]
push edi
call fcn.0048ec50
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push esi
push esi
call fcn.004c2410
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.0048c1f0
push str.Invalid_uniform_atomic
push 0x1018
push str..._.._src_compiler_spirv_spirv_to_nir.c
push edi
call fcn.0048c1f0
push esi
push esi
call fcn.004c2410
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.0048c1f0
push esi
push esi
call fcn.004c2410
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.0048c1f0
nop dword [eax]
leave
dec eax
add byte [esi + 0xd0048f2], dl
test dword [eax], 0x100
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 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 al, byte [eax]
add dword [edi], ecx
pop ds
add byte [eax], bh
dec eax
add byte [edx], dh
test dword [eax], case.0x48f331.2
inc esi
dec eax
add byte [esi - 0xd], al
dec eax
add byte [ebp - 0xd], cl
dec eax
add byte [ebx + esi*8 + 0x48], dl
add byte [ebx - 0xd], bl
dec eax
add byte [ebx - 0xd], bl
dec eax
add byte [edx], dh
test dword [eax], case.0x48f331.10
xor dh, bh
dec eax
add byte [ecx - 0xd], ch
dec eax
add byte [eax - 0xd], dh
dec eax
add byte [edi - 0xd], dh
dec eax
add byte [esi - 0xd], bh
dec eax
add byte [edi + 0x48f5], bh
add byte [eax], al
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 dl, dh
dec eax
add cl, bh
dec eax
add byte [ebx], bl
hlt