Function at 0x48f106
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 0x48f125
je case.0x48f0ff.227
lea ebx, [esi - 0xe3]
cmp ebx, 0x5c
ja case.0x48f0ff.243
movzx eax, byte [ebx + 0x48f610]
jmp dword [eax*4 + 0x48f604]
mov ebp, dword [esp + 0x44]
push dword [ebp + 4]
push edi
call fcn.00498960
push dword [ebp + 8]
mov dword [esp + 0x4c], eax
push edi
call fcn.0048e180
mov edx, dword [ebp + 0xc]
jmp 0x48f15c
cmp esi, 0x15ef
je case.0x48f0ff.227
cmp esi, 0x1793
jne case.0x48f0ff.243
mov ebp, dword [esp + 0x44]
push dword [ebp + 0xc]
push edi
call fcn.00498960
push dword [ebp + 0x10]
mov dword [esp + 0x4c], eax
push edi
call fcn.0048e180
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.0048e180
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 0x48f22e
call fcn.004cbb10
add esp, 8
mov dword [esp + 0x18], eax
cmp ebx, 0xf
ja case.0x48f1a1.1
jmp dword [ebx*4 + 0x48f670]
mov ecx, 0x1f
jmp 0x48f1f3
mov ecx, 0x10
jmp 0x48f1f3
mov ecx, 0xe
jmp 0x48f1f3
mov ecx, 0x13
jmp 0x48f1f3
mov ecx, 0x1b
jmp 0x48f1f3
mov ecx, 0xb
jmp 0x48f1f3
mov ecx, 0x17
jmp 0x48f1f3
mov ecx, 0x15
jmp 0x48f1f3
mov ecx, 0xd
jmp 0x48f1f3
mov ecx, 0x19
jmp 0x48f1f3
mov ecx, 0x21
push ecx
push dword [edi + 0x10]
lea ebp, [edi + 0x10]
call fcn.00409a10
mov ecx, dword [esp + 0x20]
xorps xmm0, xmm0
add esp, 8
mov ebx, eax
movzx eax, byte [esi + 0x48f5d5]
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 + 0x48f6b0]
call fcn.004cbb10
add esp, 8
mov dword [esp + 0x1c], eax
mov eax, dword [eax + 0x20]
mov dword [esp + 0x18], eax
cmp esi, 0x15ee
jg 0x48f277
je case.0x48f25b.2
cmp ebx, 0x5c
ja case.0x48f25b.16
movzx eax, byte [ebx + 0x48f6dc]
jmp dword [eax*4 + 0x48f6c8]
mov eax, 0xff
jmp 0x48f290
mov eax, 0x258
jmp 0x48f290
mov eax, 0x5c
jmp 0x48f290
cmp esi, 0x15ef
je case.0x48f25b.2
cmp esi, 0x1793
jne case.0x48f25b.16
mov eax, 0x5b
push eax
push dword [edi + 0x10]
lea ebp, [edi + 0x10]
call fcn.00409a10
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 + 0x523806]
test cl, cl
je 0x48f2e0
push esi
call fcn.0048db30
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 0x48f2f0
or ecx, 1
imul eax, edx, 0x64
movzx eax, byte [eax + 0x5237e6]
mov dword [ebx + eax*4 + 0x30], ecx
cmp esi, 0x15ee
jg 0x48f408
je case.0x48f326.229
lea eax, [esi - 0xe3]
cmp eax, 0x5c
ja case.0x48f326.243
movzx eax, byte [eax + 0x48f754]
jmp dword [eax*4 + 0x48f73c]
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x10]
mov byte [ebx + 0x30], al
jmp 0x48f42f
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 + 0x5237d6]
dec edx
mov dword [ebx + eax*4 + 0x30], edx
mov eax, dword [esp + 0x44]
push dword [eax + 0x10]
push edi
call fcn.0048ee70
mov dword [esp + 0x3c], eax
add esp, 8
movups xmm0, xmmword [esp + 0x28]
movups xmmword [ebx + 0x68], xmm0
jmp 0x48f42f
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 + 0x5237d6]
mov dword [ebx + eax*4 + 0x30], 1
call fcn.00410a00
mov dword [esp + 0x44], eax
movups xmm0, xmmword [esp + 0x38]
movups xmmword [ebx + 0x68], xmm0
jmp 0x48f42c
push 0x20
push 0
xorps xmm0, xmm0
push 0
push edi
movups xmmword [esp + 0x38], xmm0
call fcn.00410a00
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.00410a00
mov dword [esp + 0x54], eax
add esp, 0x20
movups xmm0, xmmword [esp + 0x28]
movups xmmword [ebx + 0x78], xmm0
jmp 0x48f42f
cmp esi, 0x15ef
je case.0x48f326.229
cmp esi, 0x1793
jne case.0x48f326.243
lea eax, [ebx + 0x68]
push eax
mov eax, dword [esp + 0x48]
push eax
push esi
push edi
call fcn.0048c230
add esp, 0x10
mov eax, dword [esp + 0x40]
push dword [eax]
call fcn.004cb000
or eax, dword [esp + 0x24]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x48]
push ecx
push eax
push edi
call fcn.00498d50
mov eax, dword [esp + 0x54]
add esp, 0x14
test eax, eax
je 0x48f468
push eax
push dword [esp + 0x14]
push edi
call fcn.0048eac0
add esp, 0xc
cmp esi, 0xe4
je 0x48f4e0
cmp esi, 0x13f
je 0x48f4e0
mov ebp, dword [esp + 0x44]
push dword [ebp + 4]
push edi
call fcn.0048efe0
add esp, 8
lea edx, [ebx + 0x1c]
cmp esi, 0x13e
jne 0x48f4b1
push 0x20
push 1
push edx
push ebx
call fcn.00407ec0
lea eax, [edi + 0x10]
push ebx
push edi
mov dword [esp + 0x58], eax
call fcn.0041dbe0
add esp, 0x18
jmp 0x48f4fa
mov ecx, dword [eax + 4]
push ecx
call fcn.0040e400
push eax
movzx eax, byte [ecx + 0x10]
push eax
push edx
push ebx
call fcn.00407ec0
lea eax, [ebx + 0x1c]
push eax
push dword [ebp + 8]
push edi
call fcn.00498a30
push ebx
push edi
call fcn.0041dbe0
add esp, 0x28
jmp 0x48f55f
push ebx
push edi
mov dword [esp + 0x48], ebp
call fcn.0041dbe0
add esp, 8
cmp esi, 0x13e
jne 0x48f55f
mov ebp, dword [esp + 0x44]
movzx esi, byte [ebx + 0x2d]
add ebx, 0x1c
push esi
push 0
push 0
call fcn.0040fcf0
mov ecx, dword [esp + 0x4c]
push esi
push 1
mov dword [esp + 0x34], eax
push dword [ecx]
mov dword [esp + 0x34], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x48f545
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.0041dbe0
add esp, 8
add esi, 0x18
push esi
push ebx
push 0x146
push edi
call fcn.0041d850
push eax
push dword [ebp + 8]
push edi
call fcn.00498a30
add esp, 0x1c
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48f575
push eax
push dword [esp + 0x14]
push edi
call fcn.0048eac0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push esi
push esi
call fcn.004c2200
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.0048c060
push str.Invalid_uniform_atomic
push 0x1018
push str..._.._src_compiler_spirv_spirv_to_nir.c
push edi
call fcn.0048c060
push esi
push esi
call fcn.004c2200
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.0048c060
push esi
push esi
call fcn.004c2200
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.0048c060
nop dword [eax]
cmp ecx, esi
dec eax
add byte [esi], al
int1
dec eax
add byte [ebp - 0xb], bh
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]
test al, 0xf1
dec eax
add byte [edx - 0x50ffb70b], ah
int1
dec eax
add byte [esi - 0x49ffb70f], dh
int1
dec eax
add byte [ebp - 0x3bffb70f], bh
int1
dec eax
add bl, cl
int1
dec eax
add bl, cl
int1
dec eax
add byte [edx - 0x2dffb70b], ah
int1
dec eax
add byte [edx - 0x26ffb70b], ah
int1
dec eax
add al, ah
int1
dec eax
add bh, ah
int1
dec eax
add dh, ch
int1
dec eax
add byte [edi], ch
hlt