Function at 0x18007f890
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0x100
mov rax, qword [0x1800bf580]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov r14, qword [rbp + 0x7f]
lea r15d, [rcx + 0x104]
xor r10d, r10d
mov qword [rsp + 0x48], r8
mov ebx, ecx
mov r13, rdx
mov rdx, qword [rbp + 0x77]
mov rsi, r9
mov qword [rsp + 0x40], rdx
mov edi, ecx
lea ecx, [r10 + 0x4d]
lea r9, [0x180000000]
cmp ebx, r15d
jae 0x18007f9af
mov r12d, dword [rsp + 0x30]
lea eax, [rcx + 0x26]
lea r11d, [r10 + 0x64]
cmp ebx, 0x14b
ja 0x18007fb32
je 0x18007fb21
lea eax, [rbx - 0x3e]
cmp eax, 0xf9
ja case.default.0x18007f934
movzx eax, byte [r9 + rax + 0x804a8]
mov ecx, dword [r9 + rax*4 + 0x80478]
add rcx, r9
jmp rcx
mov eax, 0x50
lea rdx, [0x180097118]
lea rcx, [rbp - 0x49]
mov word [rbp - 0x49], ax
lea r8d, [rax - 0x4f]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov eax, dword [str.ekMes]
lea rdx, [0x18009af1c]
mov dword [rbp - 0x47], eax
lea rcx, [rbp - 0x42]
movzx eax, word [0x18009af18]
mov r8d, 3
mov word [rbp - 0x43], ax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
xor r10d, r10d
mov r11d, 0x64
mov r8, qword [rsp + 0x48]
lea r9, [0x180000000]
mov rdx, qword [rsp + 0x40]
mov ecx, 0x4d
mov eax, 0x73
add ebx, 0x14
cmp ebx, r15d
jb 0x18007f900
lea ebx, [rdi - 0xe]
cmp edi, ebx
jbe case.0x18007f9f9.238
mov r12, qword [rsp + 0x40]
mov r13d, 0x54
mov r15, qword [rsp + 0x40]
lea eax, [rdi - 0xee]
movabs r8, 0x3200330072
mov r11d, 0x69
mov edx, 0x7965
cmp eax, 0xd
ja case.default.0x18007f9f9
mov ecx, dword [r9 + rax*4 + 0x805a4]
add rcx, r9
jmp rcx
mov word [rbp - 0x2b], r11w
mov dword [rbp - 0x29], 0x6c006c
jmp case.0x18007f934.73
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor r10d, r10d
mov qword [rsp + 0x30], rax
mov qword [rax], r10
mov qword [rax + 8], r10
mov qword [rax + 0x10], r14
jmp 0x18007f982
mov eax, dword [r13]
mov dword [r14 + 0x10], eax
mov eax, dword [r8]
mov dword [r14 + 0x14], eax
mov dword [r14 + 8], r12d
jmp case.0x18007f934.73
mov r9d, dword [r8]
mov edx, dword [rdx]
mov r12d, edx
mov r8d, dword [r13]
mov rcx, qword [r14]
imul r12d, r9d
imul r12d, r8d
test rcx, rcx
je 0x18007f988
movzx eax, byte [r14 + 0x18]
cmp byte [rsi], al
jne 0x18007fa83
cmp edx, dword [r14 + 0xc]
jne 0x18007fa83
cmp r8d, dword [r14 + 0x10]
jne 0x18007fa83
cmp r9d, dword [r14 + 0x14]
je case.0x18007f9f9.238
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r10d, r10d
mov qword [r14], r10
jmp 0x18007f982
movzx eax, byte [rsi]
lea rdx, [rsp + 0x38]
xor r9d, r9d
mov byte [rsp + 0x38], al
xor ecx, ecx
mov qword [rsp + 0x20], r10
lea r8d, [r9 + 0xc]
call fcn.18006a250
imul eax, r12d
movsxd rcx, eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r14], rax
jmp 0x18007f97f
movzx eax, word [0x180097de8]
mov word [rbp - 0x40], ax
mov eax, 0x57
mov word [rbp - 0x3e], ax
mov eax, 0x65
mov word [rbp - 0x35], ax
mov dword [rbp - 0x39], 0x730075
jmp case.0x18007f934.73
mov eax, dword [rsi]
mov dword [r14 + 0x30], eax
jmp case.0x18007f934.73
movzx eax, byte [rsi]
mov byte [r14 + 0x18], al
mov eax, dword [rdx]
mov dword [r14 + 0xc], eax
jmp case.0x18007f934.73
mov dword [rbp - 0x33], 0x330072
mov dword [rbp - 0x2f], 0x2e0032
jmp case.0x18007f934.73
mov word [rbp - 0x25], r10w
mov dword [rbp - 0x69], 0x746547
jmp 0x18007f9a3
cmp ebx, 0x15f
jne 0x18007f9a3
mov r9d, 0x65
mov word [rbp - 0x66], cx
mov word [rbp - 0x65], r9w
lea r9, [0x180000000]
mov word [rbp - 0x64], ax
mov word [rbp - 0x63], ax
jmp 0x18007f9a3
mov eax, dword [0x1800970d8]
lea rdx, [rbp - 0x39]
mov dword [rbp - 0x11], eax
xor r9d, r9d
movzx eax, word [0x1800970dc]
xor r8d, r8d
mov word [rbp - 0xd], ax
xor ecx, ecx
lea rax, [rbp - 0x49]
mov dword [rsp + 0x28], 0x96
mov qword [rsp + 0x20], rax
call fcn.1800295d0
mov r12, rax
mov dword [rsp + 0x28], 0x96
lea rax, [rbp - 0x69]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 9]
xor ecx, ecx
call fcn.1800295d0
mov r15, rax
jmp case.default.0x18007f9f9
mov r8d, 1
mov byte [rbp - 0x4f], 0
lea rdx, [0x18009af2a]
lea rcx, [rbp - 0x4f]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp case.default.0x18007f9f9
movsd xmm0, qword [str..dll]
lea rdx, str.MapVirtualKeyW
movzx eax, word [0x180098890]
lea rcx, [rbp - 0x59]
mov r8d, 5
movsd qword [rbp + 3], xmm0
mov word [rbp + 0xb], ax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, 0x7472
mov word [rbp - 0x54], ax
jmp case.default.0x18007f9f9
mov dword [rbp - 0x62], 0x656761
jmp case.default.0x18007f9f9
mov eax, dword [0x180097018]
mov dword [rbp - 0x21], eax
movzx eax, word [0x18009701c]
mov word [rbp - 0x1d], ax
mov byte [rbp - 0x4b], 0
jmp case.default.0x18007f9f9
mov byte [rbp - 0x5b], 0
jmp case.default.0x18007f9f9
lea rax, [rbp - 0x59]
mov dword [rsp + 0x28], 0x96
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp - 0x21]
xor ecx, ecx
call fcn.1800295d0
mov rdi, rax
mov edx, 0x100
movzx eax, word [rsi + 2]
test dx, ax
jne 0x18007fcb5
movzx ecx, al
mov edx, 1
call rdi
add eax, 0xfffffff4
lea r9, [0x180000000]
cmp eax, 0x63
ja case.0x18007fcb3.27
movzx eax, byte [r9 + rax + 0x8061c]
mov ecx, dword [r9 + rax*4 + 0x805dc]
add rcx, r9
jmp rcx
lea r9, [0x180000000]
jmp 0x18007fcc3
mov edx, 0x100
mov rax, qword [r14]
add rax, 0xfffffffffffffff8
cmp rax, 0xda
ja case.0x18007f9f9.239
movzx eax, byte [r9 + rax + 0x8084c]
mov ecx, dword [r9 + rax*4 + 0x80680]
add rcx, r9
jmp rcx
mov word [rbp - 0x5f], r13w
mov eax, 0x656d
mov word [rbp - 0x5e], r11w
mov word [rbp - 0x5d], ax
jmp case.default.0x18007f9f9
mov eax, dword [0x1800975e4]
mov dword [rbp - 9], 0x75
mov dword [rbp - 7], eax
mov qword [rbp - 3], r8
jmp case.default.0x18007f9f9
mov r8d, 1
mov byte [rbp - 0x52], 0
lea rdx, [0x18009af5a]
lea rcx, [rbp - 0x59]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov r8d, 2
lea rdx, [0x18009af80]
lea rcx, [rbp - 0x51]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp case.default.0x18007f9f9
mov edi, 0xef
mov dword [rsp + 0x30], 0xffffffff
jmp case.default.0x18007f9f9
mov word [rbp - 0x4e], dx
mov byte [rbp - 0x4c], 0x57
jmp case.default.0x18007f9f9
mov eax, dword [0x18009afa0]
movsd xmm0, qword [str.er32.d]
mov dword [rbp - 0x15], eax
movzx eax, word [0x18009afa4]
mov word [rbp - 0x11], ax
movsd qword [rbp - 0x1d], xmm0
dec edi
cmp edi, ebx
jbe case.0x18007f9f9.238
lea r9, [0x180000000]
jmp 0x18007f9ca
mov ecx, dword [rsp + 0x30]
mov ebx, 0xf4
mov eax, ebx
sub eax, 0xf2
je case.0x18007f9f9.238
sub eax, 1
je 0x18007fdc7
cmp eax, 1
jne 0x18007fdde
xor edx, edx
mov ecx, 0xa1
call rdi
mov ecx, eax
jmp 0x18007fdde
mov eax, dword [rsi]
sar rax, 0x10
and eax, 0x1ff
cmp eax, ecx
je 0x18007fe0b
mov dword [rsp + 0x30], 0x154
dec ebx
cmp ebx, 0xf1
ja 0x18007fda3
mov edi, dword [rsp + 0x30]
mov ebx, 0x28
xor r14d, r14d
mov eax, ebx
sub eax, 0x28
je 0x18007fe63
sub eax, 0x72
je 0x18007fe18
cmp eax, 0x72
je case.0x18007f9f9.238
jmp 0x18007fe71
mov dword [rsp + 0x30], 0x158
jmp case.0x18007f9f9.238
xor r9d, r9d
mov dword [rsp + 0x20], r14d
xor r8d, r8d
lea rcx, [rsp + 0x50]
xor edx, edx
call r12
test eax, eax
je 0x18007fe59
mov eax, dword [rsp + 0x58]
add eax, 0xffffff00
test eax, 0xfffffffa
jne 0x18007fe59
cmp qword [rsp + 0x60], 0x12
jne 0x18007fe59
test qword [rsp + 0x68], 0x1000000
je 0x18007fe59
cmp dword [rbp - 0x79], edi
je 0x18007fe96
mov dword [rsp + 0x30], 0x155
jmp 0x18007fe71
mov eax, dword [rsi]
bt rax, 0x18
jb 0x18007fea3
call r15
mov edi, eax
add ebx, 0x72
cmp ebx, 0x17e
jb 0x18007fdf4
mov eax, dword [rsi]
bt rax, 0x18
jae 0x18007feb0
mov dword [rsp + 0x30], 0x15a
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0xfffffffe
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x159
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x156
jmp case.0x18007f9f9.238
mov eax, dword [rsi]
bt rax, 0x18
jae 0x18007fed3
mov dword [rsp + 0x30], 0x14f
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x101
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], edx
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x102
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x103
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x10c
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x10d
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x10a
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x10b
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x104
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x105
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x107
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x109
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x106
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x108
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x122
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x123
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x124
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x125
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x126
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x127
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x128
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x129
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x12a
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x12b
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x12c
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x12d
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x12e
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x12f
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x130
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x131
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x132
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x133
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x134
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x135
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x136
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x137
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x138
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x139
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x11a
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x118
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x11b
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x119
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x11c
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x157
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x15b
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x15c
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x140
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x141
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x142
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x143
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x144
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x145
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x146
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x147
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x148
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x149
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x14b
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x14c
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x14d
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x14e
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x14a
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x20
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x30
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x31
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x32
jmp case.0x18007f9f9.238
mov eax, 0x33
mov dword [rsp + 0x30], eax
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x34
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x35
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x36
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x37
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x38
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x39
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x41
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x42
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x43
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x44
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x45
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x46
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x47
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x48
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x49
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x4a
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x4b
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x4c
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x4d
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x4e
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x4f
jmp case.0x18007f9f9.238
mov eax, 0x50
mov dword [rsp + 0x30], eax
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x51
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x52
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x53
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], r13d
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x55
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x56
jmp case.0x18007f9f9.238
mov eax, 0x57
mov dword [rsp + 0x30], eax
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x58
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x59
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x5a
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x2d
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x3d
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x5b
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x5d
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x5c
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x3b
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x27
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x60
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x2c
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x2e
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0x2f
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0xa1
jmp case.0x18007f9f9.238
mov dword [rsp + 0x30], 0xa2
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.1800938b0
mov rbx, qword [rsp + 0x140]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret