Function at 0x1401c31a0
Capabilities:
Parse pe header

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x60], xmm6
mov qword [rbp + 0x58], 0xfffffffffffffffe
mov rsi, rcx
mov rax, rdx
mov qword [rbp + 0x38], rdx
mov qword [rbp + 0x10], rdx
mov rax, qword [rbp + 0x10]
movzx eax, word [rax]
mov dword [rbp - 0x50], eax
mov edi, 0xbddffc69
mov eax, 0x127db7e9
mov ecx, 0xac786ca4
nop
cmp edi, 0x6109e73
jle 0x1401c3220
cmp edi, 0x5470e5e5
jle 0x1401c3250
cmp edi, 0x5470e5e6
je 0x1401c32b4
cmp edi, 0x7a94aa7c
jne 0x1401c31f0
mov edi, 0x5470e5e6
mov rdx, rbx
jmp 0x1401c31f0
cmp edi, 0xac786ca4
je 0x1401c326b
cmp edi, 0xbddffc69
je 0x1401c3292
cmp edi, 0xe84ff315
jne 0x1401c31f0
mov edi, 0x7a94aa7c
xor ebx, ebx
jmp 0x1401c31f0
cmp edi, 0x6109e74
je 0x1401c32a8
cmp edi, 0x127db7e9
jne 0x1401c31f0
mov edi, 0x7a94aa7c
mov rbx, qword [rbp - 0x30]
jmp 0x1401c31f0
mov rdi, qword [rbp + 0x10]
movsxd rdi, dword [rdi + 0x3c]
add rdi, qword [rbp + 0x38]
mov qword [rbp - 0x30], rdi
mov rdi, qword [rbp - 0x30]
cmp dword [rdi], 0x4550
mov edi, 0xe84ff315
cmove edi, eax
jmp 0x1401c31f0
mov edi, dword [rbp - 0x50]
cmp edi, 0x5a4d
mov edi, 0x6109e74
cmove edi, ecx
jmp 0x1401c31f0
mov edi, 0x5470e5e6
xor edx, edx
jmp 0x1401c31f0
test rdx, rdx
je 0x1401c39bb
mov r14d, dword [rdx + 0x90]
xorps xmm0, xmm0
test r14, r14
je 0x1401c3a62
movaps xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], 0
mov eax, dword [0x1408381c8]
mov ecx, dword [0x1408381cc]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x10]
mov edx, 0x123a671a
mov eax, 0x914d2157
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp - 0x30]
cmovl eax, edx
mov edx, 0x84105c10
mov edi, 0x9b48b0ef
nop word cs:[rax + rax]
cmp edx, 0x9b48b0ee
jle 0x1401c3340
cmp edx, 0x9b48b0ef
je 0x1401c3357
cmp edx, 0x123a671a
jne 0x1401c3320
jmp 0x1401c3372
cmp edx, 0x84105c10
je 0x1401c335b
cmp edx, 0x914d2157
jne 0x1401c3320
mov edx, 0x9b48b0ef
jmp 0x1401c3320
mov edx, eax
jmp 0x1401c3320
movzx ecx, byte [rbp + 0x10]
cmp byte [rbp - 0x30], 0
mov edx, 0x914d2157
cmovne edx, edi
test cl, cl
cmovne edx, edi
jmp 0x1401c3320
mov qword [rbp - 0x58], rsi
add r14, qword [rbp + 0x38]
lea r15, [rbp - 0x30]
xorps xmm6, xmm6
lea rsi, [rbp + 0x10]
mov r12d, 0xf351f077
cmp dword [r14 + 0x10], 0
je 0x1401c38ec
nop word cs:[rax + rax]
mov rcx, r15
call fcn.1401c4450
mov eax, dword [0x1408381f0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete byte [rbp + 0x48]
mov ecx, dword [0x1408381f4]
mov eax, 0xfc9587ef
mov edx, 0x581650a6
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp + 0x10]
cmovl eax, edx
mov ecx, 0x90b95144
nop dword [rax]
cmp ecx, 0xfc9587ee
jle 0x1401c3400
cmp ecx, 0xfc9587ef
je 0x1401c3414
cmp ecx, 0x581650a6
jne 0x1401c33e0
jmp 0x1401c3440
cmp ecx, 0x90b95144
je 0x1401c341b
cmp ecx, 0xaa1b0743
jne 0x1401c33e0
mov ecx, eax
jmp 0x1401c33e0
mov ecx, 0xaa1b0743
jmp 0x1401c33e0
movzx edx, byte [rbp + 0x48]
cmp byte [rbp + 0x10], 0
mov ecx, 0xfc9587ef
mov edi, 0xaa1b0743
cmovne ecx, edi
test dl, dl
cmovne ecx, edi
jmp 0x1401c33e0
lea rdx, [rbp - 0x10]
movups xmmword [rdx], xmm6
mov eax, dword [0x1408381c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete byte [rbp + 0x48]
mov ecx, dword [0x1408381cc]
mov eax, 0x914d2157
mov edi, 0x123a671a
cmove eax, edi
cmp ecx, 0xa
setl byte [rbp + 0x10]
mov qword [rdx + 0x10], 0
cmovl eax, edi
mov ecx, 0x84105c10
nop word cs:[rax + rax]
nop
cmp ecx, 0x9b48b0ee
jle 0x1401c34b0
cmp ecx, 0x9b48b0ef
je 0x1401c34c7
cmp ecx, 0x123a671a
jne 0x1401c3490
jmp 0x1401c34f0
cmp ecx, 0x84105c10
je 0x1401c34cb
cmp ecx, 0x914d2157
jne 0x1401c3490
mov ecx, 0x9b48b0ef
jmp 0x1401c3490
mov ecx, eax
jmp 0x1401c3490
movzx edx, byte [rbp + 0x48]
cmp byte [rbp + 0x10], 0
mov ecx, 0x914d2157
mov edi, 0x9b48b0ef
cmovne ecx, edi
test dl, dl
cmovne ecx, edi
jmp 0x1401c3490
mov edi, dword [r14 + 0xc]
add rdi, qword [rbp + 0x38]
mov eax, dword [0x1408381e0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete byte [rbp + 0x57]
mov ecx, dword [0x1408381e4]
mov eax, 0xe37a6d70
mov edx, 0xb3a4ef92
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp + 0x48]
cmovl eax, edx
mov ecx, 0x9e78f8af
nop dword [rax]
cmp ecx, 0xce558d18
jg 0x1401c3550
cmp ecx, 0x9e78f8af
je 0x1401c356b
cmp ecx, 0xb3a4ef92
jne 0x1401c3530
jmp 0x1401c3590
cmp ecx, 0xce558d19
je 0x1401c3587
cmp ecx, 0xe37a6d70
jne 0x1401c3530
movaps xmmword [rbp + 0x10], xmm6
mov ecx, 0xce558d19
jmp 0x1401c3530
movzx edx, byte [rbp + 0x57]
cmp byte [rbp + 0x48], 0
mov ecx, 0xe37a6d70
mov ebx, 0xce558d19
cmovne ecx, ebx
test dl, dl
cmovne ecx, ebx
jmp 0x1401c3530
movaps xmmword [rbp + 0x10], xmm6
mov ecx, eax
jmp 0x1401c3530
lea rax, [rbp + 0x20]
movups xmmword [rax], xmm6
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rsi
mov rdx, rdi
mov r8, rax
call fcn.1401b11b0
mov rcx, r15
mov rdx, rsi
call fcn.1401c3d60
mov rcx, rsi
call fcn.1401b0ed0
mov rcx, rsi
call fcn.1401c4670
mov qword [rbp + 8], r14
mov rbx, r14
mov r14d, dword [r14]
mov rax, qword [rbp + 0x38]
cmp qword [r14 + rax], 0
je 0x1401c38b0
mov rax, qword [rbp + 0x38]
add r14, rax
mov rcx, qword [rbp + 8]
mov r13d, dword [rcx + 0x10]
add r13, rax
jmp 0x1401c360e
add r13, 8
cmp qword [r14], 0
je 0x1401c38b0
mov eax, dword [0x140837970]
mov ecx, dword [0x140837974]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x57]
cmp ecx, 0xa
setl byte [rbp + 0x48]
mov eax, 0xff1dfd50
nop word cs:[rax + rax]
nop dword [rax]
cmp eax, 0x38518605
jle 0x1401c3660
cmp eax, 0x38518606
je 0x1401c367d
cmp eax, 0x3dabcd81
jne 0x1401c3640
jmp 0x1401c36d0
cmp eax, 0xff1dfd50
je 0x1401c36ad
cmp eax, 0xff5eabe5
jne 0x1401c3640
mov rcx, rsi
call fcn.1401c4450
mov eax, 0x38518606
jmp 0x1401c3640
mov rcx, rsi
call fcn.1401c4450
mov eax, dword [0x140837970]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xff5eabe5
mov ecx, 0x3dabcd81
cmove eax, ecx
cmp dword [0x140837974], 0xa
cmovl eax, ecx
jmp 0x1401c3640
movzx ecx, byte [rbp + 0x57]
cmp byte [rbp + 0x48], 0
mov eax, 0xff5eabe5
mov edx, 0x38518606
cmovne eax, edx
test cl, cl
cmovne eax, edx
jmp 0x1401c3640
mov rax, qword [r14]
mov rcx, qword [rbp + 0x38]
lea rbx, [rax + rcx]
add rbx, 2
mov eax, dword [0x140837c40]
mov ecx, dword [0x140837c44]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x47]
cmp ecx, 0xa
setl byte [rbp + 0x46]
mov r15d, 0x2999a43b
nop word cs:[rax + rax]
nop
cmp r15d, 0x1186ec6e
jg 0x1401c3770
cmp r15d, 0xe13138ab
je 0x1401c379f
cmp r15d, 0xf351f077
jne 0x1401c3710
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rsi
mov rdx, rbx
mov r8, rax
call fcn.1401c5dd0
mov rdi, rax
mov eax, dword [0x140837c40]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r15d, 0xe13138ab
mov eax, 0x1186ec6f
cmove r15d, eax
cmp dword [0x140837c44], 0xa
cmovl r15d, eax
jmp 0x1401c3710
cmp r15d, 0x1186ec6f
je 0x1401c37c0
cmp r15d, 0x2999a43b
jne 0x1401c3710
movzx eax, byte [rbp + 0x47]
cmp byte [rbp + 0x46], 0
mov r15d, 0xe13138ab
cmovne r15d, r12d
test al, al
cmovne r15d, r12d
jmp 0x1401c3710
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r15d, 0xf351f077
mov rcx, rsi
mov rdx, rbx
mov r8, rax
call fcn.1401c5dd0
jmp 0x1401c3710
mov qword [rbp + 0x48], rdi
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x30], r13
lea rcx, [rbp - 0x10]
mov rdx, rsi
call fcn.1401c6d20
add r14, 8
mov eax, dword [0x1408381a8]
mov ecx, dword [0x1408381ac]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x57]
cmp ecx, 0xa
setl byte [rbp + 0x48]
mov eax, 0xf2958811
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp eax, 0xf2958810
jg 0x1401c3830
cmp eax, 0xa1c93054
je 0x1401c385a
cmp eax, 0xc9c2efad
jne 0x1401c3810
jmp 0x1401c3600
cmp eax, 0xfacd1b1a
je 0x1401c3871
cmp eax, 0xf2958811
jne 0x1401c3810
movzx ecx, byte [rbp + 0x57]
cmp byte [rbp + 0x48], 0
mov eax, 0xa1c93054
mov edx, 0xfacd1b1a
cmovne eax, edx
test cl, cl
cmovne eax, edx
jmp 0x1401c3810
mov rcx, rsi
call fcn.1401b0ed0
mov rcx, rsi
call fcn.1401c4670
mov eax, 0xfacd1b1a
jmp 0x1401c3810
mov rcx, rsi
call fcn.1401b0ed0
mov rcx, rsi
call fcn.1401c4670
mov eax, dword [0x1408381a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xa1c93054
mov ecx, 0xc9c2efad
cmove eax, ecx
cmp dword [0x1408381ac], 0xa
cmovl eax, ecx
jmp 0x1401c3810
lea rcx, [rbp - 0x50]
lea r15, [rbp - 0x30]
mov rdx, r15
call fcn.1401c4000
mov r14, qword [rbp + 8]
add r14, 0x14
lea rcx, [rbp - 0x10]
call fcn.1401c1120
mov rcx, r15
call fcn.1401b0ed0
mov rcx, r15
call fcn.1401c4670
cmp dword [r14 + 0x10], 0
jne 0x1401c33a0
lea rdi, [rbp - 0x50]
mov rsi, qword [rbp - 0x58]
mov rcx, rsi
mov rdx, rdi
call fcn.1401c4200
mov eax, dword [0x1408381b8]
mov ecx, dword [0x1408381bc]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x10]
cmp ecx, 0xa
setl byte [rbp - 0x30]
mov eax, 0x12daeab8
mov r14d, 0x55be7378
mov ebx, 0xa66f5126
nop
cmp eax, 0x196d2858
jg 0x1401c3970
cmp eax, 0xa66f5126
je 0x1401c3afd
cmp eax, 0x12daeab8
jne 0x1401c3930
movzx ecx, byte [rbp + 0x10]
cmp byte [rbp - 0x30], 0
mov eax, 0x196d2859
cmovne eax, r14d
test cl, cl
cmovne eax, r14d
jmp 0x1401c3930
cmp eax, 0x196d2859
je 0x1401c39a9
cmp eax, 0x55be7378
jne 0x1401c3930
mov rcx, rdi
call fcn.1401c09b0
mov eax, dword [0x1408381b8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x196d2859
cmove eax, ebx
cmp dword [0x1408381bc], 0xa
cmovl eax, ebx
jmp 0x1401c3930
mov rcx, rdi
call fcn.1401c09b0
mov eax, 0x55be7378
jmp 0x1401c3930
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov eax, dword [0x1408381c8]
mov ecx, dword [0x1408381cc]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x10]
mov edx, 0x123a671a
mov eax, 0x914d2157
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp - 0x30]
cmovl eax, edx
mov edx, 0x84105c10
mov ecx, 0x9b48b0ef
nop word cs:[rax + rax]
nop dword [rax]
cmp edx, 0x9b48b0ee
jle 0x1401c3a30
cmp edx, 0x9b48b0ef
je 0x1401c3a47
cmp edx, 0x123a671a
jne 0x1401c3a10
jmp 0x1401c3afd
cmp edx, 0x84105c10
je 0x1401c3a4b
cmp edx, 0x914d2157
jne 0x1401c3a10
mov edx, 0x9b48b0ef
jmp 0x1401c3a10
mov edx, eax
jmp 0x1401c3a10
movzx ebx, byte [rbp + 0x10]
cmp byte [rbp - 0x30], 0
mov edx, 0x914d2157
cmovne edx, ecx
test bl, bl
cmovne edx, ecx
jmp 0x1401c3a10
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov eax, dword [0x1408381c8]
mov ecx, dword [0x1408381cc]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x10]
mov edx, 0x123a671a
mov eax, 0x914d2157
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp - 0x30]
cmovl eax, edx
mov edx, 0x84105c10
mov ecx, 0x9b48b0ef
nop word [rax + rax]
cmp edx, 0x9b48b0ee
jg 0x1401c3ad0
cmp edx, 0x84105c10
je 0x1401c3ae2
cmp edx, 0x914d2157
jne 0x1401c3ab0
mov edx, 0x9b48b0ef
jmp 0x1401c3ab0
cmp edx, 0x9b48b0ef
je 0x1401c3af9
cmp edx, 0x123a671a
jne 0x1401c3ab0
jmp 0x1401c3afd
movzx ebx, byte [rbp + 0x10]
cmp byte [rbp - 0x30], 0
mov edx, 0x914d2157
cmovne edx, ecx
test bl, bl
cmovne edx, ecx
jmp 0x1401c3ab0
mov edx, eax
jmp 0x1401c3ab0
mov rax, rsi
movaps xmm6, xmmword [rbp + 0x60]
add rsp, 0xf8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret