Function at 0x48f289
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 0x48f275
je case.0x48f24f.227
lea ebx, [esi - 0xe3]
cmp ebx, 0x5c
ja case.0x48f24f.243
movzx eax, byte [ebx + 0x48f760]
jmp dword [eax*4 + 0x48f754]
mov ebp, dword [esp + 0x44]
push dword [ebp + 4]
push edi
call fcn.00498aa0
push dword [ebp + 8]
mov dword [esp + 0x4c], eax
push edi
call fcn.0048e2d0
mov edx, dword [ebp + 0xc]
jmp 0x48f2ac
cmp esi, 0x15ef
je case.0x48f24f.227
cmp esi, 0x1793
jne case.0x48f24f.243
mov ebp, dword [esp + 0x44]
push dword [ebp + 0xc]
push edi
call fcn.00498aa0
push dword [ebp + 0x10]
mov dword [esp + 0x4c], eax
push edi
call fcn.0048e2d0
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.0048e2d0
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 0x48f37e
call fcn.004cbc90
add esp, 8
mov dword [esp + 0x18], eax
cmp ebx, 0xf
ja case.0x48f2f1.1
jmp dword [ebx*4 + 0x48f7c0]
mov ecx, 0x1f
jmp 0x48f343
mov ecx, 0x10
jmp 0x48f343
mov ecx, 0xe
jmp 0x48f343
mov ecx, 0x13
jmp 0x48f343
mov ecx, 0x1b
jmp 0x48f343
mov ecx, 0xb
jmp 0x48f343
mov ecx, 0x17
jmp 0x48f343
mov ecx, 0x15
jmp 0x48f343
mov ecx, 0xd
jmp 0x48f343
mov ecx, 0x19
jmp 0x48f343
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 + 0x48f725]
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 + 0x48f800]
call fcn.004cbc90
add esp, 8
mov dword [esp + 0x1c], eax
mov eax, dword [eax + 0x20]
mov dword [esp + 0x18], eax
cmp esi, 0x15ee
jg 0x48f3c7
je case.0x48f3ab.2
cmp ebx, 0x5c
ja case.0x48f3ab.16
movzx eax, byte [ebx + 0x48f82c]
jmp dword [eax*4 + 0x48f818]
mov eax, 0x100
jmp 0x48f3e0
mov eax, 0x259
jmp 0x48f3e0
mov eax, 0x5c
jmp 0x48f3e0
cmp esi, 0x15ef
je case.0x48f3ab.2
cmp esi, 0x1793
jne case.0x48f3ab.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 0x48f430
push esi
call fcn.0048dc80
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 0x48f440
or ecx, 1
imul eax, edx, 0x64
movzx eax, byte [eax + 0x52383e]
mov dword [ebx + eax*4 + 0x30], ecx
cmp esi, 0x15ee
jg 0x48f558
je case.0x48f476.229
lea eax, [esi - 0xe3]
cmp eax, 0x5c
ja case.0x48f476.243
movzx eax, byte [eax + 0x48f8a4]
jmp dword [eax*4 + 0x48f88c]
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x10]
mov byte [ebx + 0x30], al
jmp 0x48f57f
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.0048efc0
mov dword [esp + 0x3c], eax
add esp, 8
movups xmm0, xmmword [esp + 0x28]
movups xmmword [ebx + 0x68], xmm0
jmp 0x48f57f
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 0x48f57c
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 0x48f57f
cmp esi, 0x15ef
je case.0x48f476.229
cmp esi, 0x1793
jne case.0x48f476.243
lea eax, [ebx + 0x68]
push eax
mov eax, dword [esp + 0x48]
push eax
push esi
push edi
call fcn.0048c380
add esp, 0x10
mov eax, dword [esp + 0x40]
push dword [eax]
call fcn.004cb180
or eax, dword [esp + 0x24]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x48]
push ecx
push eax
push edi
call fcn.00498e90
mov eax, dword [esp + 0x54]
add esp, 0x14
test eax, eax
je 0x48f5b8
push eax
push dword [esp + 0x14]
push edi
call fcn.0048ec10
add esp, 0xc
cmp esi, 0xe4
je 0x48f630
cmp esi, 0x13f
je 0x48f630
mov ebp, dword [esp + 0x44]
push dword [ebp + 4]
push edi
call fcn.0048f130
add esp, 8
lea edx, [ebx + 0x1c]
cmp esi, 0x13e
jne 0x48f601
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 0x48f64a
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.00498b70
push ebx
push edi
call fcn.0041dcb0
add esp, 0x28
jmp 0x48f6af
push ebx
push edi
mov dword [esp + 0x48], ebp
call fcn.0041dcb0
add esp, 8
cmp esi, 0x13e
jne 0x48f6af
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 0x48f695
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.00498b70
add esp, 0x1c
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48f6c5
push eax
push dword [esp + 0x14]
push edi
call fcn.0048ec10
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push esi
push esi
call fcn.004c2360
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.0048c1b0
push str.Invalid_uniform_atomic
push 0x1018
push str..._.._src_compiler_spirv_spirv_to_nir.c
push edi
call fcn.0048c1b0
push esi
push esi
call fcn.004c2360
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.0048c1b0
push esi
push esi
call fcn.004c2360
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.0048c1b0
nop dword [eax]
mov edx, esi
dec eax
add byte [esi - 0xe], dl
dec eax
add ch, cl
test byte [eax], 0
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]
clc
dec eax
add dl, dh
test byte [eax], 0xff
dec eax
add byte [esi], al
dec eax
add byte [esi], al
dec eax
add byte [0x140048f3], cl
dec eax
add byte [ebx], bl
dec eax
add byte [ebx], bl
dec eax
add dl, dh
test byte [eax], 0x22
dec eax
add dl, dh
test byte [eax], 0x29
dec eax
add byte [eax], dh
dec eax
add byte [edi], dh
dec eax
add byte [esi], bh
dec eax
add byte [edi - 0xb], bh
dec eax
add byte [eax], al
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 byte [edx - 0x46ffb70d], dh
dec eax
add bl, bl
dec eax
add al, al
dec eax
add byte [edi], al
test dword [eax], 0x3020100
add eax, dword [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 3
add dword [edi], ecx
pop ds
add byte [ebp - 0xc], bh
dec eax
add byte [esp + esi*8 - 0xa93ffb8], cl
dec eax
add byte [ecx], dl
cmc
dec eax
add bh, dl
hlt