Function at 0x140002450
Capabilities:
Read file on windows
Write file on windows

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x438]
sub rsp, 0x510
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x400], rax
mov r13, rdx
mov qword [rsp + 0x50], rdx
mov rax, qword [0x1400404e0]
mov qword [rsp + 0x58], rax
mov rdi, qword [0x14003e100]
mov qword [rsp + 0x68], rdi
xor esi, esi
movzx r15d, si
movzx eax, si
mov dword [rsp + 0x3c], eax
mov ecx, esi
lea r14, [0x140000000]
nop word [rax + rax]
movzx eax, byte [rcx + r14 + 0x31370]
mov byte [rbp + rcx + 0xc0], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400024d0
mov ecx, 0x10
call qword [sym.imp.mfc120u.dll_Ordinal_1484]
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140002539
mov word [rax], si
mov qword [rax + 8], rsi
lea rcx, [rbp + 0xc0]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x14000253c
inc eax
movsxd rcx, eax
call qword [sym.imp.mfc120u.dll_Ordinal_1484]
mov qword [rbx + 8], rax
lea rdx, [rbp + 0xc0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x14000253c
mov rbx, rsi
mov edx, 0xa
mov rcx, rbx
call fcn.14002ab70
mov r12, rax
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x14000255e
or eax, 0xffffffff
jmp 0x1400046ea
test rbx, rbx
je 0x14000257b
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140002572
call qword [sym.imp.mfc120u.dll_Ordinal_1486]
mov rcx, rbx
call qword [sym.imp.mfc120u.dll_Ordinal_1486]
xor ecx, ecx
mov word [0x14003dee4], cx
movzx eax, word [0x1400401b0]
mov word [rsp + 0x34], ax
mov esi, 0x106
lea r9d, [rcx + 1]
mov rbx, qword [rsp + 0x58]
cmp ax, word [rbx + 0x80]
jge 0x140003bf9
nop dword [rax + rax]
mov word [0x1400401b4], r9w
mov word [0x1400401d8], cx
movzx r13d, cx
mov dword [rsp + 0x30], r13d
mov word [rsp + 0x38], cx
mov word [0x14003e118], ax
movsx edx, ax
movzx eax, word [rbx + 0x82]
imul edx, eax
add edx, dword [rbx + 0x28]
mov rcx, qword [0x1400401c8]
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ebx, eax
inc eax
test eax, 0xfffffffe
jne 0x140002635
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x14000261c
mov eax, eax
mov ecx, dword [r14 + rax*4 + 0x310a0]
jmp 0x14000261e
mov ecx, esi
mov dword [0x1400430b8], ecx
mov dword [0x1400434c8], 2
mov byte [0x1400433c0], 0
cmp ebx, 0xffffffff
je 0x140002556
mov rbx, qword [rsp + 0x58]
movzx r8d, word [rbx + 0x82]
mov rcx, qword [0x1400401c8]
xor edx, edx
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x60]
mov rdx, rdi
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14000269e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x140002685
mov eax, eax
mov ecx, dword [r14 + rax*4 + 0x310a0]
jmp 0x140002687
mov ecx, esi
mov dword [0x1400430b8], ecx
mov dword [0x1400434c8], 2
mov byte [0x1400433c0], 0
movzx eax, word [rbx + 0x82]
cmp dword [rsp + 0x60], eax
jne 0x140002556
movzx esi, word [0x1400401d8]
add eax, eax
mov dword [rsp + 0x40], eax
movzx r12d, word [0x1400401b4]
mov r14, qword [0x1400401e8]
cmp r12w, ax
jge 0x140003bae
mov r9, qword [0x14003e110]
nop dword [rax]
movzx eax, r12w
sar ax, 1
movsx ecx, r12w
and ecx, 0x80000001
jge 0x1400026fa
dec ecx
or ecx, 0xfffffffe
inc ecx
movsx rax, ax
lea r8, [rax + rdi]
movzx edx, byte [r8]
movzx eax, dl
test ecx, ecx
jne 0x140002712
shr al, 4
jmp 0x140002714
and al, 0xf
cmp al, 0xd
jae 0x140003ad2
test r13w, r13w
jne 0x140003adc
test al, al
jne 0x140003ab7
movsx rax, si
cmp rax, 0x100
jae 0x140003be7
mov byte [rbp + rax + 0x160], r13b
mov word [0x140040008], si
lea r9, [rsp + 0x38]
movzx r8d, r12w
mov rdx, qword [0x14003e100]
mov rcx, rbx
call fcn.140006f70
lea r12d, [rax + 1]
movzx ecx, r12w
sar cx, 1
movsx eax, r12w
and eax, 0x80000001
jge 0x140002782
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
movsx rax, cx
movzx ecx, byte [rax + rdi]
jne 0x140002793
shr cl, 4
jmp 0x140002796
and cl, 0xf
movzx esi, cl
lea eax, [r12 + 1]
mov word [0x1400401b4], ax
mov word [0x1400401d8], si
movzx eax, word [rsp + 0x38]
mov word [0x1400401b8], ax
mov rcx, rbx
call fcn.140006e60
cmp ax, 1
jne 0x140002556
lea r8, [rbp + 0x330]
lea rdx, [rbp + 0x160]
call fcn.1400073e0
cmp r15w, word [0x14003dfc4]
jge 0x140003597
mov r14, qword [0x1400401e8]
movsx rdi, r15w
shl rdi, 4
mov rdx, qword [rdi + r14]
lea rcx, [rbp + 0x330]
call fcn.140007550
test ax, ax
js 0x14000357c
movzx r8d, word [rdi + r14 + 8]
mov word [0x1400402fa], r8w
mov edx, 0x3fff
mov dword [0x1400402fc], edx
xor ecx, ecx
movzx ebx, word [rdi + r14 + 0xa]
mov word [0x140040300], bx
mov word [0x140040302], cx
test ax, ax
jle 0x140002e80
mov eax, 1
mov word [0x14003dee4], ax
mov rcx, qword [rdi + r14]
lea rdx, [rbp - 0x40]
nop
movzx eax, byte [rcx]
test al, al
jne 0x14000286c
cmp byte [rcx + 1], al
je 0x14000287f
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
add rdx, 2
add rcx, 2
jmp 0x140002860
movzx eax, byte [rcx]
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
lea rdx, [0x14003c028]
lea rcx, [rbp - 0x40]
cmp byte [rcx], 0
jne 0x1400028a1
cmp byte [rcx + 1], 0
je 0x1400028a7
add rcx, 2
jmp 0x140002896
movzx eax, byte [rdx]
test al, al
jne 0x1400028b3
cmp byte [rdx + 1], al
je 0x1400028c6
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400028a7
mov word [rcx], 0
lea rdx, [rsp + 0x78]
movzx ecx, r8w
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x140002929
lea r13, [0x140000000]
cmp al, 0x7f
ja 0x1400028fb
movzx ecx, al
jmp 0x140002912
cmp al, 0xfe
ja 0x14000290d
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x140002912
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x1400028f2
mov r13d, dword [rsp + 0x30]
xor r14d, r14d
mov word [rdx], r14w
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x140002943
cmp byte [rcx + 1], r14b
je 0x140002950
add rcx, 2
jmp 0x140002938
movzx eax, byte [rdx]
test al, al
jne 0x14000295d
cmp byte [rdx + 1], r14b
je 0x140002970
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140002950
mov word [rcx], r14w
lea rdx, [0x14003c028]
lea rcx, [rbp - 0x40]
nop
cmp byte [rcx], r14b
jne 0x14000298b
cmp byte [rcx + 1], r14b
je 0x140002991
add rcx, 2
jmp 0x140002980
movzx eax, byte [rdx]
test al, al
jne 0x14000299e
cmp byte [rdx + 1], r14b
je 0x1400029b1
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140002991
mov word [rcx], r14w
mov ecx, 0x3fff
lea rdx, [rsp + 0x78]
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x140002a17
lea r13, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x1400029e9
movzx ecx, al
jmp 0x140002a00
cmp al, 0xfe
ja 0x1400029fb
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x140002a00
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x1400029e0
mov r13d, dword [rsp + 0x30]
mov word [rdx], r14w
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x140002a2e
cmp byte [rcx + 1], r14b
je 0x140002a34
add rcx, 2
jmp 0x140002a23
movzx eax, byte [rdx]
test al, al
jne 0x140002a41
cmp byte [rdx + 1], r14b
je 0x140002a54
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140002a34
mov word [rcx], r14w
lea rdx, [0x14003c028]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x140002a6e
cmp byte [rcx + 1], r14b
je 0x140002a74
add rcx, 2
jmp 0x140002a63
movzx eax, byte [rdx]
test al, al
jne 0x140002a81
cmp byte [rdx + 1], r14b
je 0x140002a94
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140002a74
mov word [rcx], r14w
xor ecx, ecx
lea rdx, [rsp + 0x78]
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x140002af7
lea r13, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x140002ac9
movzx ecx, al
jmp 0x140002ae0
cmp al, 0xfe
ja 0x140002adb
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x140002ae0
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140002ac0
mov r13d, dword [rsp + 0x30]
mov word [rdx], r14w
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x140002b0e
cmp byte [rcx + 1], r14b
je 0x140002b14
add rcx, 2
jmp 0x140002b03
movzx eax, byte [rdx]
test al, al
jne 0x140002b21
cmp byte [rdx + 1], r14b
je 0x140002b34
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140002b14
mov word [rcx], r14w
lea rdx, [0x14003c028]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x140002b4e
cmp byte [rcx + 1], r14b
je 0x140002b54
add rcx, 2
jmp 0x140002b43
movzx eax, byte [rdx]
test al, al
jne 0x140002b61
cmp byte [rdx + 1], r14b
je 0x140002b74
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140002b54
mov word [rcx], r14w
lea rdx, [rsp + 0x78]
movzx ecx, bx
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x140002bd7
lea r13, [0x140000000]
nop
cmp al, 0x7f
ja 0x140002ba9
movzx ecx, al
jmp 0x140002bc0
cmp al, 0xfe
ja 0x140002bbb
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x140002bc0
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140002ba0
mov r13d, dword [rsp + 0x30]
mov word [rdx], r14w
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x140002bee
cmp byte [rcx + 1], r14b
je 0x140002bf4
add rcx, 2
jmp 0x140002be3
movzx eax, byte [rdx]
test al, al
jne 0x140002c01
cmp byte [rdx + 1], r14b
je 0x140002c14
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140002bf4
mov word [rcx], r14w
lea rdx, [0x14003c028]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x140002c2e
cmp byte [rcx + 1], r14b
je 0x140002c34
add rcx, 2
jmp 0x140002c23
movzx eax, byte [rdx]
test al, al
jne 0x140002c41
cmp byte [rdx + 1], r14b
je 0x140002c54
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140002c34
mov word [rcx], r14w
xor ecx, ecx
lea rdx, [rsp + 0x78]
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x140002cb7
lea r13, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x140002c89
movzx ecx, al
jmp 0x140002ca0
cmp al, 0xfe
ja 0x140002c9b
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x140002ca0
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140002c80
mov r13d, dword [rsp + 0x30]
mov word [rdx], r14w
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x140002cce
cmp byte [rcx + 1], r14b
je 0x140002cd4
add rcx, 2
jmp 0x140002cc3
movzx eax, byte [rdx]
test al, al
jne 0x140002ce1
cmp byte [rdx + 1], r14b
je 0x140002cf4
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140002cd4
mov word [rcx], r14w
lea rdx, [0x14003c020]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x140002d0e
cmp byte [rcx + 1], r14b
je 0x140002d14
add rcx, 2
jmp 0x140002d03
movzx eax, byte [rdx]
test al, al
jne 0x140002d21
cmp byte [rdx + 1], r14b
je 0x140002d34
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140002d14
mov word [rcx], r14w
lea rax, [rbp - 0x40]
mov ebx, r14d
nop
cmp byte [rax], r14b
jne 0x140002d4b
cmp byte [rax + 1], r14b
je 0x140002d53
add rax, 2
inc ebx
jmp 0x140002d40
add ebx, ebx
mov r8d, ebx
lea rdx, [rbp - 0x40]
mov rcx, qword [rsp + 0x48]
call fcn.14002a820
cmp eax, ebx
jne 0x140002556
mov r14, qword [0x1400401e8]
nop word [rax + rax]
mov rcx, qword [rdi + r14]
lea rdx, [rbp + 0xe0]
nop dword [rax + rax]
movzx eax, byte [rcx]
test al, al
jne 0x140002d9c
cmp byte [rcx + 1], al
je 0x140002daf
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
add rdx, 2
add rcx, 2
jmp 0x140002d90
movzx eax, byte [rcx]
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
inc r15w
movzx ecx, r15w
call fcn.14001bdb0
test ax, ax
je 0x140002e26
movzx r8d, word [0x14003ee5c]
mov word [0x14003e1a4], r8w
movzx ecx, word [0x14003ee60]
imul ecx, r8d
mov eax, 0x51eb851f
imul ecx
mov ecx, edx
sar ecx, 5
mov eax, ecx
shr eax, 0x1f
add ecx, eax
add cx, word [0x14003ee48]
mov word [0x14003ee50], cx
lea rdx, [0x14003e1b0]
call qword [0x140041aa8]
test ax, ax
jne 0x140003bdd
mov r14, qword [0x1400401e8]
cmp r15w, word [0x14003dfc4]
jge 0x14000357c
movsx rdi, r15w
shl rdi, 4
mov rdx, qword [rdi + r14]
lea rcx, [rbp + 0xe0]
call fcn.140007550
test ax, ax
jne 0x1400027f2
movzx eax, word [rdi + r14 + 8]
cmp word [0x1400402fa], ax
jne 0x1400027f2
movzx eax, word [rdi + r14 + 0xa]
cmp word [0x140040300], ax
je 0x140002d80
jmp 0x1400027f2
cmp r8w, word [0x1400402f0]
jne 0x140002f36
cmp bx, word [0x1400402f6]
jne 0x140002f36
mov word [rsp + 0x20], bx
movzx r9d, r8w
lea rdx, [rbp + 0x260]
mov rcx, qword [rdi + r14]
call fcn.14000ab90
lea rax, [rbp + 0x260]
xor edx, edx
mov r8d, edx
cmp byte [rax], dl
jne 0x140002ec9
cmp byte [rax + 1], dl
je 0x140002ed2
add rax, 2
inc r8d
jmp 0x140002ec0
inc r8w
add r8w, r8w
mov word [0x14003ee54], r8w
lea rcx, [rbp + 0x260]
mov r9d, dword [0x140040004]
mov edx, r9d
add rdx, qword [rsp + 0x50]
movzx eax, byte [rcx]
test al, al
jne 0x140002f04
cmp byte [rcx + 1], al
je 0x140002f17
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
add rdx, 2
add rcx, 2
jmp 0x140002ef8
movzx eax, byte [rcx]
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
movsx eax, r8w
add r9d, eax
mov dword [0x140040004], r9d
jmp 0x140003480
mov eax, 1
mov word [0x14003dee4], ax
cmp dx, word [0x1400402f2]
jne 0x140002f58
cmp cx, word [0x1400402f4]
jne 0x140002f58
mov dword [rsp + 0x3c], eax
mov rcx, qword [rdi + r14]
lea rdx, [rbp - 0x40]
movzx eax, byte [rcx]
test al, al
jne 0x140002f6c
cmp byte [rcx + 1], al
je 0x140002f7f
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
add rdx, 2
add rcx, 2
jmp 0x140002f60
movzx eax, byte [rcx]
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
lea rdx, [0x14003c028]
lea rcx, [rbp - 0x40]
cmp byte [rcx], 0
jne 0x140002fa1
cmp byte [rcx + 1], 0
je 0x140002fa7
add rcx, 2
jmp 0x140002f96
movzx eax, byte [rdx]
test al, al
jne 0x140002fb3
cmp byte [rdx + 1], al
je 0x140002fc6
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140002fa7
mov word [rcx], 0
lea rdx, [rsp + 0x78]
movzx ecx, r8w
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x140003029
lea r13, [0x140000000]
cmp al, 0x7f
ja 0x140002ffb
movzx ecx, al
jmp 0x140003012
cmp al, 0xfe
ja 0x14000300d
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x140003012
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140002ff2
mov r13d, dword [rsp + 0x30]
xor r14d, r14d
mov word [rdx], r14w
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x140003043
cmp byte [rcx + 1], r14b
je 0x140003050
add rcx, 2
jmp 0x140003038
movzx eax, byte [rdx]
test al, al
jne 0x14000305d
cmp byte [rdx + 1], r14b
je 0x140003070
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003050
mov word [rcx], r14w
lea rdx, [0x14003c028]
lea rcx, [rbp - 0x40]
nop
cmp byte [rcx], r14b
jne 0x14000308b
cmp byte [rcx + 1], r14b
je 0x140003091
add rcx, 2
jmp 0x140003080
movzx eax, byte [rdx]
test al, al
jne 0x14000309e
cmp byte [rdx + 1], r14b
je 0x1400030b1
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003091
mov word [rcx], r14w
mov ecx, 0x3fff
lea rdx, [rsp + 0x78]
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x140003117
lea r13, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x1400030e9
movzx ecx, al
jmp 0x140003100
cmp al, 0xfe
ja 0x1400030fb
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x140003100
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x1400030e0
mov r13d, dword [rsp + 0x30]
mov word [rdx], r14w
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x14000312e
cmp byte [rcx + 1], r14b
je 0x140003134
add rcx, 2
jmp 0x140003123
movzx eax, byte [rdx]
test al, al
jne 0x140003141
cmp byte [rdx + 1], r14b
je 0x140003154
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003134
mov word [rcx], r14w
lea rdx, [0x14003c028]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x14000316e
cmp byte [rcx + 1], r14b
je 0x140003174
add rcx, 2
jmp 0x140003163
movzx eax, byte [rdx]
test al, al
jne 0x140003181
cmp byte [rdx + 1], r14b
je 0x140003194
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003174
mov word [rcx], r14w
xor ecx, ecx
lea rdx, [rsp + 0x78]
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x1400031f7
lea r13, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x1400031c9
movzx ecx, al
jmp 0x1400031e0
cmp al, 0xfe
ja 0x1400031db
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x1400031e0
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x1400031c0
mov r13d, dword [rsp + 0x30]
mov word [rdx], r14w
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x14000320e
cmp byte [rcx + 1], r14b
je 0x140003214
add rcx, 2
jmp 0x140003203
movzx eax, byte [rdx]
test al, al
jne 0x140003221
cmp byte [rdx + 1], r14b
je 0x140003234
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003214
mov word [rcx], r14w
lea rdx, [0x14003c028]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x14000324e
cmp byte [rcx + 1], r14b
je 0x140003254
add rcx, 2
jmp 0x140003243
movzx eax, byte [rdx]
test al, al
jne 0x140003261
cmp byte [rdx + 1], r14b
je 0x140003274
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003254
mov word [rcx], r14w
lea rdx, [rsp + 0x78]
movzx ecx, bx
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x1400032d7
lea r13, [0x140000000]
nop
cmp al, 0x7f
ja 0x1400032a9
movzx ecx, al
jmp 0x1400032c0
cmp al, 0xfe
ja 0x1400032bb
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x1400032c0
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x1400032a0
mov r13d, dword [rsp + 0x30]
mov word [rdx], r14w
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x1400032ee
cmp byte [rcx + 1], r14b
je 0x1400032f4
add rcx, 2
jmp 0x1400032e3
movzx eax, byte [rdx]
test al, al
jne 0x140003301
cmp byte [rdx + 1], r14b
je 0x140003314
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400032f4
mov word [rcx], r14w
lea rdx, [0x14003c028]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x14000332e
cmp byte [rcx + 1], r14b
je 0x140003334
add rcx, 2
jmp 0x140003323
movzx eax, byte [rdx]
test al, al
jne 0x140003341
cmp byte [rdx + 1], r14b
je 0x140003354
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003334
mov word [rcx], r14w
xor ecx, ecx
lea rdx, [rsp + 0x78]
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x1400033b7
lea r13, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x140003389
movzx ecx, al
jmp 0x1400033a0
cmp al, 0xfe
ja 0x14000339b
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x1400033a0
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140003380
mov r13d, dword [rsp + 0x30]
mov word [rdx], r14w
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x1400033ce
cmp byte [rcx + 1], r14b
je 0x1400033d4
add rcx, 2
jmp 0x1400033c3
movzx eax, byte [rdx]
test al, al
jne 0x1400033e1
cmp byte [rdx + 1], r14b
je 0x1400033f4
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400033d4
mov word [rcx], r14w
lea rdx, [0x14003c020]
lea rcx, [rbp - 0x40]
cmp byte [rcx], r14b
jne 0x14000340e
cmp byte [rcx + 1], r14b
je 0x140003414
add rcx, 2
jmp 0x140003403
movzx eax, byte [rdx]
test al, al
jne 0x140003421
cmp byte [rdx + 1], r14b
je 0x140003434
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003414
mov word [rcx], r14w
lea rax, [rbp - 0x40]
mov ebx, r14d
nop
cmp byte [rax], r14b
jne 0x14000344b
cmp byte [rax + 1], r14b
je 0x140003453
add rax, 2
inc ebx
jmp 0x140003440
add ebx, ebx
mov r8d, ebx
lea rdx, [rbp - 0x40]
mov rcx, qword [rsp + 0x48]
call fcn.14002a820
cmp eax, ebx
jne 0x140002556
mov r14, qword [0x1400401e8]
nop word [rax + rax]
mov rax, qword [rdi + r14]
lea rdx, [rbp + 0xe0]
nop dword [rax + rax]
movzx ecx, byte [rax]
test cl, cl
jne 0x14000349c
cmp byte [rax + 1], cl
je 0x1400034af
mov byte [rdx], cl
movzx ecx, byte [rax + 1]
mov byte [rdx + 1], cl
add rdx, 2
add rax, 2
jmp 0x140003490
movzx ecx, byte [rax]
mov byte [rdx], cl
movzx ecx, byte [rax + 1]
mov byte [rdx + 1], cl
inc r15w
movzx ecx, r15w
call fcn.14001bdb0
test ax, ax
je 0x140003526
movzx r8d, word [0x14003ee5c]
mov word [0x14003e1a4], r8w
movzx ecx, word [0x14003ee60]
imul ecx, r8d
mov eax, 0x51eb851f
imul ecx
mov ecx, edx
sar ecx, 5
mov eax, ecx
shr eax, 0x1f
add ecx, eax
add cx, word [0x14003ee48]
mov word [0x14003ee50], cx
lea rdx, [0x14003e1b0]
call qword [0x140041aa8]
test ax, ax
jne 0x140003bdd
mov r14, qword [0x1400401e8]
cmp r15w, word [0x14003dfc4]
jge 0x14000357c
movsx rdi, r15w
shl rdi, 4
mov rdx, qword [rdi + r14]
lea rcx, [rbp + 0xe0]
call fcn.140007550
test ax, ax
jne 0x1400027f2
movzx eax, word [rdi + r14 + 8]
cmp word [0x1400402fa], ax
jne 0x1400027f2
movzx eax, word [rdi + r14 + 0xa]
cmp word [0x140040300], ax
je 0x140003480
jmp 0x1400027f2
mov eax, dword [rsp + 0x3c]
test ax, ax
je 0x140003597
xor eax, eax
mov dword [rsp + 0x3c], eax
mov r9, qword [0x14003e110]
jmp 0x140003b82
lea rcx, [rbp + 0x330]
lea rdx, [rbp - 0x40]
movzx eax, byte [rcx]
test al, al
jne 0x1400035ae
cmp byte [rcx + 1], al
je 0x1400035c1
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
add rdx, 2
add rcx, 2
jmp 0x1400035a2
movzx eax, byte [rcx]
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
lea rdi, [0x14003c028]
mov rdx, rdi
lea rcx, [rbp - 0x40]
nop dword [rax + rax]
cmp byte [rcx], 0
jne 0x1400035eb
cmp byte [rcx + 1], 0
je 0x1400035f1
add rcx, 2
jmp 0x1400035e0
movzx eax, byte [rdx]
test al, al
jne 0x1400035fd
cmp byte [rdx + 1], al
je 0x140003610
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400035f1
mov word [rcx], 0
lea rdx, [rsp + 0x78]
movzx ecx, word [0x1400402f0]
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x140003677
lea r13, [0x140000000]
nop
cmp al, 0x7f
ja 0x140003649
movzx ecx, al
jmp 0x140003660
cmp al, 0xfe
ja 0x14000365b
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x140003660
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140003640
mov r13d, dword [rsp + 0x30]
xor ebx, ebx
mov word [rdx], bx
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], bl
jne 0x14000368d
cmp byte [rcx + 1], bl
je 0x140003693
add rcx, 2
jmp 0x140003684
movzx eax, byte [rdx]
test al, al
jne 0x14000369f
cmp byte [rdx + 1], bl
je 0x1400036b2
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003693
mov word [rcx], bx
mov rdx, rdi
lea rcx, [rbp - 0x40]
nop dword [rax]
cmp byte [rcx], bl
jne 0x1400036c9
cmp byte [rcx + 1], bl
je 0x1400036d0
add rcx, 2
jmp 0x1400036c0
movzx eax, byte [rdx]
test al, al
jne 0x1400036dc
cmp byte [rdx + 1], bl
je 0x1400036ef
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400036d0
mov word [rcx], bx
lea rdx, [rsp + 0x78]
movzx ecx, word [0x1400402f2]
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x140003757
lea r13, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x140003729
movzx ecx, al
jmp 0x140003740
cmp al, 0xfe
ja 0x14000373b
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x140003740
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140003720
mov r13d, dword [rsp + 0x30]
mov word [rdx], bx
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], bl
jne 0x14000376b
cmp byte [rcx + 1], bl
je 0x140003771
add rcx, 2
jmp 0x140003762
movzx eax, byte [rdx]
test al, al
jne 0x14000377d
cmp byte [rdx + 1], bl
je 0x140003790
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003771
mov word [rcx], bx
mov rdx, rdi
lea rcx, [rbp - 0x40]
nop word [rax + rax]
cmp byte [rcx], bl
jne 0x1400037a9
cmp byte [rcx + 1], bl
je 0x1400037b0
add rcx, 2
jmp 0x1400037a0
movzx eax, byte [rdx]
test al, al
jne 0x1400037bc
cmp byte [rdx + 1], bl
je 0x1400037cf
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400037b0
mov word [rcx], bx
lea rdx, [rsp + 0x78]
movzx ecx, word [0x1400402f4]
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x140003837
lea r13, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x140003809
movzx ecx, al
jmp 0x140003820
cmp al, 0xfe
ja 0x14000381b
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x140003820
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140003800
mov r13d, dword [rsp + 0x30]
mov word [rdx], bx
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], bl
jne 0x14000384b
cmp byte [rcx + 1], bl
je 0x140003851
add rcx, 2
jmp 0x140003842
movzx eax, byte [rdx]
test al, al
jne 0x14000385d
cmp byte [rdx + 1], bl
je 0x140003870
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003851
mov word [rcx], bx
mov rdx, rdi
lea rcx, [rbp - 0x40]
nop word [rax + rax]
cmp byte [rcx], bl
jne 0x140003889
cmp byte [rcx + 1], bl
je 0x140003890
add rcx, 2
jmp 0x140003880
movzx eax, byte [rdx]
test al, al
jne 0x14000389c
cmp byte [rdx + 1], bl
je 0x1400038af
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003890
mov word [rcx], bx
lea rdx, [rsp + 0x78]
movzx ecx, word [0x1400402f6]
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x140003917
lea r13, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x1400038e9
movzx ecx, al
jmp 0x140003900
cmp al, 0xfe
ja 0x1400038fb
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x140003900
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x1400038e0
mov r13d, dword [rsp + 0x30]
mov word [rdx], bx
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], bl
jne 0x14000392b
cmp byte [rcx + 1], bl
je 0x140003931
add rcx, 2
jmp 0x140003922
movzx eax, byte [rdx]
test al, al
jne 0x14000393d
cmp byte [rdx + 1], bl
je 0x140003950
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003931
mov word [rcx], bx
mov rdx, rdi
lea rcx, [rbp - 0x40]
nop word [rax + rax]
cmp byte [rcx], bl
jne 0x140003969
cmp byte [rcx + 1], bl
je 0x140003970
add rcx, 2
jmp 0x140003960
movzx eax, byte [rdx]
test al, al
jne 0x14000397c
cmp byte [rdx + 1], bl
je 0x14000398f
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003970
mov word [rcx], bx
lea rdx, [rsp + 0x78]
movzx ecx, word [0x1400402f8]
call fcn.14002b170
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x1400039f7
lea r13, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x1400039c9
movzx ecx, al
jmp 0x1400039e0
cmp al, 0xfe
ja 0x1400039db
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x1400039e0
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x1400039c0
mov r13d, dword [rsp + 0x30]
mov word [rdx], bx
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], bl
jne 0x140003a0b
cmp byte [rcx + 1], bl
je 0x140003a11
add rcx, 2
jmp 0x140003a02
movzx eax, byte [rdx]
test al, al
jne 0x140003a1d
cmp byte [rdx + 1], bl
je 0x140003a30
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003a11
mov word [rcx], bx
lea rdx, [0x14003c020]
lea rcx, [rbp - 0x40]
nop
cmp byte [rcx], bl
jne 0x140003a49
cmp byte [rcx + 1], bl
je 0x140003a50
add rcx, 2
jmp 0x140003a40
movzx eax, byte [rdx]
test al, al
jne 0x140003a5c
cmp byte [rdx + 1], bl
je 0x140003a6f
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003a50
mov word [rcx], bx
lea rax, [rbp - 0x40]
cmp byte [rax], 0
jne 0x140003a81
cmp byte [rax + 1], 0
je 0x140003a89
add rax, 2
inc ebx
jmp 0x140003a76
add ebx, ebx
mov r8d, ebx
lea rdx, [rbp - 0x40]
mov rcx, qword [rsp + 0x48]
call fcn.14002a820
cmp eax, ebx
jne 0x140002556
mov r9, qword [0x14003e110]
mov r14, qword [0x1400401e8]
jmp 0x140003b82
movzx eax, al
movsx rcx, si
movzx eax, byte [rax + r9]
mov byte [rbp + rcx + 0x160], al
inc si
jmp 0x140003b82
test r13w, r13w
je 0x140003b79
cmp r13w, 0xd
jne 0x140003b00
movzx eax, al
add ax, r13w
movsx rcx, ax
movsx rdx, si
movzx eax, byte [rcx + r9]
mov byte [rbp + rdx + 0x160], al
jmp 0x140003b6b
cmp r13w, 0xe
jne 0x140003b24
movzx eax, al
add ax, 0x1d
movsx rcx, ax
movsx rdx, si
movzx eax, byte [rcx + r9]
mov byte [rbp + rdx + 0x160], al
jmp 0x140003b6b
cmp r13w, 0xf
jne 0x140003b6e
test ecx, ecx
je 0x140003b42
movzx ecx, byte [r8 + 1]
shr cl, 4
movzx eax, dl
shl al, 4
movzx edx, cl
or dl, al
inc r12w
movzx eax, dl
add ax, 0x2d
mov ecx, 0xff
cmp ax, cx
jge 0x140003b9d
movsx rax, ax
movsx rcx, si
movzx eax, byte [rax + r9]
mov byte [rbp + rcx + 0x160], al
inc si
xor eax, eax
mov r13d, eax
mov dword [rsp + 0x30], eax
jmp 0x140003b82
movzx r13d, al
mov dword [rsp + 0x30], r13d
inc r12w
mov rdi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x58]
cmp r12w, word [rsp + 0x40]
jge 0x140003bae
jmp 0x1400026e0
movzx eax, word [rbx + 0x82]
add ax, ax
mov word [0x1400401b4], ax
movzx eax, word [rsp + 0x34]
inc ax
mov word [rsp + 0x34], ax
mov r9d, 1
cmp ax, word [rbx + 0x80]
jge 0x140003bed
mov esi, 0x106
lea r14, [0x140000000]
xor ecx, ecx
jmp 0x1400025b0
mov eax, 0xfffffffc
jmp 0x1400046ea
call fcn.14002cbc8
int3
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
jmp 0x140003c00
mov r14, qword [0x1400401e8]
cmp r15w, word [0x14003dfc4]
jge 0x140004645
nop
movsx rsi, r15w
shl rsi, 4
movzx r8d, word [rsi + r14 + 8]
mov word [0x1400402fa], r8w
mov dword [0x1400402fc], 0x3fff
xor ebx, ebx
movzx r11d, word [rsi + r14 + 0xa]
mov word [0x140040300], r11w
mov word [0x140040302], bx
mov word [0x14003dee4], r9w
mov rcx, qword [rsi + r14]
lea rdx, [rbp - 0x40]
movzx eax, byte [rcx]
test al, al
jne 0x140003c63
cmp byte [rcx + 1], bl
je 0x140003c76
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
add rdx, 2
add rcx, 2
jmp 0x140003c57
movzx eax, byte [rcx]
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
lea rdi, [0x14003c028]
mov rdx, rdi
lea rcx, [rbp - 0x40]
cmp byte [rcx], bl
jne 0x140003c99
cmp byte [rcx + 1], bl
je 0x140003ca0
add rcx, 2
jmp 0x140003c90
movzx eax, byte [rdx]
test al, al
jne 0x140003cac
cmp byte [rdx + 1], bl
je 0x140003cbf
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003ca0
mov word [rcx], bx
movzx r9d, bx
nop word [rax + rax]
movzx ecx, r8w
mov eax, 0x66666667
imul ecx
mov r8d, edx
sar r8d, 2
mov eax, r8d
shr eax, 0x1f
add r8d, eax
lea eax, [r8 + r8*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r9w
mov byte [rsp + rax + 0x78], cl
inc r9w
test r8w, r8w
jne 0x140003cd0
movsx rax, r9w
mov byte [rsp + rax + 0x78], bl
movzx r10d, bx
mov r9d, ebx
lea rcx, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x140003d2f
inc rcx
inc r9d
cmp byte [rcx], bl
jne 0x140003d25
dec r9w
cmp bx, r9w
jge 0x140003d77
nop dword [rax]
movsx rax, r10w
lea rdx, [rsp + 0x78]
add rdx, rax
movzx r8d, byte [rdx]
movsx rax, r9w
lea rcx, [rsp + 0x78]
add rcx, rax
movzx eax, byte [rcx]
mov byte [rdx], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140003d40
movzx eax, byte [rsp + 0x78]
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
test al, al
je 0x140003dc7
lea r13, [0x140000000]
nop dword [rax + rax]
cmp al, 0x7f
ja 0x140003d99
movzx ecx, al
jmp 0x140003db0
cmp al, 0xfe
ja 0x140003dab
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x140003db0
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140003d90
mov r13, qword [rsp + 0x50]
mov word [rdx], bx
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], bl
jne 0x140003ddb
cmp byte [rcx + 1], bl
je 0x140003de1
add rcx, 2
jmp 0x140003dd2
movzx eax, byte [rdx]
test al, al
jne 0x140003ded
cmp byte [rdx + 1], bl
je 0x140003e00
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003de1
mov word [rcx], bx
mov rdx, rdi
lea rcx, [rbp - 0x40]
nop word [rax + rax]
cmp byte [rcx], bl
jne 0x140003e19
cmp byte [rcx + 1], bl
je 0x140003e20
add rcx, 2
jmp 0x140003e10
movzx eax, byte [rdx]
test al, al
jne 0x140003e2c
cmp byte [rdx + 1], bl
je 0x140003e3f
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003e20
mov word [rcx], bx
mov edx, 0x3fff
movzx r8d, bx
nop dword [rax + rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rsp + rax + 0x78], cl
inc r8w
test dx, dx
jne 0x140003e50
movsx rax, r8w
mov byte [rsp + rax + 0x78], bl
movzx r10d, bx
mov r9d, ebx
lea rcx, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x140003eaa
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], bl
jne 0x140003ea0
dec r9w
cmp bx, r9w
jge 0x140003ef7
nop dword [rax]
nop dword [rax + rax]
movsx rax, r10w
lea rdx, [rsp + 0x78]
add rdx, rax
movzx r8d, byte [rdx]
movsx rax, r9w
lea rcx, [rsp + 0x78]
add rcx, rax
movzx eax, byte [rcx]
mov byte [rdx], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140003ec0
movzx eax, byte [rsp + 0x78]
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
test al, al
je 0x140003f47
lea r12, [0x140000000]
nop dword [rax + rax]
cmp al, 0x7f
ja 0x140003f19
movzx ecx, al
jmp 0x140003f30
cmp al, 0xfe
ja 0x140003f2b
movzx eax, al
movzx ecx, word [r12 + rax*2 + 0x30350]
jmp 0x140003f30
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140003f10
mov r12, qword [rsp + 0x48]
mov word [rdx], bx
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], bl
jne 0x140003f5b
cmp byte [rcx + 1], bl
je 0x140003f61
add rcx, 2
jmp 0x140003f52
movzx eax, byte [rdx]
test al, al
jne 0x140003f6d
cmp byte [rdx + 1], bl
je 0x140003f80
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003f61
mov word [rcx], bx
mov rdx, rdi
lea rcx, [rbp - 0x40]
nop word [rax + rax]
cmp byte [rcx], bl
jne 0x140003f99
cmp byte [rcx + 1], bl
je 0x140003fa0
add rcx, 2
jmp 0x140003f90
movzx eax, byte [rdx]
test al, al
jne 0x140003fac
cmp byte [rdx + 1], bl
je 0x140003fbf
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140003fa0
mov word [rcx], bx
movzx edx, bx
movzx r8d, bx
nop dword [rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rsp + rax + 0x78], cl
inc r8w
test dx, dx
jne 0x140003fd0
movsx rax, r8w
mov byte [rsp + rax + 0x78], bl
movzx r10d, bx
mov r9d, ebx
lea rcx, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x14000402a
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], bl
jne 0x140004020
dec r9w
cmp bx, r9w
jge 0x140004077
nop dword [rax]
nop dword [rax + rax]
movsx rax, r10w
lea rdx, [rsp + 0x78]
add rdx, rax
movzx r8d, byte [rdx]
movsx rax, r9w
lea rcx, [rsp + 0x78]
add rcx, rax
movzx eax, byte [rcx]
mov byte [rdx], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140004040
movzx eax, byte [rsp + 0x78]
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
test al, al
je 0x1400040c7
lea r13, [0x140000000]
nop dword [rax + rax]
cmp al, 0x7f
ja 0x140004099
movzx ecx, al
jmp 0x1400040b0
cmp al, 0xfe
ja 0x1400040ab
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x1400040b0
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140004090
mov r13, qword [rsp + 0x50]
mov word [rdx], bx
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], bl
jne 0x1400040db
cmp byte [rcx + 1], bl
je 0x1400040e1
add rcx, 2
jmp 0x1400040d2
movzx eax, byte [rdx]
test al, al
jne 0x1400040ed
cmp byte [rdx + 1], bl
je 0x140004100
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400040e1
mov word [rcx], bx
mov rdx, rdi
lea rcx, [rbp - 0x40]
nop word [rax + rax]
cmp byte [rcx], bl
jne 0x140004119
cmp byte [rcx + 1], bl
je 0x140004120
add rcx, 2
jmp 0x140004110
movzx eax, byte [rdx]
test al, al
jne 0x14000412c
cmp byte [rdx + 1], bl
je 0x14000413f
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140004120
mov word [rcx], bx
movzx r8d, bx
nop word [rax + rax]
movzx ecx, r11w
mov eax, 0x66666667
imul ecx
mov r11d, edx
sar r11d, 2
mov eax, r11d
shr eax, 0x1f
add r11d, eax
lea eax, [r11 + r11*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rsp + rax + 0x78], cl
inc r8w
test r11w, r11w
jne 0x140004150
movsx rax, r8w
mov byte [rsp + rax + 0x78], bl
movzx r10d, bx
mov r9d, ebx
lea rcx, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x1400041af
inc rcx
inc r9d
cmp byte [rcx], bl
jne 0x1400041a5
dec r9w
cmp bx, r9w
jge 0x1400041f7
nop dword [rax]
movsx rax, r10w
lea rdx, [rsp + 0x78]
add rdx, rax
movzx r8d, byte [rdx]
movsx rax, r9w
lea rcx, [rsp + 0x78]
add rcx, rax
movzx eax, byte [rcx]
mov byte [rdx], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x1400041c0
movzx eax, byte [rsp + 0x78]
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
test al, al
je 0x140004247
lea r12, [0x140000000]
nop dword [rax + rax]
cmp al, 0x7f
ja 0x140004219
movzx ecx, al
jmp 0x140004230
cmp al, 0xfe
ja 0x14000422b
movzx eax, al
movzx ecx, word [r12 + rax*2 + 0x30350]
jmp 0x140004230
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140004210
mov r12, qword [rsp + 0x48]
mov word [rdx], bx
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], bl
jne 0x14000425b
cmp byte [rcx + 1], bl
je 0x140004261
add rcx, 2
jmp 0x140004252
movzx eax, byte [rdx]
test al, al
jne 0x14000426d
cmp byte [rdx + 1], bl
je 0x140004280
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140004261
mov word [rcx], bx
mov rdx, rdi
lea rcx, [rbp - 0x40]
nop word [rax + rax]
cmp byte [rcx], bl
jne 0x140004299
cmp byte [rcx + 1], bl
je 0x1400042a0
add rcx, 2
jmp 0x140004290
movzx eax, byte [rdx]
test al, al
jne 0x1400042ac
cmp byte [rdx + 1], bl
je 0x1400042bf
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400042a0
mov word [rcx], bx
movzx edx, bx
movzx r8d, bx
nop dword [rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rsp + rax + 0x78], cl
inc r8w
test dx, dx
jne 0x1400042d0
movsx rax, r8w
mov byte [rsp + rax + 0x78], bl
movzx r10d, bx
mov r9d, ebx
lea rcx, [rsp + 0x78]
movzx eax, byte [rsp + 0x78]
test al, al
je 0x14000432a
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], bl
jne 0x140004320
dec r9w
cmp bx, r9w
jge 0x140004377
nop dword [rax]
nop dword [rax + rax]
movsx rax, r10w
lea rdx, [rsp + 0x78]
add rdx, rax
movzx r8d, byte [rdx]
movsx rax, r9w
lea rcx, [rsp + 0x78]
add rcx, rax
movzx eax, byte [rcx]
mov byte [rdx], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140004340
movzx eax, byte [rsp + 0x78]
lea rdx, [rbp - 0x70]
lea r8, [rsp + 0x78]
test al, al
je 0x1400043c7
lea r13, [0x140000000]
nop dword [rax + rax]
cmp al, 0x7f
ja 0x140004399
movzx ecx, al
jmp 0x1400043b0
cmp al, 0xfe
ja 0x1400043ab
movzx eax, al
movzx ecx, word [r13 + rax*2 + 0x30350]
jmp 0x1400043b0
mov ecx, 0x20
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140004390
mov r13, qword [rsp + 0x50]
mov word [rdx], bx
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
cmp byte [rcx], bl
jne 0x1400043db
cmp byte [rcx + 1], bl
je 0x1400043e1
add rcx, 2
jmp 0x1400043d2
movzx eax, byte [rdx]
test al, al
jne 0x1400043ed
cmp byte [rdx + 1], bl
je 0x140004400
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400043e1
mov word [rcx], bx
lea rdx, [0x14003c020]
lea rcx, [rbp - 0x40]
nop
cmp byte [rcx], bl
jne 0x140004419
cmp byte [rcx + 1], bl
je 0x140004420
add rcx, 2
jmp 0x140004410
movzx eax, byte [rdx]
test al, al
jne 0x14000442c
cmp byte [rdx + 1], bl
je 0x14000443f
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140004420
mov word [rcx], bx
lea rax, [rbp - 0x40]
mov ecx, ebx
cmp byte [rax], bl
jne 0x140004451
cmp byte [rax + 1], bl
je 0x140004459
add rax, 2
inc ecx
jmp 0x140004448
lea edi, [rcx + rcx]
mov rcx, rbx
movsxd rbx, edi
test edi, edi
jle 0x14000447c
nop word [rax + rax]
not byte [rbp + rcx - 0x40]
inc rcx
cmp rcx, rbx
jl 0x140004470
xor r14d, r14d
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x40]
mov r8d, edi
lea rdx, [rbp - 0x40]
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1400044d7
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x1400044bb
mov eax, eax
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x310a0]
jmp 0x1400044c0
mov ecx, 0x106
mov dword [0x1400430b8], ecx
mov dword [0x1400434c8], 2
mov byte [0x1400433c0], r14b
mov rcx, r14
test edi, edi
jle 0x1400044f3
nop
movzx eax, byte [rbp + rcx - 0x40]
not al
mov byte [rbp + rcx - 0x40], al
inc rcx
cmp rcx, rbx
jl 0x1400044e0
cmp dword [rsp + 0x40], edi
jne 0x140002556
movzx edi, word [0x14003dfc4]
mov r14, qword [0x1400401e8]
movzx ebx, word [0x14003ee44]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsi + r14]
lea rdx, [rbp + 0xe0]
nop dword [rax + rax]
movzx eax, byte [rcx]
test al, al
jne 0x14000453c
cmp byte [rcx + 1], al
je 0x14000454f
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
add rdx, 2
add rcx, 2
jmp 0x140004530
movzx eax, byte [rcx]
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
inc r15w
movsx eax, r15w
imul eax, eax, 0x64
movsx ecx, di
cdq
idiv ecx
mov r8d, eax
mov word [0x14003ee5c], ax
movzx edx, ax
movzx eax, bx
mov ecx, edx
sub ecx, eax
cmp ecx, 1
jl 0x1400045ed
inc bx
mov word [0x14003ee44], bx
mov word [0x14003e1a4], r8w
movzx ecx, word [0x14003ee60]
imul ecx, edx
mov eax, 0x51eb851f
imul ecx
mov ecx, edx
sar ecx, 5
mov eax, ecx
shr eax, 0x1f
add ecx, eax
add cx, word [0x14003ee48]
mov word [0x14003ee50], cx
lea rdx, [0x14003e1b0]
call qword [0x140041aa8]
test ax, ax
jne 0x140003bdd
movzx edi, word [0x14003dfc4]
mov r14, qword [0x1400401e8]
movzx ebx, word [0x14003ee44]
cmp r15w, di
jge 0x140004645
movsx rsi, r15w
shl rsi, 4
mov rdx, qword [rsi + r14]
lea rcx, [rbp + 0xe0]
call fcn.140007550
test ax, ax
mov r9d, 1
jne 0x140003c10
movzx eax, word [rsi + r14 + 8]
cmp word [0x1400402fa], ax
jne 0x140003c10
movzx eax, word [rsi + r14 + 0xa]
cmp word [0x140040300], ax
je 0x140004520
jmp 0x140003c10
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x14000466c
xor ebx, ebx
mov qword [r12], rbx
mov rcx, r12
call fcn.14002a950
mov rcx, r12
call qword [sym.imp.mfc120u.dll_Ordinal_1486]
jmp 0x1400046a7
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x140004689
mov eax, eax
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x310a0]
jmp 0x14000468e
mov eax, 0x106
mov dword [0x1400430b8], eax
mov dword [0x1400434c8], 2
mov byte [0x1400433c0], 0
xor ebx, ebx
lea rdx, [0x14003dee8]
mov r8d, dword [0x140040004]
add r8, r13
movzx eax, byte [rdx]
test al, al
jne 0x1400046c4
cmp byte [rdx + 1], al
je 0x1400046d9
mov byte [r8], al
movzx eax, byte [rdx + 1]
mov byte [r8 + 1], al
add r8, 2
add rdx, 2
jmp 0x1400046b8
movzx ecx, byte [rdx]
mov byte [r8], cl
movzx ecx, byte [rdx + 1]
mov byte [r8 + 1], cl
movzx eax, bx
mov rcx, qword [rbp + 0x400]
xor rcx, rsp
call fcn.14002c960
lea r11, [rsp + 0x510]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret