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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
movzx esi, r8b
movzx ebp, dl
mov rdi, rcx
xor edx, edx
lea rcx, [r9 + 4]
mov r8d, 0x12c
mov rbx, r9
call fcn.18003b8a0
mov eax, dword [rbx + 0xc]
mov r11d, 1
or dword [rbx + 8], 0x40203c0
or eax, 0x20480000
mov dword [rbx], r11d
mov dword [rbx + 0xc], eax
test sil, sil
je 0x1800585f9
bts eax, 0x11
mov dword [rbx + 0xc], eax
cmp dword [rdi + 0x11c], 0
je 0x1800585f9
bts eax, 0x1e
mov dword [rbx + 0xc], eax
test bpl, bpl
je 0x180058605
bts eax, 0x1f
mov dword [rbx + 0xc], eax
test sil, sil
je 0x180058611
or dword [rbx + 0x10], 0x120
mov eax, dword [rbx + 0x1c]
xor r10d, r10d
bts eax, 0x11
mov dword [rbx + 0x14], r10d
mov dword [rbx + 0x18], r11d
mov dword [rbx + 0x1c], eax
test sil, sil
je 0x180058633
or eax, 0xe19aef1
mov dword [rbx + 0x1c], eax
test sil, sil
mov eax, 0x180008
cmove eax, r11d
or dword [rbx + 0x8c], eax
test sil, sil
je 0x18005867f
mov dword [rbx + 0x9c], 0x3b
test bpl, bpl
je 0x180058663
mov dword [rbx + 0x9c], 0x17b
mov rcx, rdi
mov dword [rbx + 0x20], 0x228f2
mov dword [rbx + 0x54], 0x1f
call fcn.180058350
mov dword [rbx + 0x90], eax
test bpl, bpl
je 0x18005868b
mov dword [rbx + 0x24], 0x1000000
test sil, sil
je 0x180058708
mov eax, dword [rbx + 0x24]
or eax, 0x7263b1
mov dword [rbx + 0x24], eax
test bpl, bpl
je 0x1800586a8
or eax, 0x7000000
mov dword [rbx + 0x24], eax
test bpl, bpl
mov dword [rbx + 0x88], 0xff
mov eax, dword [rbx + 0x88]
mov ecx, 0x1ff
cmovne eax, ecx
mov dword [rbx + 0x30], 0x3ff
mov dword [rbx + 0x88], eax
mov ecx, 0x23ff
mov eax, dword [rbx + 0x30]
cmovne eax, ecx
mov dword [rbx + 0x2c], 0x1fff
mov dword [rbx + 0x30], eax
mov ecx, 0x3fff
mov eax, dword [rbx + 0x2c]
cmovne eax, ecx
mov dword [rbx + 0x34], 0xff
mov dword [rbx + 0x2c], eax
mov dword [rbx + 0x28], 0xff
mov dword [rbx + 0x38], 0x84208
mov dword [rbx + 0x3c], 4
test sil, sil
je 0x1800587dd
movss xmm0, dword [0x180074f18]
mov ecx, 0x100
mov dword [rbx + 0x3c], 0x1ec4d
mov dword [rbx + 0x40], 0x3030700
mov dword [rbx + 0x48], 0x3030300
mov dword [rbx + 0x44], 0x3030300
mov dword [rbx + 0x50], 0x3f
mov dword [rbx + 0x4c], 0x3f
mov eax, dword [rdi + 0x40]
mov dword [rbx + 0x58], eax
mov eax, dword [rdi + 0x44]
mov dword [rbx + 0x5c], eax
cmp dword [rdi + 0x48], ecx
cmova ecx, dword [rdi + 0x48]
mov dword [rbx + 0x60], ecx
mov eax, dword [rdi + 0x4c]
mov dword [rbx + 0x64], eax
mov eax, dword [rdi + 0x50]
mov dword [rbx + 0x68], eax
mov eax, dword [rdi + 0x54]
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x70], 0x501502f9
mov dword [rbx + 0x74], 0xc6000000
mov dword [rbx + 0x78], 0xc6000000
mov dword [rbx + 0x7c], 0x46000000
mov dword [rbx + 0x80], 0x46000000
mov eax, dword [rdi + 0x28]
mov dword [rbx + 0xa8], eax
mov dword [rbx + 0xac], r10d
movss xmm1, dword [rdi + 0x38]
comiss xmm0, xmm1
movss dword [rbx + 0xb0], xmm1
jbe 0x1800587c9
mov dword [rbx + 0xb0], 0x42800000
mov eax, dword [rdi + 0x58]
mov dword [rbx + 0xb4], eax
mov eax, dword [rdi + 0x5c]
mov dword [rbx + 0xb8], eax
jmp 0x180058800
test bpl, bpl
je 0x180058800
mov dword [rbx + 0xb0], 0x3f800000
mov dword [rbx + 0xb4], 0x1fffff
mov dword [rbx + 0xb8], 0xfffe
test sil, sil
je 0x180058816
mov dword [rbx + 0xc0], 0x100
mov eax, 0x10
jmp 0x180058819
mov eax, r11d
mov dword [rbx + 0xbc], eax
test bpl, bpl
je 0x18005888a
test sil, sil
je 0x180058844
mov eax, dword [rdi + 0xf4]
cmp eax, 4
jae 0x18005883d
cmp eax, r11d
cmovb eax, r11d
jmp 0x180058847
mov eax, 4
jmp 0x180058847
mov eax, r11d
mov dword [rbx + 0xf0], eax
test sil, sil
je 0x180058859
or dword [rbx + 0x20], 0x2c4000
mov dword [rbx + 0xd4], 0x11
test sil, sil
je 0x180058ab3
or dword [rbx + 0xec], 0x30f
mov dword [rbx + 0xd4], 0x51
mov dword [rbx + 0xf4], 0x3000300
test sil, sil
je 0x180058ab3
mov ecx, dword [rdi + 8]
mov edx, 8
cmp dword [rdi + 0x3c], ecx
mov eax, edx
mov r8d, 0x20
cmova ecx, dword [rdi + 0x3c]
cmp ecx, edx
cmovb eax, ecx
mov ecx, 6
mov dword [rbx + 0x98], eax
mov dword [rbx + 0x94], eax
cmp dword [rdi + 0xc], ecx
cmovb ecx, dword [rdi + 0xc]
mov dword [rbx + 0xa4], ecx
cmp dword [rdi + 4], edx
cmovb edx, dword [rdi + 4]
mov dword [rbx + 0xa0], edx
mov edx, dword [rdi + 0x10]
test edx, edx
jne 0x1800588f7
mov dword [rbx + 0xc4], 0xfffe0000
mov dword [rbx + 0xc8], r10d
jmp 0x18005898a
mov dword [rbx + 0xc4], 0xfffe0101
mov dword [rbx + 0xc8], 0x60
test bpl, bpl
je 0x18005898a
mov eax, dword [rdi + 0x60]
mov dword [rbx + 0x120], eax
cmp edx, r11d
je 0x180058923
cmp edx, 5
jl 0x18005898a
mov ecx, r8d
mov dword [rbx + 0xc4], 0xfffe0200
mov dword [rbx + 0xc8], 0x100
mov dword [rbx + 0xfc], 0x18
cmp dword [rdi + 0x68], ecx
cmovb ecx, dword [rdi + 0x68]
mov dword [rbx + 0x100], ecx
mov dword [rbx + 0x104], 4
mov dword [rbx + 0xf8], r11d
cmp edx, 7
jl 0x18005898a
cmp ecx, r8d
jb 0x18005898a
mov dword [rbx + 0xc4], 0xfffe0300
mov dword [rbx + 0x128], 0x1000
mov dword [rbx + 0x11c], 0x1000100
mov ecx, dword [rdi + 0x18]
test ecx, ecx
jne 0x1800589a7
mov dword [rbx + 0xcc], 0xffff0000
mov dword [rbx + 0xd0], r10d
jmp 0x180058ab3
cmp ecx, 3
je 0x1800589d4
cmp ecx, 5
je 0x1800589c8
cmp ecx, 7
setne r10b
add r10d, 0xffff0103
mov dword [rbx + 0xcc], r10d
jmp 0x1800589de
mov dword [rbx + 0xcc], 0xffff0102
jmp 0x1800589de
mov dword [rbx + 0xcc], 0xffff0101
mov dword [rbx + 0xd0], 0x477fe000
test bpl, bpl
je 0x180058ab3
mov eax, dword [rdi + 0x64]
mov dword [rbx + 0x124], eax
cmp ecx, 0xb
jge 0x180058a08
cmp ecx, r11d
jne 0x180058ab3
mov dword [rbx + 0xcc], 0xffff0200
mov eax, 0x1d
mov dword [rbx + 0x10c], 0x18
cmp dword [rdi + 0x6c], r8d
cmovb r8d, dword [rdi + 0x6c]
mov dword [rbx + 0x110], r8d
mov dword [rbx + 0x114], 4
mov dword [rbx + 0x118], 0x200
mov dword [rbx + 0x108], eax
cmp byte [rdi + 0x34], 0
je 0x180058a60
mov dword [rbx + 0x108], 0x1f
mov eax, 0x1f
cmp ecx, 0xd
jl 0x180058ab3
cmp dword [rbx + 0x58], 0x1000
jb 0x180058ab3
cmp dword [rbx + 0x5c], 0x1000
jb 0x180058ab3
cmp dword [rbx + 0x6c], 0x10
jb 0x180058ab3
cmp dword [rbx + 0xa4], 6
jb 0x180058ab3
cmp r8d, 0x20
jb 0x180058ab3
test al, 2
je 0x180058ab3
mov ecx, 0x2000
mov dword [rbx + 0xcc], 0xffff0300
cmp dword [rbx + 0x64], ecx
mov dword [rbx + 0x12c], 0x1000
cmova ecx, dword [rbx + 0x64]
mov dword [rbx + 0x64], ecx
mov rbx, qword [rsp + 0x30]
movzx eax, r11b
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret