Function at 0x180054320
Capabilities:
Enumerate pe sections

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov dword [rsp + 8], ecx
push rbx
push rbp
sub rsp, 0xa8
lea ebx, [rcx - 4]
mov rbp, r8
mov dword [rsp + 0xd8], ebx
mov eax, ecx
cmp ecx, ebx
jbe 0x1800548bf
mov rbx, qword [rsp + 0x60]
lea r8, [0x180000000]
mov ecx, dword [rsp + 0xd8]
mov qword [r11 - 0x18], rsi
mov rsi, qword [rsp + 0x58]
mov qword [r11 - 0x20], rdi
mov qword [r11 - 0x28], r12
mov qword [r11 - 0x30], r13
xor r13d, r13d
mov qword [r11 - 0x38], r14
mov qword [r11 - 0x40], r15
sub eax, 0xab
je 0x180054538
sub eax, 1
je 0x18005452c
sub eax, 1
je 0x18005449b
cmp eax, 4
jne 0x18005487a
cmp dword [rdx], 6
jl 0x18005487a
mov edi, 0x61
cmp edi, 0x61
je 0x1800543ef
cmp edi, 0x412c
jne 0x180054473
movzx eax, byte [rbp + 4]
add eax, 7
shr eax, 3
add eax, 6
add rbp, rax
mov eax, 0xfffffffa
movzx ecx, byte [rbp + 4]
add ecx, 7
shr ecx, 3
sub eax, ecx
add dword [rdx], eax
jmp 0x180054473
movzx ecx, byte [rbp + 4]
movzx eax, byte [rbp + 5]
movzx r10d, byte [rbp + 1]
movzx r9d, byte [rbp + 2]
movzx r8d, byte [rbp + 3]
movzx edx, byte [rbp]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
lea rcx, str.Handler_for_NotifyIMETextChange_returned_error_code
mov dword [rsp + 0x20], r10d
call fcn.18005dc40
movzx eax, byte [rbp + 4]
test al, al
je 0x18005445f
add eax, 7
mov qword [rsp + 0x20], r13
shr eax, 3
lea rdx, [rbp + 6]
lea r9, [rsp + 0x40]
mov dword [rsp + 0x40], eax
xor r8d, r8d
mov ecx, 0x8c
call fcn.180007af0
mov rdx, rax
lea rcx, str.m__v_W_5MS_
call fcn.18005dc40
lea rcx, [0x1800629a8]
call fcn.18005dc40
mov rdx, qword [rsp + 0xc8]
add edi, 0x40cb
cmp edi, 0x8196
jbe 0x1800543b6
cmp dword [rdx], 6
mov qword [rsp + 0xd0], rbp
jge 0x1800543b1
jmp 0x18005486c
mov eax, dword [0x18006f01c]
mov edx, 0x6c
mov rsi, qword [0x1800955a0]
mov dword [0x180082460], eax
nop dword [rax]
nop word [rax + rax]
mov ecx, 4
nop word [rax + rax]
movzx eax, byte [rsi]
mov byte [rbx], al
movzx eax, byte [rsi + 1]
mov byte [rbx + 1], al
movzx eax, byte [rsi + 2]
mov byte [rbx + 2], al
movzx eax, byte [rsi + 3]
mov byte [rbx + 3], al
movzx eax, byte [rsi + 4]
mov byte [rbx + 4], al
movzx eax, byte [rsi + 5]
mov byte [rbx + 5], al
movzx eax, byte [rsi + 6]
mov byte [rbx + 6], al
movzx eax, byte [rsi + 7]
add rsi, 8
mov byte [rbx + 7], al
sub rcx, 1
jne 0x1800544d0
add rbx, 8
sub rdx, 1
jne 0x1800544c0
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x60], rbx
jmp 0x180054873
mov rsi, qword [0x1800955b0]
jmp 0x18005487a
lea r12, [0x1800955b0]
mov rbp, r13
mov qword [rsp + 0x50], r12
mov r15d, 0xa8
nop dword [rax]
mov r14d, 0x1e
cmp r14d, 0x1e
je 0x1800546f4
cmp r14d, 0x5e
jne 0x180054713
test rsi, rsi
je 0x1800546ea
mov edi, 0xe9
lea r12, [0x180000000]
nop
cmp edi, 0xe9
je 0x1800545d9
cmp edi, 0x320f
je 0x1800545b2
cmp edi, 0x6335
jne 0x1800546cc
movzx eax, byte [0x1800914ee]
not al
and byte [r12 + rbp + 0x96008], al
jmp 0x1800546cc
movsxd rax, r15d
lea r8, [r12 + 0x95070]
add rbx, 0x20
xor r9d, r9d
xor edx, edx
mov ecx, 0x117
lea r8, [r8 + rax*8]
call fcn.180050b40
jmp 0x1800546cc
mov ecx, 4
nop
movzx eax, byte [rsi]
mov byte [rbx], al
movzx eax, byte [rsi + 1]
mov byte [rbx + 1], al
movzx eax, byte [rsi + 2]
mov byte [rbx + 2], al
movzx eax, byte [rsi + 3]
mov byte [rbx + 3], al
movzx eax, byte [rsi + 4]
mov byte [rbx + 4], al
movzx eax, byte [rsi + 5]
mov byte [rbx + 5], al
movzx eax, byte [rsi + 6]
mov byte [rbx + 6], al
movzx eax, byte [rsi + 7]
mov byte [rbx + 7], al
movzx eax, byte [rsi + 8]
mov byte [rbx + 8], al
movzx eax, byte [rsi + 9]
mov byte [rbx + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rbx + 0xa], al
movzx eax, byte [rsi + 0xb]
mov byte [rbx + 0xb], al
movzx eax, byte [rsi + 0xc]
mov byte [rbx + 0xc], al
movzx eax, byte [rsi + 0xd]
mov byte [rbx + 0xd], al
movzx eax, byte [rsi + 0xe]
mov byte [rbx + 0xe], al
movzx eax, byte [rsi + 0xf]
mov byte [rbx + 0xf], al
movzx eax, byte [rsi + 0x10]
mov byte [rbx + 0x10], al
movzx eax, byte [rsi + 0x11]
mov byte [rbx + 0x11], al
movzx eax, byte [rsi + 0x12]
mov byte [rbx + 0x12], al
movzx eax, byte [rsi + 0x13]
mov byte [rbx + 0x13], al
movzx eax, byte [rsi + 0x14]
mov byte [rbx + 0x14], al
movzx eax, byte [rsi + 0x15]
mov byte [rbx + 0x15], al
movzx eax, byte [rsi + 0x16]
mov byte [rbx + 0x16], al
movzx eax, byte [rsi + 0x17]
mov byte [rbx + 0x17], al
movzx eax, byte [rsi + 0x18]
mov byte [rbx + 0x18], al
movzx eax, byte [rsi + 0x19]
mov byte [rbx + 0x19], al
movzx eax, byte [rsi + 0x1a]
mov byte [rbx + 0x1a], al
movzx eax, byte [rsi + 0x1b]
mov byte [rbx + 0x1b], al
movzx eax, byte [rsi + 0x1c]
mov byte [rbx + 0x1c], al
movzx eax, byte [rsi + 0x1d]
mov byte [rbx + 0x1d], al
movzx eax, byte [rsi + 0x1e]
mov byte [rbx + 0x1e], al
movzx eax, byte [rsi + 0x1f]
add rsi, 0x20
mov byte [rbx + 0x1f], al
sub rcx, 1
jne 0x1800545e0
add edi, 0x3126
cmp edi, 0x9372
jbe 0x180054580
mov r12, qword [rsp + 0x50]
mov qword [rsp + 0x60], rbx
jmp 0x18005470c
mov dword [r8 + rbp*4 + 0x825f0], r13d
jmp 0x180054713
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], r15d
mov ecx, 3
call fcn.1800080d0
mov rsi, qword [r12]
lea r8, [0x180000000]
add r14d, 0x40
cmp r14d, 0x9e
jb 0x180054556
add r12, 8
mov qword [rsp + 0x58], rsi
inc r15d
mov qword [rsp + 0x50], r12
inc rbp
lea rax, [0x180095c70]
cmp r12, rax
jl 0x180054550
mov esi, dword [rsp + 0x48]
lea r14, [0x180095f85]
mov r12d, 0x25
lea r13, [0x180082464]
lea rbx, [0x180095198]
mov r15d, 0x100
nop dword [rax]
mov ebp, 0x106
mov eax, ebp
sub eax, 0x106
je 0x1800547fa
sub eax, 0xf
je 0x1800547ac
cmp eax, 0xf
jne 0x180054812
xor r9d, r9d
mov r8, rbx
xor edx, edx
mov ecx, 0x117
call fcn.180050b40
movzx eax, byte [0x1800914ee]
not al
and byte [r14], al
jmp 0x180054812
mov rax, qword [0x1800974c8]
lea rdx, [rsp + 0x50]
mov r9d, 2
mov dword [rsp + 0x48], esi
lea rcx, [rsp + 0x48]
mov edi, dword [r15 + rax + 4]
imul edi, dword [r15 + rax]
mov rax, qword [r15 + r8 + 0x95098]
lea r8, [rsp + 0x40]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x40], edi
call fcn.1800336d0
add esi, edi
jmp 0x180054812
lea rdx, [rsp + 0x48]
mov dword [r13], esi
mov ecx, 3
mov dword [rsp + 0x48], r12d
call fcn.1800080d0
add ebp, 0xf
lea r8, [0x180000000]
cmp ebp, 0x133
jb 0x180054775
inc r12d
mov dword [rsp + 0x48], esi
add rbx, 8
lea r8, [0x180000000]
inc r14
add r15, 8
add r13, 4
cmp r12d, 0x3a
jl 0x180054770
mov rbx, qword [rsp + 0x60]
xor r13d, r13d
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc8]
lea r8, [0x180000000]
mov ecx, dword [rsp + 0xd8]
mov eax, dword [rsp + 0xc0]
dec eax
mov dword [rsp + 0xc0], eax
cmp eax, ecx
ja 0x180054382
mov r15, qword [rsp + 0x78]
mov r14, qword [rsp + 0x80]
mov r13, qword [rsp + 0x88]
mov r12, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xa0]
add rsp, 0xa8
pop rbp
pop rbx
ret