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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r15
sub rsp, 0x50
mov ebp, r8d
mov rbx, rcx
test rcx, rcx
jne 0x18000411d
lea eax, [rdx - 1]
cmp eax, 0xf
ja case.default.0x180004071
lea r8, [0x180000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x43e4]
add rcx, r8
jmp rcx
mov rbx, qword [0x18000a4f0]
jmp 0x18000417b
mov rbx, qword [0x18000a560]
jmp 0x18000417b
mov rbx, qword [0x18000a550]
jmp 0x18000417b
mov rbx, qword [0x18000a4e8]
jmp 0x18000417b
mov rbx, qword [0x18000a508]
jmp 0x18000417b
mov rbx, qword [0x18000a540]
jmp 0x18000417b
mov rbx, qword [0x18000a518]
jmp 0x18000417b
mov rbx, qword [0x18000a528]
jmp 0x18000417b
mov rbx, qword [0x18000a548]
jmp 0x18000417b
mov rbx, qword [0x18000a558]
jmp 0x18000417b
mov rbx, qword [0x18000a510]
jmp 0x18000417b
mov rbx, qword [0x18000a500]
jmp 0x18000417b
mov rbx, qword [0x18000a530]
jmp 0x18000417b
mov rbx, qword [0x18000a520]
jmp 0x18000417b
mov rbx, qword [0x18000a538]
jmp 0x18000417b
xor ebx, ebx
cmp edx, 1
jne 0x18000417b
mov byte [rsp + 0x30], 0
mov dword [rsp + 0x34], 0x2c2227e7
mov dword [rsp + 0x38], 0x70632ee9
mov dword [rsp + 0x3c], 0x2e3c26a2
mov dword [rsp + 0x40], 0x4250428c
mov eax, dword [rsp + 0x34]
movzx eax, byte [rsp + 0x30]
test al, al
jne 0x180004176
xor ecx, ecx
nop word [rax + rax]
mov eax, dword [rsp + rcx*4 + 0x34]
xor eax, 0x4250428c
mov dword [rsp + rcx*4 + 0x34], eax
inc rcx
cmp rcx, 4
jb 0x180004160
lea rbx, [rsp + 0x34]
movzx r15d, byte [rbx]
xor edi, edi
mov r8, rbx
test r15b, r15b
je 0x1800041b3
movzx eax, r15b
nop dword [rax]
movzx edx, al
lea r8, [r8 + 1]
rol edi, 7
cmp dl, 0x61
lea eax, [rdx + 0x20]
movzx ecx, al
cmovge ecx, edx
movsx eax, cl
xor edi, eax
movzx eax, byte [r8]
test al, al
jne 0x180004190
mov rax, qword gs:[0x60]
mov qword [rsp + 0x70], r14
mov rcx, qword [rax + 0x18]
mov rsi, qword [rcx + 0x10]
mov r10, qword [rsi + 0x30]
test r10, r10
je 0x1800042c2
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movsxd rax, dword [r10 + 0x3c]
mov rsi, qword [rsi]
movups xmmword [rsp + 0x20], xmm0
mov ecx, dword [rax + r10 + 0x88]
test ecx, ecx
je 0x18000428f
mov r8, qword [rsp + 0x28]
lea r14, [r10 + rcx]
mov r9d, dword [r14 + 0x20]
xor ecx, ecx
mov r11d, dword [r14 + 0x18]
add r9, r10
movzx edx, word [r8]
test dx, dx
je 0x180004240
nop
rol ecx, 7
lea eax, [rdx + 0x20]
cmp dx, 0x61
lea r8, [r8 + 2]
cmovae ax, dx
movzx edx, word [r8]
movzx eax, ax
xor ecx, eax
test dx, dx
jne 0x180004220
cmp ecx, edi
jne 0x18000428f
xor r8d, r8d
test r11d, r11d
je 0x18000428f
nop dword [rax]
mov edx, dword [r9]
lea r9, [r9 + 4]
add rdx, r10
xor eax, eax
movzx ecx, byte [rdx]
test cl, cl
je 0x180004283
nop dword [rax]
nop word [rax + rax]
rol eax, 7
lea rdx, [rdx + 1]
movsx ecx, cl
xor eax, ecx
movzx ecx, byte [rdx]
test cl, cl
jne 0x180004270
cmp eax, ebp
je 0x18000429e
inc r8d
cmp r8d, r11d
jb 0x180004250
mov r10, qword [rsi + 0x30]
test r10, r10
jne 0x1800041e0
jmp 0x1800042c2
mov edx, dword [r14 + 0x24]
lea eax, [r8 + r8]
mov ecx, dword [r14 + 0x1c]
add rax, r10
add rcx, r10
movzx r8d, word [rdx + rax]
mov eax, dword [rcx + r8*4]
add rax, r10
jne 0x18000438a
xor r8d, r8d
test r15b, r15b
je 0x180004308
lea edx, [r8 + 1]
xor ecx, ecx
lea r9d, [r8 + 0x2b]
mov r8d, 0xa48d6762
call fcn.180004430
mov rcx, rbx
call rax
mov r8, rax
test rax, rax
jne 0x180004308
lea edx, [rax + 1]
xor ecx, ecx
lea r9d, [rax + 2]
mov r8d, 0xc8ac8026
call fcn.180004430
mov rcx, rbx
call rax
mov r8, rax
test ebp, ebp
jne 0x180004311
mov rax, r8
jmp 0x18000438a
movsxd rax, dword [r8 + 0x3c]
mov ebx, dword [rax + r8 + 0x88]
mov esi, dword [rax + r8 + 0x8c]
add rbx, r8
mov eax, ebp
shr eax, 0x10
test ax, ax
jne 0x18000433a
movzx eax, bp
sub eax, dword [rbx + 0x10]
jmp 0x1800043a9
mov r9d, dword [rbx + 0x20]
xor r10d, r10d
mov r11d, dword [rbx + 0x24]
add r9, r8
mov edi, dword [rbx + 0x18]
add r11, r8
test edi, edi
je 0x180004388
mov edx, dword [r9]
xor ecx, ecx
add rdx, r8
movzx eax, byte [rdx]
test al, al
je 0x180004378
rol ecx, 7
lea rdx, [rdx + 1]
movsx eax, al
xor ecx, eax
movzx eax, byte [rdx]
test al, al
jne 0x180004361
cmp ecx, ebp
je 0x1800043a5
add r9, 4
add r11, 2
inc r10d
cmp r10d, edi
jb 0x180004352
xor eax, eax
mov r14, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
add rsp, 0x50
pop r15
pop rdi
pop rsi
ret
movzx eax, word [r11]
test eax, eax
js 0x180004388
mov ecx, dword [rbx + 0x1c]
add rcx, r8
movsxd rdx, eax
mov r9d, dword [rcx + rdx*4]
add r9, r8
cmp r9, rbx
jbe 0x1800043d8
mov rdx, r9
sub rdx, rbx
cmp rdx, rsi
jae 0x1800043d8
mov rcx, r9
call fcn.180003f00
mov r9, rax
test r9, r9
je 0x180004388
mov rax, r9
jmp 0x18000438a