Function at 0x1400544f0
Capabilities:
Enumerate pe sections

Disassembly:
push rsi
sub rsp, 0x20
cmp qword [0x140184aa8], 0
mov esi, ecx
jne 0x14005486d
mov qword [rsp + 0x30], rbx
lea rcx, str.SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL
lea rbx, [0x140136268]
call fcn.140048f70
xor edx, edx
mov rcx, rax
call fcn.140049010
test eax, eax
jne 0x140054594
lea rcx, str.api_ms_win_core_synch_l1_2_0.dll
mov qword [rsp + 0x38], rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, rax
test rax, rax
je 0x14005458f
lea rdx, str.WaitOnAddress
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.WakeByAddressSingle
mov rcx, rdi
mov qword [0x140184a98], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x140184a98], 0
mov qword [0x140184aa0], rax
je 0x14005458f
test rax, rax
lea rcx, [0x140136230]
cmove rcx, rbx
mov rbx, rcx
mov rdi, qword [rsp + 0x38]
lea rcx, [0x140184aa8]
mov rax, rbx
or rax, rcx
test al, 3
jne 0x140054639
mov eax, dword [rbx]
mov ecx, esi
mov dword [0x140184aa8], eax
mov eax, dword [rbx + 4]
mov dword [0x140184aac], eax
mov eax, dword [rbx + 8]
mov dword [0x140184ab0], eax
mov eax, dword [rbx + 0xc]
mov dword [0x140184ab4], eax
mov eax, dword [rbx + 0x10]
mov dword [0x140184ab8], eax
mov eax, dword [rbx + 0x14]
mov dword [0x140184abc], eax
mov eax, dword [rbx + 0x18]
mov dword [0x140184ac0], eax
mov eax, dword [rbx + 0x1c]
mov dword [0x140184ac4], eax
mov eax, dword [rbx + 0x20]
mov dword [0x140184ac8], eax
mov eax, dword [rbx + 0x24]
mov dword [0x140184acc], eax
mov eax, dword [rbx + 0x28]
mov dword [0x140184ad0], eax
mov eax, dword [rbx + 0x2c]
mov dword [0x140184ad4], eax
mov eax, dword [rbx + 0x30]
mov dword [0x140184ad8], eax
mov eax, dword [rbx + 0x34]
mov rbx, qword [rsp + 0x30]
mov dword [0x140184adc], eax
add rsp, 0x20
pop rsi
jmp qword [0x140184aa8]
movzx eax, byte [rbx]
mov byte [0x140184aa8], al
movzx eax, byte [rbx + 1]
mov byte [0x140184aa9], al
movzx eax, byte [rbx + 2]
mov byte [0x140184aaa], al
movzx eax, byte [rbx + 3]
mov byte [0x140184aab], al
movzx eax, byte [rbx + 4]
mov byte [0x140184aac], al
movzx eax, byte [rbx + 5]
mov byte [0x140184aad], al
movzx eax, byte [rbx + 6]
mov byte [0x140184aae], al
movzx eax, byte [rbx + 7]
mov byte [0x140184aaf], al
movzx eax, byte [rbx + 8]
mov byte [0x140184ab0], al
movzx eax, byte [rbx + 9]
mov byte [0x140184ab1], al
movzx eax, byte [rbx + 0xa]
mov byte [0x140184ab2], al
movzx eax, byte [rbx + 0xb]
mov byte [0x140184ab3], al
movzx eax, byte [rbx + 0xc]
mov byte [0x140184ab4], al
movzx eax, byte [rbx + 0xd]
mov byte [0x140184ab5], al
movzx eax, byte [rbx + 0xe]
mov byte [0x140184ab6], al
movzx eax, byte [rbx + 0xf]
mov byte [0x140184ab7], al
movzx eax, byte [rbx + 0x10]
mov byte [0x140184ab8], al
movzx eax, byte [rbx + 0x11]
mov byte [0x140184ab9], al
movzx eax, byte [rbx + 0x12]
mov byte [0x140184aba], al
movzx eax, byte [rbx + 0x13]
mov byte [0x140184abb], al
movzx eax, byte [rbx + 0x14]
mov byte [0x140184abc], al
movzx eax, byte [rbx + 0x15]
mov byte [0x140184abd], al
movzx eax, byte [rbx + 0x16]
mov byte [0x140184abe], al
movzx eax, byte [rbx + 0x17]
mov byte [0x140184abf], al
movzx eax, byte [rbx + 0x18]
mov byte [0x140184ac0], al
movzx eax, byte [rbx + 0x19]
mov byte [0x140184ac1], al
movzx eax, byte [rbx + 0x1a]
mov byte [0x140184ac2], al
movzx eax, byte [rbx + 0x1b]
mov byte [0x140184ac3], al
movzx eax, byte [rbx + 0x1c]
mov byte [0x140184ac4], al
movzx eax, byte [rbx + 0x1d]
mov byte [0x140184ac5], al
movzx eax, byte [rbx + 0x1e]
mov byte [0x140184ac6], al
movzx eax, byte [rbx + 0x1f]
mov byte [0x140184ac7], al
movzx eax, byte [rbx + 0x20]
mov byte [0x140184ac8], al
movzx eax, byte [rbx + 0x21]
mov byte [0x140184ac9], al
movzx eax, byte [rbx + 0x22]
mov byte [0x140184aca], al
movzx eax, byte [rbx + 0x23]
mov byte [0x140184acb], al
movzx eax, byte [rbx + 0x24]
mov byte [0x140184acc], al
movzx eax, byte [rbx + 0x25]
mov byte [0x140184acd], al
movzx eax, byte [rbx + 0x26]
mov byte [0x140184ace], al
movzx eax, byte [rbx + 0x27]
mov byte [0x140184acf], al
movzx eax, byte [rbx + 0x28]
mov byte [0x140184ad0], al
movzx eax, byte [rbx + 0x29]
mov byte [0x140184ad1], al
movzx eax, byte [rbx + 0x2a]
mov byte [0x140184ad2], al
movzx eax, byte [rbx + 0x2b]
mov byte [0x140184ad3], al
movzx eax, byte [rbx + 0x2c]
mov byte [0x140184ad4], al
movzx eax, byte [rbx + 0x2d]
mov byte [0x140184ad5], al
movzx eax, byte [rbx + 0x2e]
mov byte [0x140184ad6], al
movzx eax, byte [rbx + 0x2f]
mov byte [0x140184ad7], al
movzx eax, byte [rbx + 0x30]
mov byte [0x140184ad8], al
movzx eax, byte [rbx + 0x31]
mov byte [0x140184ad9], al
movzx eax, byte [rbx + 0x32]
mov byte [0x140184ada], al
movzx eax, byte [rbx + 0x33]
mov byte [0x140184adb], al
movzx eax, byte [rbx + 0x34]
mov byte [0x140184adc], al
movzx eax, byte [rbx + 0x35]
mov byte [0x140184add], al
movzx eax, byte [rbx + 0x36]
mov byte [0x140184ade], al
movzx eax, byte [rbx + 0x37]
mov rbx, qword [rsp + 0x30]
mov byte [0x140184adf], al
mov ecx, esi
add rsp, 0x20
pop rsi
jmp qword [0x140184aa8]