Function at 0x140055ef0
Capabilities:
Inspect section memory permissions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov ebx, r8d
mov rsi, rdx
mov rdi, rcx
call fcn.14004a650
mov qword [rdi + 0x10], rsi
lea rax, vtable.CCustomTaiwan.0
mov qword [rdi], rax
mov dword [rdi + 0x7c], ebx
test rsi, rsi
je case.0x140056883.341970974
xor eax, eax
lea rbx, [rdi + 0x88]
xor edx, edx
mov qword [rdi + 0x80], rax
mov rcx, rbx
lea r8d, [rax + 0x60]
call fcn.1402ef020
movzx ecx, word [rsi + 0x412]
mov r8d, 0x1000
sub ecx, 0x1025
je 0x140055fe8
sub ecx, 0x1e
je 0x140055f7f
cmp ecx, 0x41f
jne 0x140056063
mov rax, qword [rdi + 0x10]
or dword [rax + 0xc], 0x400000
jmp 0x140056063
mov rax, qword [rdi + 0x10]
mov ecx, 0xf000
or dword [rax + 0xc], r8d
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x800
mov rax, qword [rdi + 0x10]
or dword [rax + 0x34], 2
movzx eax, word [rsi + 0x410]
and ax, cx
cmp ax, r8w
jne 0x140055fcb
mov dword [rdi + 0x1c], 0
mov dword [rdi + 0x24], 1
mov dword [rdi + 0x20], 0x1e
mov dword [rdi + 0x18], 1
mov rax, qword [rdi + 0x10]
test dword [rax + 0x188], 0x10000
je 0x140056063
and dword [rax + 8], 0xfffff7ff
jmp 0x140056063
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x40000000
mov rax, qword [rdi + 0x10]
mov rcx, rax
test dword [rax + 0x238], 0x200000
je 0x140056014
test byte [rax + 0x50], 0x80
jne 0x140056014
or dword [rax + 0xc], 2
mov rcx, qword [rdi + 0x10]
or dword [rcx + 0xc], 1
mov rcx, qword [rdi + 0x10]
cmp dword [rcx + 0x1b58], 1
jne 0x14005603b
or dword [rcx + 0xc], 0x4000000
mov rax, qword [rdi + 0x10]
or dword [rax + 0x10], 0x2000000
mov rcx, qword [rdi + 0x10]
mov eax, dword [rcx + 0xe4]
shl eax, 2
xor eax, dword [rdi + 0x80]
and eax, 8
xor dword [rdi + 0x80], eax
test dword [rcx + 0x1c4], 0x10000000
je 0x140056063
or dword [rcx + 0x14], 1
mov eax, dword [rdi + 0x7c]
lea rdx, [0x140000000]
cmp eax, 0x153
jg 0x140056140
je case.0x1400560a0.46
sub eax, 0x24
cmp eax, 0xca
ja case.0x1400560a0.48
cdqe
movzx eax, byte [rdx + rax + 0x56ba0]
mov ecx, dword [rdx + rax*4 + 0x56b6c]
add rcx, rdx
jmp rcx
mov rax, qword [rdi + 0x10]
or dword [rax + 0x50], 1
mov rax, qword [rdi + 0x10]
or dword [rax + 0x50], 2
jmp case.0x1400560a0.48
mov rax, qword [rdi + 0x10]
or dword [rax + 0x50], 2
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x10
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x20
jmp case.0x1400560a0.48
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x8000000
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x20
jmp case.0x1400560a0.48
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 4
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x40
jmp case.0x1400560a0.48
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 8
jmp case.0x1400560a0.48
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x800
jmp case.0x1400560a0.48
mov rax, qword [rdi + 0x10]
and dword [rax + 8], 0xfffff7ff
jmp case.0x1400560a0.48
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x100000
or dword [rdi + 0x80], 1
jmp case.0x1400560a0.48
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x10000000
jmp case.0x1400560a0.48
cmp eax, 0x15b
je case.0x1400560a0.46
add eax, 0xfffffe9e
cmp eax, 1
ja case.0x1400560a0.48
mov rax, qword [rdi + 0x10]
and dword [rax + 8], 0xfffff7ff
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x200000
movzx eax, word [rsi + 0x412]
movzx ecx, word [rsi + 0x410]
shl eax, 0x10
or ecx, eax
cmp ecx, 0x104316d3
ja 0x140056571
je 0x140056553
cmp ecx, 0x1025022b
ja 0x140056383
cmp ecx, 0x10250229
jae case.0x1400563b9.270860854
cmp ecx, 0x10250128
ja 0x1400561fe
je case.0x140056222.270860602
cmp ecx, 0x10192991
je 0x1400561e0
cmp ecx, 0x1019a88d
jne case.0x140056883.341970974
or dword [rdi + 0x80], 2
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0x10], 0x400
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
add ecx, 0xefdafec8
cmp ecx, 0xe9
ja case.0x140056883.341970974
movzx eax, byte [rdx + rcx + 0x56c90]
mov ecx, dword [rdx + rax*4 + 0x56c6c]
add rcx, rdx
jmp rcx
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x20
mov rax, qword [rdi + 0x10]
or dword [rax + 0x10], 0x8000
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x20
mov rax, qword [rdi + 0x10]
or dword [rax + 0xc], 0x80000
mov rax, rdi
mov dword [rdi + 0x20], 0xa
mov dword [rdi + 0x18], 1
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x20
mov rax, qword [rdi + 0x10]
or dword [rax + 0xc], 0x80000
or dword [rdi + 0x80], 0x400
mov dword [rdi + 0x20], 0xa
mov dword [rdi + 0x18], 1
mov rax, qword [rdi + 0x10]
or dword [rax + 0x10], 0x20000
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x20
mov rax, qword [rdi + 0x10]
or dword [rax + 0xc], 0x80000
mov dword [rdi + 0x20], 0xa
mov dword [rdi + 0x18], 1
mov rax, qword [rdi + 0x10]
or dword [rax + 0x10], 0x10
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x20
or dword [rdi + 0x80], 8
mov rax, qword [rdi + 0x10]
or dword [rax + 0xc], 0x2000000
mov rax, qword [rdi + 0x10]
or dword [rax + 0xc], 0x40000
mov rax, rdi
or dword [rdi + 0x80], 0x40
movaps xmm0, xmmword [0x140451010]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x140451020]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x140451030]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [reloc.OLEAUT32.dll_SafeArrayGetDim]
movups xmmword [rbx + 0x30], xmm1
movaps xmm0, xmmword [0x140451050]
movups xmmword [rbx + 0x40], xmm0
movaps xmm1, xmmword [0x140451060]
movups xmmword [rbx + 0x50], xmm1
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp ecx, 0x10250518
ja 0x14005641e
je 0x14005645f
add ecx, 0xefdafdcb
cmp ecx, 0xd6
ja case.0x140056883.341970974
movzx eax, byte [rdx + rcx + 0x56d94]
mov ecx, dword [rdx + rax*4 + 0x56d7c]
add rcx, rdx
jmp rcx
mov rax, qword [rdi + 0x10]
or dword [rax + 0xc], 0x40000
or dword [rdi + 0x80], 0x408
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
or dword [rdi + 0x80], 0x400
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0x10], 0x2000000
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp ecx, 0x10431153
ja 0x1400564f1
je 0x1400564cb
cmp ecx, 0x10250626
ja 0x140056494
je 0x14005645f
cmp ecx, 0x10250563
jb case.0x140056883.341970974
cmp ecx, 0x10250564
jbe 0x14005647a
lea eax, [rcx - 0x10250618]
test eax, 0xfffffffb
jne case.0x140056883.341970974
mov rax, qword [rdi + 0x10]
or dword [rax + 0x2c], 0x40
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
or dword [rdi + 0x80], 8
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp ecx, 0x1025063f
jb case.0x140056883.341970974
cmp ecx, 0x10250642
jbe 0x14005645f
cmp ecx, 0x10431033
je 0x1400564cb
cmp ecx, 0x10431053
je 0x1400564d3
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0x18], 4
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x8000000
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp ecx, 0x10431343
ja 0x140056527
je 0x140056538
sub ecx, 0x10431163
je 0x1400564d3
sub ecx, 0x60
je 0x1400565ca
cmp ecx, 0x175
je 0x140056538
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
sub ecx, 0x104313b2
je 0x140056538
cmp ecx, 0x11
jne case.0x140056883.341970974
mov rax, qword [rdi + 0x10]
or dword [rax + 0x50], 2
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0xc], 0x800
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp ecx, 0x14621004
ja 0x140056854
je case.0x140056883.341970972
cmp ecx, 0x1043831a
ja 0x140056701
je 0x14005672f
cmp ecx, 0x104319a3
ja 0x140056663
je 0x1400565ca
cmp ecx, 0x10431873
ja 0x14005663f
je 0x140056602
sub ecx, 0x10431723
je 0x1400565e7
sub ecx, 0x40
je 0x1400565ca
cmp ecx, 0xc0
jne case.0x140056883.341970974
or dword [rdi + 0x80], 0x200
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0x10], 8
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0xc], 0x80000000
mov rax, qword [rdi + 0x10]
or dword [rax + 0x10], 1
mov rax, qword [rdi + 0x10]
or dword [rdi + 0x80], 0x28
or dword [rax + 0x10], 2
mov rax, qword [rdi + 0x10]
or dword [rax + 0x10], 4
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
sub ecx, 0x10431878
je 0x1400565ca
cmp ecx, 0x1b
je 0x1400565ca
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
sub ecx, 0x104319b3
je 0x1400565ca
sub ecx, 0x6834
je case.0x140056222.270860601
sub ecx, 0xe4
je 0x1400566e3
sub ecx, 0x3c
je 0x1400566c6
cmp ecx, 0x10
jne case.0x140056883.341970974
mov rax, qword [rdi + 0x10]
or dword [rax + 0xc], 0x80000000
mov rax, qword [rdi + 0x10]
or dword [rax + 0x10], 1
mov rax, qword [rdi + 0x10]
or dword [rdi + 0x80], 0x28
or dword [rax + 0x10], 2
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
or dword [rdi + 0x80], 0x184
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0xc], 0x200
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp ecx, 0x104384b0
ja 0x140056790
je 0x14005676b
sub ecx, 0x10438330
je 0x14005672f
sub ecx, 0x1a
je 0x14005672f
sub ecx, 0x15
je 0x14005674d
sub ecx, 0x39
je 0x14005672f
cmp ecx, 0x36
jne case.0x140056883.341970974
mov rax, qword [rdi + 0x10]
or dword [rax + 0x10], 0x4000000
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0x10], 0x80
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rdi + 0x80], 0x4000
or dword [rax + 0x10], 0x40
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
sub ecx, 0x104384bc
je 0x140056836
sub ecx, 0x2dc344
je 0x140056807
sub ecx, 0x4808
je 0x1400567df
sub ecx, 0x68
je 0x1400567d8
cmp ecx, 0x97104
jne case.0x140056883.341970974
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x20
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov dword [rdi + 0x24], 1
mov dword [rdi + 0x1c], 1
mov rax, rdi
mov dword [rdi + 0x20], 3
mov dword [rdi + 0x18], 1
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov dword [rdi + 0x24], 1
mov rax, rdi
mov dword [rdi + 0x1c], 1
mov dword [rdi + 0x20], reloc.OLEAUT32.dll_SafeArrayDestroy
mov dword [rdi + 0x18], 1
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0x2c], 0x4000
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp ecx, 0x14623783
ja 0x1400568e3
je 0x1400568bb
add ecx, 0xeb9defe4
cmp ecx, 0x64
ja case.0x140056883.341970974
movzx eax, byte [rdx + rcx + 0x56e78]
mov ecx, dword [rdx + rax*4 + 0x56e6c]
add rcx, rdx
jmp rcx
mov rax, qword [rdi + 0x10]
or dword [rax + 0x18], 0x20
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0x20], 1
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov dword [rdi + 0x1c], 1
mov rax, rdi
mov dword [rdi + 0x24], 1
mov dword [rdi + 0x18], 1
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp ecx, 0x14627517
ja 0x140056a48
je 0x1400562e8
cmp ecx, 0x14626481
ja 0x1400569a7
je 0x14005698d
cmp ecx, 0x1462524b
ja 0x14005694a
cmp ecx, 0x1462524a
jae 0x1400569e9
sub ecx, 0x14624aa7
je 0x14005692c
cmp ecx, 0xa
jne case.0x140056883.341970974
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x400000
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp ecx, 0x1462531b
je 0x1400569e9
cmp ecx, 0x14626300
jne case.0x140056883.341970974
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x20
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 8
mov rax, qword [rdi + 0x10]
or dword [rax + 0x28], 1
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
or dword [rdi + 0x80], 4
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp ecx, 0x1462678a
je 0x140056a2a
cmp ecx, 0x14627248
je 0x140056a07
cmp ecx, 0x1462736a
je 0x1400569e9
cmp ecx, 0x14627441
jne case.0x140056883.341970974
mov rax, qword [rdi + 0x10]
or dword [rax + 0x10], 0x2000
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0xc], 0x4000
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 0x40
mov rax, qword [rdi + 0x10]
or dword [rax + 8], 4
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0x2c], 0x400
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp ecx, 0x17ff0594
ja 0x140056adf
je 0x140056ac5
sub ecx, 0x15093005
je 0x140056aa7
sub ecx, 0x2b6e0d2
je 0x140056a7a
sub ecx, 0x3ef4b9
je 0x14005692c
cmp ecx, 2
jmp 0x140056926
mov rax, qword [rdi + 0x10]
or dword [rax + 0x10], 0x40
mov rax, qword [rdi + 0x10]
or dword [rdi + 0x80], r8d
mov dword [rax + 0x1c], 1
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0xc], 0x20000000
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
or dword [rdi + 0x80], 0x10
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
sub ecx, 0x1b0a00ad
je 0x140056b4f
sub ecx, 0x1a
je 0x140056b34
sub ecx, 8
je 0x140056b16
cmp ecx, 0x1fd1
jne case.0x140056883.341970974
or dword [rdi + 0x80], 0x8000
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0x18], 0x800
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdi + 0x10]
or dword [rax + 0x28], 8
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
or dword [rdi + 0x80], 0x800
mov rbx, qword [rsp + 0x30]
mov rax, rdi
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
jb 0x141050502
imul eax, dword [rax], 0x72002f
add byte gs:[rdi], ah
imul eax, dword [rax], 0x6e0075
imul eax, dword [rax], 0x4d0006
jne 0x14105051a
jp 0x14105051c
imul eax, dword [rax], 0x1030063
invalid