Function at 0x41f170
Capabilities:
Read file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1a8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x110], xmm14
movaps xmmword [rbp + 0x100], xmm13
movaps xmmword [rbp + 0xf0], xmm12
movaps xmmword [rbp + 0xe0], xmm11
movaps xmmword [rbp + 0xd0], xmm10
movaps xmmword [rbp + 0xc0], xmm9
movaps xmmword [rbp + 0xb0], xmm8
movaps xmmword [rbp + 0xa0], xmm7
movaps xmmword [rbp + 0x90], xmm6
mov qword [rbp - 0x70], rcx
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
mov edx, dword [0x00439000]
mov ecx, dword [0x00439334]
cmp ecx, 9
setg al
cmp ecx, 0xa
setl bl
mov ecx, edx
xor ecx, 0x93f61d5a
add ecx, edx
add ecx, edx
add ecx, 0xfffffffd
imul ecx, edx
and ecx, 1
sete dl
or bl, dl
mov byte [rbp + 0x7f], bl
xor dword [rbp - 0x20], 0x1e27
movups xmm0, xmmword [rbp - 0x18]
movaps xmm1, xmmword [0x004340e0]
xorps xmm0, xmm1
movups xmmword [rbp - 0x18], xmm0
movups xmm0, xmmword [rbp - 8]
xorps xmm0, xmm1
movups xmmword [rbp - 8], xmm0
movups xmm0, xmmword [rbp + 8]
xorps xmm0, xmm1
movups xmmword [rbp + 8], xmm0
movups xmm0, xmmword [rbp + 0x18]
xorps xmm0, xmm1
movups xmmword [rbp + 0x18], xmm0
movups xmm0, xmmword [rbp + 0x28]
xorps xmm0, xmm1
movups xmmword [rbp + 0x28], xmm0
movups xmm0, xmmword [rbp + 0x38]
xorps xmm0, xmm1
movups xmmword [rbp + 0x38], xmm0
movups xmm0, xmmword [rbp + 0x48]
xorps xmm0, xmm1
movups xmmword [rbp + 0x48], xmm0
xor dword [rbp + 0x58], 0x1e27
mov byte [rbp + 0x7e], cl
xor dword [rbp + 0x5c], 0x1e27
or al, dl
mov byte [rbp + 0x7d], al
mov eax, 0x348
mov dword [rbp - 0x68], 0
movaps xmm6, xmmword [0x00434170]
movaps xmm8, xmmword [0x00434130]
movaps xmm9, xmmword [0x00434140]
movaps xmm7, xmmword [0x00434160]
movaps xmm10, xmmword [0x00434110]
movaps xmm11, xmmword [0x004340f0]
movaps xmm12, xmmword [0x00434150]
movaps xmm13, xmmword [0x00434120]
movaps xmm14, xmmword [0x00434100]
mov r12d, 0
mov r13d, 0
mov dword [rbp - 0x64], 0
mov r15d, 0
mov r14d, 0
mov dword [rbp - 0x3c], 0
mov dword [rbp - 0x60], 0
mov dword [rbp - 0x40], 0
mov dword [rbp - 0x44], 0
mov dword [rbp - 0x48], 0
mov dword [rbp - 0x5c], 0
mov dword [rbp - 0x58], 0
mov dword [rbp - 0x54], 0
mov dword [rbp - 0x4c], 0
mov dword [rbp - 0x50], 0
jmp 0x41f370
mov rax, qword [rbp + 0x70]
mov rax, qword [rbp + 0x68]
mov eax, dword [rbp + 0x58]
mov ecx, 0x4a79
xor eax, ecx
nop dword [rax]
cmp eax, 0x3737
jle 0x41f500
cmp eax, 0x5c3a
jg 0x41f600
cmp eax, 0x4b3f
jg 0x41f71a
cmp eax, 0x42a9
jg 0x41f8fe
cmp eax, 0x3738
je 0x41fc91
cmp eax, 0x420b
jne 0x41f370
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x80], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x68], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x80]
sub rsp, 0x20
mov rcx, qword [rbp - 0x70]
lea rdx, [0x004343d5]
call sub.msvcrt.dll_fopen
add rsp, 0x20
mov rcx, qword [rbp + 0x80]
mov qword [rcx], rax
mov rax, qword [rbp + 0x80]
cmp qword [rax], 0
sete byte [rbp + 0x8f]
cmp dword [0x00438a64], 9
mov ecx, dword [0x00439220]
setg bl
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
sete cl
mov eax, ebx
and al, cl
or dl, bl
xor dl, al
or bl, cl
xor bl, dl
test r12b, r12b
jne 0x41f4de
movups xmm0, xmmword [rbp - 0x14]
movups xmm1, xmmword [rbp - 4]
movups xmm2, xmmword [rbp + 0xc]
movups xmm3, xmmword [rbp + 0x1c]
xorps xmm0, xmm7
movups xmmword [rbp - 0x14], xmm0
xorps xmm1, xmm7
movups xmmword [rbp - 4], xmm1
xorps xmm2, xmm7
movups xmmword [rbp + 0xc], xmm2
xorps xmm3, xmm7
movups xmmword [rbp + 0x1c], xmm3
movups xmm0, xmmword [rbp + 0x2c]
xorps xmm0, xmm7
movups xmmword [rbp + 0x2c], xmm0
movaps xmm0, xmmword [rbp + 0x40]
xorps xmm0, xmm7
movaps xmmword [rbp + 0x40], xmm0
movaps xmm0, xmmword [rbp + 0x50]
xorps xmm0, xmm7
movaps xmmword [rbp + 0x50], xmm0
test bl, bl
mov eax, 0x3380
mov ecx, 0x4cf4
cmovne eax, ecx
xor eax, dword [rbp - 0x18]
mov r12b, 1
jmp 0x41f370
cmp eax, 0x1dcc
jle 0x41f6a0
cmp eax, 0x3028
jg 0x41f77e
cmp eax, 0x2fb3
jg 0x41f9bc
cmp eax, 0x1dcd
je 0x41fcd3
cmp eax, 0x2d81
jne 0x41f370
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x80], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x68], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x80]
sub rsp, 0x20
mov rcx, qword [rbp - 0x70]
lea rdx, [0x004343d5]
call sub.msvcrt.dll_fopen
add rsp, 0x20
mov rcx, qword [rbp + 0x80]
mov qword [rcx], rax
mov rax, qword [rbp + 0x80]
cmp qword [rax], 0
sete byte [rbp + 0x8f]
mov eax, dword [rbp + 0x3c]
mov ecx, 0x5c0a
xor eax, ecx
jmp 0x41f370
cmp eax, 0x72db
jle 0x41f821
cmp eax, 0x7986
jg 0x41fa36
cmp eax, 0x72dc
je 0x41fd35
cmp eax, 0x735d
jne 0x41f370
movzx eax, byte [rbp + 0x8e]
cmp byte [rbp - 0x3c], 0
jne 0x41f679
movups xmm0, xmmword [rbp + 4]
movups xmm1, xmmword [rbp + 0x14]
movups xmm2, xmmword [rbp + 0x48]
xorps xmm0, xmm13
movups xmmword [rbp + 4], xmm0
xorps xmm1, xmm13
movups xmmword [rbp + 0x14], xmm1
xor dword [rbp + 0x24], 0x28d2
xor dword [rbp + 0x28], 0x28d2
xor dword [rbp + 0x2c], 0x28d2
xorps xmm2, xmm13
movups xmmword [rbp + 0x48], xmm2
xor dword [rbp + 0x58], 0x28d2
test al, 1
mov eax, 0x5e1d
mov ecx, 0x11c
cmovne eax, ecx
xor eax, dword [rbp]
mov cl, 1
mov dword [rbp - 0x3c], ecx
jmp 0x41f370
cmp eax, 0x91a
jle 0x41f8bc
cmp eax, 0x1c07
jg 0x41faf2
cmp eax, 0x91b
je 0x41fd70
cmp eax, 0x1ade
jne 0x41f370
cmp dword [0x0043907c], 0xa
mov eax, dword [0x0043926c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x60], 0
jne 0x41f6fe
xor dword [rbp + 8], 0x7794
xor dword [rbp + 0x48], 0x7794
test al, al
mov eax, 0x3a0b
mov ecx, 0x5d2f
cmovne eax, ecx
xor eax, dword [rbp + 4]
mov cl, 1
mov dword [rbp - 0x60], ecx
jmp 0x41f370
cmp eax, 0x52f4
jg 0x41fb56
cmp eax, 0x4b40
je 0x41fdb0
cmp eax, 0x5068
jne 0x41f370
movzx eax, byte [rbp + 0x8d]
cmp byte [rbp - 0x48], 0
jne 0x41f762
movups xmm0, xmmword [rbp + 0x18]
xorps xmm0, xmm11
movups xmmword [rbp + 0x18], xmm0
xor dword [rbp + 0x50], 0x119
xor dword [rbp + 0x54], 0x119
test al, 1
mov eax, 0x4738
mov ecx, 0x7516
cmovne eax, ecx
xor eax, dword [rbp + 0x14]
mov cl, 1
mov dword [rbp - 0x48], ecx
jmp 0x41f370
cmp eax, 0x3148
jg 0x41fb88
cmp eax, 0x3029
je 0x41fe04
cmp eax, 0x30a8
jne 0x41f370
cmp dword [0x00438ce0], 0xa
mov eax, dword [0x004390e4]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r15b, r15b
jne 0x41f807
movups xmm0, xmmword [rbp - 4]
movups xmm1, xmmword [rbp + 0xc]
movups xmm2, xmmword [rbp + 0x1c]
movups xmm3, xmmword [rbp + 0x44]
xorps xmm0, xmm9
movups xmmword [rbp - 4], xmm0
xorps xmm1, xmm9
movups xmmword [rbp + 0xc], xmm1
xorps xmm2, xmm9
movups xmmword [rbp + 0x1c], xmm2
xor dword [rbp + 0x2c], 0x20ad
xorps xmm3, xmm9
movups xmmword [rbp + 0x44], xmm3
xor dword [rbp + 0x54], 0x20ad
xor dword [rbp + 0x58], 0x20ad
test al, al
mov eax, 0x597a
mov ecx, 0x4611
cmovne eax, ecx
xor eax, dword [rbp - 8]
mov r15b, 1
jmp 0x41f370
cmp eax, 0x692f
jle 0x41fc38
cmp eax, 0x6930
je 0x41f357
cmp eax, 0x6e3f
jne 0x41f370
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_fclose
call fcn.00418700
add rsp, 0x20
mov rax, qword [rbp - 0x28]
mov qword [rax], 0
mov rax, qword [rbp - 0x38]
mov dword [rax], 1
cmp dword [0x00438cec], 9
mov eax, dword [0x00438fcc]
setg cl
lea edx, [rax + 0x790628c8]
xor edx, 1
lea ebx, [rdx + rax]
add ebx, 0x790628c8
add edx, ebx
add edx, 0xffffffff
imul edx, eax
and edx, 1
sete al
or al, cl
xor al, dl
mov eax, 0x4d9f
mov ecx, 0x5949
cmovne eax, ecx
xor eax, dword [rbp + 8]
jmp 0x41f370
cmp eax, 0x348
je 0x41fe35
cmp eax, 0x363
je 0x41feb6
cmp eax, 0x44e
jne 0x41f370
mov rax, qword [rbp + 0x80]
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov eax, dword [rbp + 0x5c]
mov ecx, 0x2043
xor eax, ecx
jmp 0x41f370
cmp eax, 0x42aa
je 0x41ffdd
cmp eax, 0x45df
jne 0x41f370
mov ecx, dword [0x00439340]
mov eax, dword [0x004389b4]
cmp eax, 0xa
setl dl
cmp eax, 9
setg al
mov ebx, ecx
or ebx, 0x11e6ab0e
mov edi, ecx
xor edi, 0xee1954f1
add ebx, ecx
add ebx, edi
add ebx, 2
mov edi, ebx
not edi
add ebx, ebx
add ebx, edi
not ebx
imul ebx, ecx
and ebx, 1
sete cl
or al, cl
and bl, dl
xor bl, dl
xor bl, cl
xor bl, al
mov ecx, ebx
xor cl, 1
xor al, dl
or al, cl
xor al, bl
cmp byte [rbp - 0x40], 0
jne 0x41f9a0
movaps xmm0, xmmword [rbp + 0x10]
xorps xmm0, xmm10
movaps xmmword [rbp + 0x10], xmm0
xor dword [rbp + 0x20], 0x6dc4
xor dword [rbp + 0x24], 0x6dc4
xor dword [rbp + 0x4c], 0x6dc4
xor dword [rbp + 0x50], 0x6dc4
xor dword [rbp + 0x54], 0x6dc4
test al, 1
mov eax, 0x7850
mov ecx, 0x487d
cmovne eax, ecx
xor eax, dword [rbp + 0xc]
mov cl, 1
mov dword [rbp - 0x40], ecx
jmp 0x41f370
cmp eax, 0x2fb4
je 0x42003e
cmp eax, 0x2ff7
jne 0x41f370
mov eax, dword [0x00438e38]
cmp dword [0x00438ef8], 0xa
setl cl
lea edx, [rax + 0x3f740419]
not edx
add edx, eax
add edx, eax
add edx, 0x3f740417
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x4c], 0
jne 0x41fa1a
xor dword [rbp + 0x34], 0x51f0
xor dword [rbp + 0x38], 0x51f0
xor dword [rbp + 0x5c], 0x51f0
test al, al
mov eax, 0x413c
mov ecx, 0x71b3
cmovne eax, ecx
xor eax, dword [rbp + 0x30]
mov cl, 1
mov dword [rbp - 0x4c], ecx
jmp 0x41f370
cmp eax, 0x7987
je 0x4200a1
cmp eax, 0x7b6d
jne 0x41f370
mov rax, qword [rbp - 0x30]
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x80]
mov r9, qword [rax]
sub rsp, 0x20
mov r8d, 1
call sub.msvcrt.dll_fread
add rsp, 0x20
mov rcx, qword [rbp - 0x30]
mov qword [rcx], rax
mov rax, qword [rbp - 0x30]
cmp qword [rax], 0
sete byte [rbp + 0x8d]
cmp dword [0x00439428], 0xa
mov eax, dword [0x00438fdc]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x44], 0
jne 0x41fad6
movups xmm0, xmmword [rbp + 0x14]
xorps xmm0, xmm14
movups xmmword [rbp + 0x14], xmm0
xor dword [rbp + 0x24], 0x476
xor dword [rbp + 0x50], 0x476
xor dword [rbp + 0x54], 0x476
test al, al
mov eax, 0x1594
mov ecx, 0xebc
cmovne eax, ecx
xor eax, dword [rbp + 0x10]
mov cl, 1
mov dword [rbp - 0x44], ecx
jmp 0x41f370
cmp eax, 0x1c08
je 0x420146
cmp eax, 0x1d9a
jne 0x41f370
cmp dword [0x0043915c], 0xa
mov eax, dword [0x00438c0c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x58], 0
jne 0x41fb3a
xor dword [rbp + 0x24], 0x22f1
xor dword [rbp + 0x54], 0x22f1
test al, al
mov eax, 0x6c83
mov ecx, 0x1911
cmovne eax, ecx
xor eax, dword [rbp + 0x20]
mov cl, 1
mov dword [rbp - 0x58], ecx
jmp 0x41f370
cmp eax, 0x52f5
je 0x4201e2
cmp eax, 0x5662
jne 0x41f370
sub rsp, 0x20
call fcn.00418700
add rsp, 0x20
mov eax, dword [rbp + 0x50]
mov ecx, 0x7205
xor eax, ecx
jmp 0x41f370
cmp eax, 0x3149
je 0x420265
cmp eax, 0x34c1
jne 0x41f370
mov rax, qword [rbp + 0x80]
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov eax, dword [0x00438ad0]
mov ecx, eax
not ecx
mov edx, dword [0x00439224]
cmp edx, 9
setg bl
cmp edx, 0xa
setl dl
and ecx, 0x1189f25f
mov edi, eax
xor edi, 0xee760da0
add ecx, eax
add ecx, edi
add ecx, 0xee760da1
mov edi, ecx
not edi
mov esi, ecx
and esi, 1
xor ecx, 0xfffffffe
sub ecx, esi
and edi, 1
add ecx, edi
add ecx, 2
mov edi, ecx
not edi
add ecx, ecx
add ecx, edi
add ecx, 0xffffffff
imul ecx, eax
and cl, 1
or cl, dl
xor cl, bl
cmp byte [rbp - 0x50], 0
jne 0x41fc1c
xor dword [rbp + 0x38], 0x7c93
test cl, cl
mov eax, 0x10cc
mov ecx, 0x4bc6
cmovne eax, ecx
xor eax, dword [rbp + 0x34]
mov cl, 1
mov dword [rbp - 0x50], ecx
jmp 0x41f370
cmp eax, 0x5c3b
jne 0x4202dd
cmp dword [0x00439148], 0xa
mov eax, dword [0x00438a78]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x64], 0
jne 0x41fc75
xor dword [rbp - 0xc], 0x2297
xor dword [rbp + 0x40], 0x2297
test al, al
mov eax, 0x755b
mov ecx, 0x743b
cmovne eax, ecx
xor eax, dword [rbp - 0x10]
mov cl, 1
mov dword [rbp - 0x64], ecx
jmp 0x41f370
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_fclose
add rsp, 0x20
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
mov rcx, qword [rbp - 0x28]
mov qword [rcx], rax
mov rax, qword [rbp - 0x38]
mov dword [rax], 1
mov rax, qword [rbp - 0x30]
mov eax, dword [rbp + 0x54]
mov ecx, 0x3be0
xor eax, ecx
jmp 0x41f370
mov ecx, dword [0x0043941c]
mov eax, dword [0x00439364]
cmp eax, 0xa
setl dl
cmp eax, 9
setg al
mov ebx, 0xc64f6241
sub ebx, ecx
imul ebx, ecx
test bl, 1
sete cl
or al, cl
xor al, dl
xor dl, cl
xor al, 1
or al, dl
cmp byte [rbp - 0x54], 0
jne 0x41fd19
xor dword [rbp + 0x2c], 0xbb5
xor dword [rbp + 0x58], 0xbb5
test al, al
mov eax, 0x5a20
mov ecx, 0x41cc
cmovne eax, ecx
xor eax, dword [rbp + 0x28]
mov cl, 1
mov dword [rbp - 0x54], ecx
jmp 0x41f370
mov rax, qword [rbp + 0x70]
mov rax, qword [rbp + 0x68]
mov eax, dword [0x00439090]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x1752
mov ecx, 0x5195
cmovne eax, ecx
cmp dword [0x00439234], 9
mov ecx, 0x1752
cmovle eax, ecx
xor eax, dword [rbp + 0x2c]
jmp 0x41f370
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_fclose
call fcn.00418700
add rsp, 0x20
mov rax, qword [rbp - 0x28]
mov qword [rax], 0
mov rax, qword [rbp - 0x38]
mov dword [rax], 1
mov eax, dword [rbp + 0x48]
mov ecx, 0x2abb
xor eax, ecx
jmp 0x41f370
mov rax, qword [rbp - 0x30]
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x80]
mov r9, qword [rax]
sub rsp, 0x20
mov r8d, 1
call sub.msvcrt.dll_fread
add rsp, 0x20
mov rcx, qword [rbp - 0x30]
mov qword [rcx], rax
mov rax, qword [rbp - 0x30]
cmp qword [rax], 0
sete byte [rbp + 0x8d]
mov eax, dword [rbp + 0x4c]
mov ecx, 0x25b9
xor eax, ecx
jmp 0x41f370
sub rsp, 0x20
call fcn.00418700
add rsp, 0x20
mov rax, qword [rbp - 0x28]
mov qword [rax], 0
mov rax, qword [rbp - 0x38]
mov dword [rax], 1
mov eax, dword [rbp + 0x40]
mov ecx, 0x56ac
xor eax, ecx
jmp 0x41f370
movzx eax, byte [rbp + 0x7e]
movzx eax, byte [rbp + 0x7d]
cmp byte [rbp - 0x68], 0
jne 0x41fe98
movups xmm0, xmmword [rbp - 0x18]
movups xmm1, xmmword [rbp - 8]
movups xmm2, xmmword [rbp + 8]
movups xmm3, xmmword [rbp + 0x18]
xorps xmm0, xmm6
movups xmmword [rbp - 0x18], xmm0
xorps xmm1, xmm6
movups xmmword [rbp - 8], xmm1
xorps xmm2, xmm6
movups xmmword [rbp + 8], xmm2
xorps xmm3, xmm6
movups xmmword [rbp + 0x18], xmm3
movups xmm0, xmmword [rbp + 0x28]
xorps xmm0, xmm6
movups xmmword [rbp + 0x28], xmm0
movups xmm0, xmmword [rbp + 0x38]
xorps xmm0, xmm6
movups xmmword [rbp + 0x38], xmm0
movups xmm0, xmmword [rbp + 0x48]
xorps xmm0, xmm6
movups xmmword [rbp + 0x48], xmm0
xor byte [rbp + 0x58], 0x26
xor byte [rbp + 0x5c], 0x26
cmp byte [rbp + 0x7f], 0
mov eax, 0x33a6
mov ecx, 0x5c2c
cmovne eax, ecx
xor eax, dword [rbp - 0x20]
mov cl, 1
mov dword [rbp - 0x68], ecx
jmp 0x41f370
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
sub rsp, 0x20
xor edx, edx
mov r8d, 2
call sub.msvcrt.dll_fseek
add rsp, 0x20
mov rax, qword [rbp + 0x68]
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_ftell
add rsp, 0x20
cdqe
mov rcx, qword [rbp + 0x68]
mov qword [rcx], rax
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
sub rsp, 0x20
xor edx, edx
xor r8d, r8d
call sub.msvcrt.dll_fseek
add rsp, 0x20
mov rax, qword [rbp + 0x70]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_malloc
add rsp, 0x20
mov rcx, qword [rbp + 0x70]
mov qword [rcx], rax
mov rax, qword [rbp + 0x70]
cmp qword [rax], 0
sete byte [rbp + 0x8e]
mov eax, dword [0x00438dc8]
mov ecx, dword [0x0043917c]
cmp ecx, 9
setg dl
cmp ecx, 0xa
setl r8b
mov ebx, 1
sub ebx, eax
imul ebx, eax
test bl, 1
sete bl
mov ecx, r8d
or cl, bl
mov eax, r8d
xor al, bl
xor al, cl
xor cl, r8b
or dl, bl
xor cl, dl
xor dl, bl
xor al, 1
or al, cl
xor al, dl
test r14b, r14b
jne 0x41ffc3
movaps xmm0, xmmword [rbp]
xorps xmm0, xmm8
movaps xmmword [rbp], xmm0
movaps xmm0, xmmword [rbp + 0x10]
xorps xmm0, xmm8
movaps xmmword [rbp + 0x10], xmm0
movaps xmm0, xmmword [rbp + 0x20]
xorps xmm0, xmm8
movaps xmmword [rbp + 0x20], xmm0
movups xmm0, xmmword [rbp + 0x48]
xorps xmm0, xmm8
movups xmmword [rbp + 0x48], xmm0
xor dword [rbp + 0x58], 0x7e1d
test al, al
mov eax, 0x79d7
mov ecx, 0x1682
cmovne eax, ecx
xor eax, dword [rbp - 4]
mov r14b, 1
jmp 0x41f370
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_fclose
add rsp, 0x20
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
mov rcx, qword [rbp - 0x28]
mov qword [rcx], rax
mov rax, qword [rbp - 0x38]
mov dword [rax], 1
mov rax, qword [rbp - 0x30]
mov eax, dword [0x004391b8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x4e72
mov ecx, 0x6487
cmove eax, ecx
cmp dword [0x00438dd0], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x24]
jmp 0x41f370
mov eax, dword [0x004393b8]
mov ebx, eax
cmp dword [0x00438c18], 0xa
not ebx
setl dl
mov ecx, ebx
and ecx, 0xe0550dc3
add ecx, 2
not ecx
add ecx, ebx
add ecx, ebx
add ecx, 0xffffffff
imul ecx, eax
test cl, 1
sete al
or al, dl
cmp byte [rbp - 0x5c], 0
jne 0x420085
xor dword [rbp + 0x1c], 0x5039
xor dword [rbp + 0x50], 0x5039
test al, al
mov eax, 0xdd9
mov ecx, 0x223c
cmovne eax, ecx
xor eax, dword [rbp + 0x18]
mov cl, 1
mov dword [rbp - 0x5c], ecx
jmp 0x41f370
sub rsp, 0x20
call fcn.00418700
add rsp, 0x20
mov edi, dword [0x00438c94]
mov eax, dword [0x00438ff4]
cmp eax, 9
setg r8b
cmp eax, 0xa
setl r9b
mov esi, edi
xor esi, 0x201c15c9
mov ebx, edi
not ebx
add ebx, ebx
or ebx, 0xbfc7d46c
sub esi, ebx
mov eax, esi
add eax, eax
add eax, esi
add eax, 0xdfe3ea36
imul eax, edi
and eax, 1
sete bl
mov edx, r9d
and dl, bl
mov r10d, r9d
xor r10b, bl
or al, r9b
xor al, bl
mov r11d, eax
not r11b
mov ecx, ebx
and cl, r8b
xor cl, r10b
or r9b, bl
or bl, r8b
xor bl, r9b
xor bl, cl
xor dl, bl
and bl, al
xor bl, dl
xor dl, 1
or r11b, dl
xor bl, r11b
or dl, al
xor dl, bl
test dl, 1
mov eax, 0x1618
mov ecx, 0x5de0
cmovne eax, ecx
xor eax, dword [rbp + 0x1c]
jmp 0x41f370
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
sub rsp, 0x20
xor edx, edx
mov r8d, 2
call sub.msvcrt.dll_fseek
add rsp, 0x20
mov rax, qword [rbp + 0x68]
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_ftell
add rsp, 0x20
cdqe
mov rcx, qword [rbp + 0x68]
mov qword [rcx], rax
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
sub rsp, 0x20
xor edx, edx
xor r8d, r8d
call sub.msvcrt.dll_fseek
add rsp, 0x20
mov rax, qword [rbp + 0x70]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_malloc
add rsp, 0x20
mov rcx, qword [rbp + 0x70]
mov qword [rcx], rax
mov rax, qword [rbp + 0x70]
cmp qword [rax], 0
sete byte [rbp + 0x8e]
mov eax, dword [rbp + 0x44]
mov ecx, 0x66bc
xor eax, ecx
jmp 0x41f370
movzx eax, byte [rbp + 0x8f]
test r13b, r13b
jne 0x42024b
movaps xmm0, xmmword [rbp - 0x10]
xorps xmm0, xmm12
movaps xmmword [rbp - 0x10], xmm0
movaps xmm0, xmmword [rbp]
xorps xmm0, xmm12
movaps xmmword [rbp], xmm0
movaps xmm0, xmmword [rbp + 0x10]
xorps xmm0, xmm12
movaps xmmword [rbp + 0x10], xmm0
movaps xmm0, xmmword [rbp + 0x20]
xorps xmm0, xmm12
movaps xmmword [rbp + 0x20], xmm0
xor dword [rbp + 0x30], 0x985
xor dword [rbp + 0x34], 0x985
xor dword [rbp + 0x38], 0x985
movaps xmm0, xmmword [rbp + 0x40]
xorps xmm0, xmm12
movaps xmmword [rbp + 0x40], xmm0
movaps xmm0, xmmword [rbp + 0x50]
xorps xmm0, xmm12
movaps xmmword [rbp + 0x50], xmm0
test al, 1
mov eax, 0x7c5f
mov ecx, 0x10cc
cmovne eax, ecx
xor eax, dword [rbp - 0x14]
mov r13b, 1
jmp 0x41f370
sub rsp, 0x20
call fcn.00418700
add rsp, 0x20
mov rax, qword [rbp - 0x28]
mov qword [rax], 0
mov rax, qword [rbp - 0x38]
mov dword [rax], 1
mov eax, dword [0x00439294]
cmp dword [0x0043930c], 0xa
setl cl
lea edx, [rax + 1]
imul edx, eax
and edx, 1
sete al
mov ebx, ecx
and bl, al
and dl, cl
xor dl, cl
xor dl, al
or cl, al
xor cl, dl
xor cl, al
mov eax, ecx
not al
and al, bl
mov edx, ebx
or dl, cl
xor dl, bl
xor dl, al
and cl, bl
xor cl, dl
test cl, 1
mov eax, 0x57cc
mov ecx, 0x4812
cmovne eax, ecx
xor eax, dword [rbp - 0xc]
jmp 0x41f370
cmp eax, 0x5f44
jne 0x41f370
mov rax, qword [rbp - 0x78]
movaps xmm6, xmmword [rbp + 0x90]
movaps xmm7, xmmword [rbp + 0xa0]
movaps xmm8, xmmword [rbp + 0xb0]
movaps xmm9, xmmword [rbp + 0xc0]
movaps xmm10, xmmword [rbp + 0xd0]
movaps xmm11, xmmword [rbp + 0xe0]
movaps xmm12, xmmword [rbp + 0xf0]
movaps xmm13, xmmword [rbp + 0x100]
movaps xmm14, xmmword [rbp + 0x110]
lea rsp, [rbp + 0x128]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret