Function at 0x140036f40
Capabilities:
Get keyboard layout

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c3f0]
mov eax, 0x1c4f0
call fcn.140100df0
sub rsp, rax
mov qword [rbp + 0x90], 0xfffffffffffffffe
mov qword [rsp + 0x1c540], rbx
movaps xmmword [rsp + 0x1c4e0], xmm6
mov rbx, r8
mov r12, rdx
mov r14, rcx
test rdx, rdx
je 0x140039e69
cmp word [rdx], 0
je 0x140039e69
movsxd r13, dword [0x14014128c]
mov dword [rbp + 0x10], r13d
mov edi, dword [0x140141288]
cmp r13d, edi
jl 0x140037012
test edi, edi
je 0x140036fc7
add edi, edi
cmp edi, 0xffff
jle 0x140036fcc
mov edi, 0xffff
jmp 0x140036fcc
mov edi, WSAAsyncSelect
movsxd rdx, edi
shl rdx, 3
mov rcx, qword [0x140141280]
call qword [sym.imp.MSVCR100.dll_realloc]
mov rsi, rax
test rax, rax
jne 0x140037003
lea r8, [0x1401035ac]
lea rdx, str.Out_of_memory.
mov rcx, r14
call fcn.14005f7b0
jmp 0x140039e6b
mov qword [0x140141280], rax
mov dword [0x140141288], edi
jmp 0x140037019
mov rsi, qword [0x140141280]
test r13d, r13d
jne 0x140037023
mov qword [rsi], r12
jmp 0x140037070
test rbx, rbx
je 0x140037065
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
add rcx, rcx
call qword [sym.imp.MSVCR100.dll_malloc]
mov rdx, rax
mov qword [rsi + r13*8], rax
test rax, rax
je 0x140036fe8
nop dword [rax]
movzx eax, word [rbx]
mov word [rdx], ax
add rbx, 2
add rdx, 2
test ax, ax
jne 0x140037050
jmp 0x140037070
mov rax, qword [0x140143d10]
mov qword [rsi + r13*8], rax
xor r14d, r14d
mov word [rbp + 0xc3c0], r14w
lea r15, [rbp + 0x43b0]
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x28], r15
lea rsi, [rbp + 0x143d0]
mov qword [rbp - 0x38], rsi
inc r13d
mov dword [0x14014128c], r13d
mov qword [0x14013d160], r12
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
dec rcx
add ecx, ecx
mov dword [0x14013d168], ecx
mov byte [0x14013d16c], al
lea rax, vtable.TextStream.0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0x64], 0xffffffff
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], r14
mov ecx, dword [0x140143fb8]
cmp ecx, 0xffffffff
je 0x140037115
mov dword [rsp + 0x64], ecx
lea rdx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetCPInfo]
movzx ecx, byte [rsp + 0x6e]
test eax, eax
cmove ecx, r14d
mov byte [rsp + 0x6e], cl
lea rax, vtable.TextMem.0
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x70], r14
mov dword [rbp - 0x68], r14d
mov byte [rbp - 0x64], r14b
mov qword [rbp - 0x60], r14
mov eax, reloc.WSOCK32.dll_ioctlsocket
mov dword [rbp + 0x1c438], eax
mov dword [rsp + 0x5c], r14d
lea r8, [rbp + 0x1c438]
lea rdx, [0x14013d160]
lea rcx, [rsp + 0x50]
call qword [0x140121b00]
test al, al
je 0x140037175
mov r8d, 0x4b0
lea rdx, [rbp + 0x1c438]
lea rcx, [rsp + 0x50]
call fcn.1400dde40
xor al, al
mov byte [rbp + 0x1c438], al
mov word [rbp - 0x4e], r14w
mov word [rbp - 0x3c], r14w
mov rbx, qword [rbp + 0x1c430]
mov edi, dword [rbp + 0x10]
mov dword [rbx + 0x280], edi
mov r13d, r14d
mov dword [rbp + 0x18], r14d
lea r8, [rsp + 0x50]
xor edx, edx
lea rcx, [rbp + 0x43b0]
call fcn.14003e540
mov r12, rax
mov qword [rbp + 8], rax
mov r8d, 2
lea rdx, [0x14011ce8c]
lea rcx, [rbp + 0x43b0]
call qword [sym.imp.MSVCR100.dll_wcsncmp]
test eax, eax
sete dil
mov byte [rsp + 0x41], dil
test dil, dil
je 0x1400371f1
mov word [rbp + 0x43b0], r14w
mov r12, r14
mov qword [rbp + 8], r14
xorpd xmm6, xmm6
mov eax, dword [rbp + 0x1c438]
mov dword [rbp - 0x2c], eax
movzx eax, byte [rbp + 0x1c438]
mov byte [rbp + 0x1c448], al
mov ecx, dword [rbp + 0x1c438]
mov dword [rbp - 0x30], ecx
movzx eax, byte [rbp + 0x1c438]
mov byte [rsp + 0x40], al
nop
cmp r12, 0xffffffffffffffff
je 0x140039d42
lea eax, [r13 + 1]
mov dword [rbx + 0x284], eax
mov qword [rbx + 0x6c8], r14
mov r8d, reloc.WSOCK32.dll_ioctlsocket
lea rdx, str.CommentFlag
mov rcx, r15
call qword [sym.imp.MSVCR100.dll__wcsnicmp]
test eax, eax
jne 0x140037268
mov rdx, r15
mov rcx, rbx
call fcn.14003e840
test eax, eax
je 0x14003997c
mov byte [rbp - 0x43], 0
mov r13d, r14d
mov dword [rbp - 0x14], r14d
jmp 0x140037285
movzx edi, byte [rsp + 0x41]
xor ebx, ebx
inc dword [rbp + 0x18]
lea r8, [rsp + 0x50]
mov edx, r13d
mov rcx, rsi
call fcn.14003e540
mov r14, rax
mov qword [rbp + 0x40], rax
test rax, rax
je 0x140037351
cmp rax, 0xffffffffffffffff
je 0x140037351
test r13d, r13d
jne 0x140037351
lea r8d, [r13 + 2]
lea rdx, [0x14011ceb4]
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_wcsncmp]
test eax, eax
jne 0x140037321
test dil, dil
jne 0x1400372e8
cmp word [rsi + 4], 0x3a
jne 0x1400372e8
cmp word [rsi + 6], 0x3a
je 0x14003732a
xor dil, dil
mov byte [rsp + 0x41], dil
lea r8, [r14 + r14 - 2]
lea rdx, [rsi + 4]
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_memmove]
lea rdx, [r14 - 2]
mov rcx, rsi
call fcn.14002f820
mov r14, rax
mov qword [rbp + 0x40], rax
cmp word [rsi], 0
je 0x140037287
jmp 0x14003732a
test dil, dil
jne 0x140037287
mov r8d, 2
lea rdx, [0x14011ce8c]
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_wcsncmp]
test eax, eax
jne 0x140037351
mov dil, 1
mov byte [rsp + 0x41], dil
jmp 0x140037287
test dil, dil
je 0x140037365
cmp r14, 0xffffffffffffffff
je 0x140038250
jmp 0x140037287
test r13d, r13d
jne 0x140037852
cmp r14, 0xffffffffffffffff
je 0x140037597
cmp word [rsi], 0x28
jne 0x140037597
lea rbx, [rsi + 2]
cmp word [rbx], 0x3a
je 0x140037595
cmp word [rsi + r14*2 - 2], 0x3a
je 0x140037595
mov r13d, 1
mov dword [rbp - 0x14], r13d
xor ecx, ecx
mov dword [rbp + 0x48], ecx
movzx eax, byte [0x140140262]
mov byte [rbp - 0x46], al
mov byte [rbp - 0x42], r13b
mov byte [rbp - 0x47], cl
mov byte [rbp - 0x41], cl
mov byte [rbp - 0x44], r13b
mov eax, 0xa
mov dword [rbp + 0x70], eax
mov qword [rbp + 0x58], r13
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400373df
cmp ax, 9
jne 0x1400373e5
add rbx, 2
jmp 0x1400373d0
cmp word [rbx], cx
je 0x14003758c
nop
mov r12, rbx
test rbx, rbx
je 0x14003742f
movzx edx, word [rbx]
test dx, dx
je 0x14003742f
lea rcx, [0x140107c20]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x140037443
add rcx, 2
movzx eax, word [rcx]
test ax, ax
jne 0x140037410
add r12, 2
movzx edx, word [r12]
test dx, dx
jne 0x140037400
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r12, [rbx + rcx*2 - 2]
movzx esi, word [r12]
xor edi, edi
mov word [r12], di
lea r8d, [rdi + 4]
lea rdx, str.Join
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll__wcsnicmp]
test eax, eax
jne 0x1400374a7
lea rdx, [rbx + 8]
lea r8d, [rdi + 0xf]
lea rcx, [rbp + 0x70]
call qword [sym.imp.MSVCR100.dll_wcsncpy]
mov word [rbp + 0x8e], di
mov dl, 1
lea rcx, [rbp + 0x70]
call fcn.1400e2e40
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x70]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov qword [rbp + 0x58], rcx
jmp 0x140037550
mov r8d, 5
lea rdx, [0x14011cf70]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll__wcsnicmp]
test eax, eax
jne 0x1400374cf
cmp word [rbx + 0xa], 0x30
setne byte [rbp - 0x46]
jmp 0x140037550
mov r8d, 5
lea rdx, str.RTrim
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll__wcsnicmp]
test eax, eax
jne 0x1400374f4
cmp word [rbx + 0xa], 0x30
setne byte [rbp - 0x42]
jmp 0x140037550
movzx eax, word [rbx]
test ax, ax
je 0x140037550
nop dword [rax]
movzx eax, ax
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x140037526.38
cdqe
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x39ea8]
mov ecx, dword [rdx + rax*4 + 0x39e90]
add rcx, rdx
jmp rcx
mov byte [rbp - 0x47], 1
jmp case.0x140037526.38
mov byte [rbp - 0x41], 1
jmp case.0x140037526.38
mov byte [rbp - 0x44], dil
jmp case.0x140037526.38
mov r13d, 2
mov dword [rbp - 0x14], r13d
add rbx, 2
movzx eax, word [rbx]
test ax, ax
jne 0x140037500
mov word [r12], si
mov rbx, r12
nop dword [rax + rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14003756f
cmp ax, 9
jne 0x140037575
add rbx, 2
jmp 0x140037560
cmp word [rbx], 0
jne 0x1400373f0
mov r12, qword [rbp + 8]
mov rsi, qword [rbp - 0x38]
movzx edi, byte [rsp + 0x41]
mov byte [rbp - 0x43], 1
jmp 0x140037285
xor ebx, ebx
mov r13d, ebx
mov dword [rbp - 0x14], ebx
cmp r14, 0xffffffffffffffff
je 0x140038250
test r14, r14
je 0x140037287
cmp word [rsi + r14*2 - 2], 0x3a
jne 0x1400375c3
cmp word [rsi], 0x2c
jne 0x140038250
movzx edi, word [rsi]
test edi, 0xffffff80
jne 0x1400375e2
mov edx, 2
mov ecx, edi
call qword [sym.imp.MSVCR100.dll__isctype]
test eax, eax
je 0x1400375e2
and edi, 0xffffffdf
movzx eax, di
cmp eax, 0x41
je 0x1400377b7
cmp eax, 0x4f
je 0x14003775d
movzx edx, word [rsi]
cmp dx, 0x3a
je 0x14003760c
cmp dx, 0x2b
je 0x14003760c
cmp dx, 0x2d
jne 0x140037616
cmp word [rsi + 2], dx
je 0x140038250
lea rcx, str.____:.___
call qword [sym.imp.MSVCR100.dll_wcschr]
test rax, rax
je 0x140038250
lea rdx, [0x14011cf04]
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_wcsstr]
mov rbx, rax
test rax, rax
je 0x14003780b
cmp word [rsi], 0x3a
jne 0x1400376af
lea rdi, [rsi + 2]
movzx ecx, word [rdi]
test cx, cx
je 0x1400376a5
nop word [rax + rax]
cmp cx, 0x3a
je 0x140038250
movzx ecx, cx
test ecx, 0xffffff80
jne 0x140037684
mov edx, 0x107
call qword [sym.imp.MSVCR100.dll__isctype]
test eax, eax
jne 0x140037699
movzx edx, word [rdi]
lea rcx, [0x14011cf10]
call qword [sym.imp.MSVCR100.dll_wcschr]
test rax, rax
je 0x1400376af
add rdi, 2
movzx ecx, word [rdi]
test cx, cx
jne 0x140037660
cmp word [rdi], 0x3a
je 0x140038250
cmp word [rsi], 0x2c
jne 0x140037711
lea rdi, [rsi + 2]
nop dword [rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400376cf
cmp ax, 9
jne 0x1400376d5
add rdi, 2
jmp 0x1400376c0
mov r8d, 2
lea rdx, [0x14011cf04]
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_wcsncmp]
test eax, eax
je 0x140038250
lea rcx, [rdi - 2]
mov r8d, 3
lea rdx, [0x140107c10]
call qword [sym.imp.MSVCR100.dll_wcsncmp]
test eax, eax
jmp 0x140037805
mov rax, rsi
cmp rsi, rbx
jae 0x14003772f
nop dword [rax]
cmp word [rax], 0x22
je 0x14003772f
add rax, 2
cmp rax, rbx
jb 0x140037720
cmp rax, rbx
je 0x140038250
lea rcx, [rbx + 4]
movzx eax, word [rcx]
test ax, ax
je 0x140038250
cmp ax, 0x22
je 0x140037754
add rcx, 2
jmp 0x14003773c
cmp word [rcx], 0
jmp 0x140037805
movzx ecx, word [rsi + 2]
call fcn.140016bd0
cmp ax, 0x52
jne 0x140038250
lea rcx, [rsi + 4]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x140037787
cmp ax, 9
jne 0x140038250
movzx eax, word [rcx]
cmp ax, 0x20
je 0x140037796
cmp ax, 9
jne 0x14003779c
add rcx, 2
jmp 0x140037787
movzx edx, word [rcx]
lea rcx, str.____:
call qword [sym.imp.MSVCR100.dll_wcschr]
test rax, rax
jne 0x140038250
jmp 0x14003780d
mov r8d, 3
lea rdx, [0x14011cec0]
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll__wcsnicmp]
test eax, eax
jne 0x140038250
lea rcx, [rsi + 6]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x1400377f0
cmp ax, 9
jne 0x140038250
nop dword [rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x1400377ff
cmp ax, 9
jne 0x14003779c
add rcx, 2
jmp 0x1400377f0
je 0x140038250
xor ebx, ebx
lea rax, [r14 + r12]
cmp rax, 0x4000
jae 0x1400399d6
cmp word [rsi], 0x2c
je 0x140037830
mov eax, SafeArrayAllocDescriptor
mov word [r15 + r12*2], ax
inc r12
lea r8, [r14 + r14 + 2]
lea rcx, [r15 + r12*2]
mov rdx, rsi
call sub.MSVCR100.dll_memcpy
add r12, r14
mov qword [rbp + 8], r12
movzx edi, byte [rsp + 0x41]
jmp 0x140037287
cmp r14, 0xffffffffffffffff
je 0x140039d25
cmp r14, 0xfffffffffffffffe
je 0x140037287
cmp word [rsi], 0x29
jne 0x1400378d4
xor edx, edx
mov r13d, edx
mov dword [rbp - 0x14], edx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rbx, rcx
lea rax, [rsi + rcx*2 - 2]
nop
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14003789f
cmp cx, 9
jne 0x1400378ad
cmp rax, rsi
je 0x1400378b3
sub rax, 2
dec rbx
jmp 0x140037890
mov word [rax + 2], dx
jmp 0x1400378c8
movzx ecx, word [rax]
cmp cx, 0x20
je 0x1400378c2
cmp cx, 9
jne 0x1400378c8
mov word [rax], dx
mov rbx, rdx
lea rdi, [rsi + 2]
dec rbx
jmp 0x1400381d8
mov qword [rbp + 0x38], rsi
cmp byte [rbp - 0x42], 0
je 0x1400378f0
mov rdx, r14
mov rcx, rsi
call fcn.14002f8a0
mov r14, rax
mov qword [rbp + 0x40], rax
cmp byte [rbp - 0x46], 0
je 0x140037905
mov rdx, r14
mov rcx, rsi
call fcn.14002f820
mov qword [rbp + 0x40], rax
xor r9d, r9d
mov r13d, r9d
mov dword [rsp + 0x44], r9d
cmp byte [rbp - 0x47], r9b
je 0x140037bf4
movzx edx, word [0x14013b0f0]
mov word [rbp - 0x50], dx
mov word [rbp - 0x40], dx
mov word [rbp - 0x3e], dx
or r14d, 0xffffffff
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rbx, rcx
mov qword [rbp - 0x10], rcx
mov r12d, r9d
mov qword [rbp - 0x20], r9
cmp word [rsi], ax
je 0x140037bef
test dx, dx
je 0x140037bef
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x50]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdx, rcx
mov qword [rbp], rcx
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x40]
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
dec ecx
sub ecx, edx
mov dword [rbp - 0x4c], ecx
mov eax, 0x4000
sub eax, ebx
jns 0x1400379a2
mov r14d, r9d
jmp 0x1400379b0
test ecx, ecx
jle 0x1400379b2
cdq
idiv ecx
cmp eax, 0xffffffff
cmovb r14d, eax
test ecx, ecx
je 0x140037b55
cmp rbx, 0x1388
jb 0x140037b55
mov edi, r9d
mov dword [rsp + 0x44], r9d
mov rbx, rsi
test r14d, r14d
je 0x140037b4d
nop dword [rax]
lea rdx, [rbp - 0x50]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcsstr]
mov rsi, rax
test rax, rax
je 0x140037aa8
inc edi
mov dword [rsp + 0x44], edi
dec r14d
mov rdi, rax
sub rdi, rbx
sar rdi, 1
lea rcx, [r15 + rdi]
add rcx, r12
cmp rcx, qword [rbp - 0x20]
jb 0x140037a60
sub rax, qword [rbp - 0x38]
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd r9, dword [rbp - 0x10]
movsxd rcx, dword [rbp - 0x4c]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r8d, r14d
mov edx, dword [rsp + 0x44]
call fcn.1400e1330
mov qword [rbp - 0x20], rax
lea rdx, [rax + rax]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
je 0x140037ae0
mov r13, rax
test rdi, rdi
je 0x140037a79
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, rbx
call sub.MSVCR100.dll_memcpy
add r12, rdi
test r15, r15
je 0x140037a93
lea rcx, [r13 + r12*2]
lea r8, [r15 + r15]
lea rdx, [rbp - 0x40]
call sub.MSVCR100.dll_memcpy
add r12, r15
mov rax, qword [rbp]
lea rbx, [rsi + rax*2]
test r14d, r14d
mov edi, dword [rsp + 0x44]
jne 0x1400379e0
test edi, edi
je 0x140037b46
mov rax, rbx
sub rax, qword [rbp - 0x38]
sar rax, 1
mov rsi, qword [rbp - 0x10]
sub rsi, rax
je 0x140037b14
lea rdi, [rsi + r12]
cmp rdi, qword [rbp - 0x20]
jb 0x140037b00
lea rdx, [rdi + rdi + 2]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
jne 0x140037afd
test r13, r13
je 0x140037aee
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
xor r9d, r9d
mov r13d, r9d
mov rsi, qword [rbp - 0x38]
jmp 0x140037bef
mov r13, rax
lea rcx, [r13 + r12*2]
lea r8, [rsi + rsi]
mov rdx, rbx
call sub.MSVCR100.dll_memcpy
mov r12, rdi
xor esi, esi
mov word [r13 + r12*2], si
lea r8, [r12 + r12 + 2]
mov rdx, r13
mov rsi, qword [rbp - 0x38]
mov rcx, rsi
call sub.MSVCR100.dll_memcpy
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
mov r13d, dword [rsp + 0x44]
xor r9d, r9d
jmp 0x140037bf4
mov rsi, qword [rbp - 0x38]
xor r9d, r9d
mov r13d, r9d
jmp 0x140037bef
mov dword [rsp + 0x44], r9d
test r14d, r14d
je 0x140037be9
movsxd r12, ecx
nop word [rax + rax]
lea rdx, [rbp - 0x50]
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_wcsstr]
mov rdi, rax
test rax, rax
je 0x140037be1
lea rbx, [r15 + r15]
lea rsi, [rbx + rax]
test r12d, r12d
je 0x140037bbc
mov rcx, rax
sub rcx, qword [rbp - 0x38]
sar rcx, 1
mov r8, qword [rbp - 0x10]
sub r8, rcx
mov rax, qword [rbp]
sub r8, rax
lea r8, [r8 + r8 + 2]
lea rdx, [rdi + rax*2]
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_memmove]
mov r8, rbx
lea rdx, [rbp - 0x40]
mov rcx, rdi
call sub.MSVCR100.dll_memcpy
mov rdx, r12
mov rbx, qword [rbp - 0x10]
add rbx, r12
mov qword [rbp - 0x10], rbx
inc r13d
dec r14d
jne 0x140037b70
mov dword [rsp + 0x44], r13d
xor r9d, r9d
mov rsi, qword [rbp - 0x38]
jmp 0x140037bf4
mov dword [rsp + 0x44], r9d
cmp byte [rbp - 0x41], 0
je 0x140037ece
movzx edx, word [0x14013b0ec]
mov word [rbp - 0x50], dx
movzx eax, word [0x14013b0f0]
mov word [rbp - 0x40], ax
mov word [rbp - 0x3e], dx
or r14d, 0xffffffff
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rsi, rcx
mov qword [rbp - 0x20], rcx
mov r13, r9
mov r15, r9
mov qword [rbp + 0x20], r9
mov r8, qword [rbp - 0x38]
cmp word [r8], ax
je 0x140037ebe
test dx, dx
je 0x140037ebe
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x50]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdx, rcx
mov qword [rbp + 0x30], rcx
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x40]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rbx, rcx
mov qword [rbp], rcx
sub ecx, edx
mov dword [rbp - 0x10], ecx
mov eax, 0x4000
sub eax, esi
jns 0x140037c99
mov r14d, r9d
jmp 0x140037ca7
test ecx, ecx
jle 0x140037ca9
cdq
idiv ecx
cmp eax, 0xffffffff
cmovb r14d, eax
test ecx, ecx
je 0x140037e3d
cmp rsi, 0x1388
jb 0x140037e3d
mov edi, r9d
mov dword [rbp - 0x4c], r9d
mov rbx, r8
test r14d, r14d
je 0x140037ebe
nop
lea rdx, [rbp - 0x50]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcsstr]
mov r12, rax
test rax, rax
je 0x140037da1
inc edi
mov dword [rbp - 0x4c], edi
dec r14d
mov rdi, rax
sub rdi, rbx
sar rdi, 1
lea rsi, [rdi + r15]
mov rax, qword [rbp]
lea rcx, [rsi + rax]
cmp rcx, qword [rbp + 0x20]
jb 0x140037d56
mov rax, r12
sub rax, qword [rbp - 0x38]
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd r9, dword [rbp - 0x20]
movsxd rcx, dword [rbp - 0x10]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r8d, r14d
mov edx, dword [rbp - 0x4c]
call fcn.1400e1330
mov qword [rbp + 0x20], rax
lea rdx, [rax + rax]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
je 0x140037ddc
mov r13, rax
test rdi, rdi
je 0x140037d6f
lea rcx, [r13 + r15*2]
lea r8, [rdi + rdi]
mov rdx, rbx
call sub.MSVCR100.dll_memcpy
mov r15, rsi
mov rdi, qword [rbp]
test rdi, rdi
je 0x140037d8d
lea rcx, [r13 + r15*2]
lea r8, [rdi + rdi]
lea rdx, [rbp - 0x40]
call sub.MSVCR100.dll_memcpy
add r15, rdi
mov rax, qword [rbp + 0x30]
lea rbx, [r12 + rax*2]
test r14d, r14d
mov edi, dword [rbp - 0x4c]
jne 0x140037cd0
test edi, edi
je 0x140037e35
mov rax, rbx
mov r12, qword [rbp - 0x38]
sub rax, r12
sar rax, 1
mov rsi, qword [rbp - 0x20]
sub rsi, rax
je 0x140037e0b
lea rdi, [rsi + r15]
cmp rdi, qword [rbp + 0x20]
jb 0x140037df7
lea rdx, [rdi + rdi + 2]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
jne 0x140037df4
test r13, r13
je 0x140037dea
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
xor esi, esi
mov r12d, esi
jmp 0x140037ec1
mov r13, rax
lea rcx, [r13 + r15*2]
lea r8, [rsi + rsi]
mov rdx, rbx
call sub.MSVCR100.dll_memcpy
mov r15, rdi
xor esi, esi
mov word [r13 + r15*2], si
lea r8, [r15 + r15 + 2]
mov rdx, r13
mov rcx, r12
call sub.MSVCR100.dll_memcpy
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
mov r12d, dword [rbp - 0x4c]
jmp 0x140037ec1
xor r9d, r9d
jmp 0x140037ebe
mov r12d, r9d
mov r15, r8
mov rsi, r8
test r14d, r14d
je 0x140037ec1
movsxd r13, ecx
nop
lea rdx, [rbp - 0x50]
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_wcsstr]
mov rdi, rax
test rax, rax
je 0x140037ec1
add rbx, rbx
lea rsi, [rax + rbx]
test r13d, r13d
je 0x140037e9a
mov rcx, rax
sub rcx, r15
sar rcx, 1
mov r8, qword [rbp - 0x20]
sub r8, rcx
mov rax, qword [rbp + 0x30]
sub r8, rax
lea r8, [r8 + r8 + 2]
lea rdx, [rdi + rax*2]
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_memmove]
mov r8, rbx
lea rdx, [rbp - 0x40]
mov rcx, rdi
call sub.MSVCR100.dll_memcpy
mov rdx, r13
add qword [rbp - 0x20], rdx
inc r12d
dec r14d
mov rbx, qword [rbp]
jne 0x140037e50
jmp 0x140037ec1
mov r12d, r9d
mov r13d, dword [rsp + 0x44]
add r13d, r12d
mov dword [rsp + 0x44], r13d
cmp byte [rbp - 0x44], 0
je 0x1400381a6
movzx edx, word [0x14013b0e8]
mov word [rbp - 0x50], dx
movzx eax, word [0x14013b0f0]
mov word [rbp - 0x40], ax
mov word [rbp - 0x3e], dx
or r14d, 0xffffffff
xor eax, eax
or rcx, 0xffffffffffffffff
mov r8, qword [rbp - 0x38]
mov rdi, r8
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rsi, rcx
mov qword [rbp - 0x20], rcx
xor r9d, r9d
mov r13d, r9d
mov r15d, r9d
mov qword [rbp], r9
cmp word [r8], ax
je 0x14003819b
test dx, dx
je 0x14003819b
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x50]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdx, rcx
mov qword [rbp + 0x30], rcx
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x40]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rbx, rcx
mov qword [rbp + 0x20], rcx
sub ecx, edx
mov dword [rbp - 0x10], ecx
mov eax, 0x4000
sub eax, esi
jns 0x140037f76
mov r14d, r9d
jmp 0x140037f84
test ecx, ecx
jle 0x140037f86
cdq
idiv ecx
cmp eax, 0xffffffff
cmovb r14d, eax
test ecx, ecx
je 0x14003811d
cmp rsi, 0x1388
jb 0x14003811d
mov edi, r9d
mov dword [rbp - 0x4c], r9d
mov rbx, r8
test r14d, r14d
je 0x14003819b
nop dword [rax]
lea rdx, [rbp - 0x50]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcsstr]
mov r12, rax
test rax, rax
je 0x140038081
inc edi
mov dword [rbp - 0x4c], edi
dec r14d
mov rdi, rax
sub rdi, rbx
sar rdi, 1
lea rsi, [rdi + r15]
mov rax, qword [rbp + 0x20]
lea rcx, [rsi + rax]
cmp rcx, qword [rbp]
jb 0x140038036
mov rax, r12
sub rax, qword [rbp - 0x38]
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd r9, dword [rbp - 0x20]
movsxd rcx, dword [rbp - 0x10]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r8d, r14d
mov edx, dword [rbp - 0x4c]
call fcn.1400e1330
mov qword [rbp], rax
lea rdx, [rax + rax]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
je 0x1400380bc
mov r13, rax
test rdi, rdi
je 0x14003804f
lea rcx, [r13 + r15*2]
lea r8, [rdi + rdi]
mov rdx, rbx
call sub.MSVCR100.dll_memcpy
mov r15, rsi
mov rdi, qword [rbp + 0x20]
test rdi, rdi
je 0x14003806d
lea rcx, [r13 + r15*2]
lea r8, [rdi + rdi]
lea rdx, [rbp - 0x40]
call sub.MSVCR100.dll_memcpy
add r15, rdi
mov rax, qword [rbp + 0x30]
lea rbx, [r12 + rax*2]
test r14d, r14d
mov edi, dword [rbp - 0x4c]
jne 0x140037fb0
test edi, edi
je 0x140038115
mov rax, rbx
mov r12, qword [rbp - 0x38]
sub rax, r12
sar rax, 1
mov rsi, qword [rbp - 0x20]
sub rsi, rax
je 0x1400380eb
lea rdi, [rsi + r15]
cmp rdi, qword [rbp]
jb 0x1400380d7
lea rdx, [rdi + rdi + 2]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
jne 0x1400380d4
test r13, r13
je 0x1400380ca
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
xor esi, esi
mov r12d, esi
jmp 0x14003819e
mov r13, rax
lea rcx, [r13 + r15*2]
lea r8, [rsi + rsi]
mov rdx, rbx
call sub.MSVCR100.dll_memcpy
mov r15, rdi
xor esi, esi
mov word [r13 + r15*2], si
lea r8, [r15 + r15 + 2]
mov rdx, r13
mov rcx, r12
call sub.MSVCR100.dll_memcpy
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
mov r12d, dword [rbp - 0x4c]
jmp 0x14003819e
xor r9d, r9d
jmp 0x14003819b
mov r12d, r9d
mov r15, r8
mov rsi, r8
test r14d, r14d
je 0x14003819e
movsxd r13, ecx
nop
lea rdx, [rbp - 0x50]
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_wcsstr]
mov rdi, rax
test rax, rax
je 0x14003819e
add rbx, rbx
lea rsi, [rax + rbx]
test r13d, r13d
je 0x14003817a
mov rcx, rax
sub rcx, r15
sar rcx, 1
mov r8, qword [rbp - 0x20]
sub r8, rcx
mov rax, qword [rbp + 0x30]
sub r8, rax
lea r8, [r8 + r8 + 2]
lea rdx, [rdi + rax*2]
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_memmove]
mov r8, rbx
lea rdx, [rbp - 0x40]
mov rcx, rdi
call sub.MSVCR100.dll_memcpy
add qword [rbp - 0x20], r13
inc r12d
dec r14d
mov rbx, qword [rbp + 0x20]
jne 0x140038130
jmp 0x14003819e
mov r12d, r9d
mov r13d, dword [rsp + 0x44]
add r13d, r12d
mov rsi, qword [rbp - 0x38]
mov r12, qword [rbp + 8]
mov r15, qword [rbp + 0x50]
test r13d, r13d
mov r13d, dword [rbp - 0x14]
je 0x1400381d0
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea rbx, [rcx - 1]
jmp 0x1400381d4
mov rbx, qword [rbp + 0x40]
mov rdi, qword [rbp + 0x38]
mov r14, qword [rbp + 0x58]
lea rax, [r14 + rbx]
add rax, r12
cmp rax, 0x4001
jae 0x140039cdd
mov eax, dword [rbp + 0x48]
inc eax
mov dword [rbp + 0x48], eax
cmp eax, 1
jle 0x14003821f
test r14, r14
je 0x14003821f
cmp rdi, rsi
jne 0x14003821f
lea r8, [r14 + r14 + 2]
lea rcx, [r15 + r12*2]
lea rdx, [rbp + 0x70]
call sub.MSVCR100.dll_memcpy
add r12, r14
mov qword [rbp + 8], r12
test rbx, rbx
je 0x140037280
lea r8, [rbx + rbx + 2]
lea rcx, [r15 + r12*2]
mov rdx, rdi
call sub.MSVCR100.dll_memcpy
add r12, rbx
mov qword [rbp + 8], r12
jmp 0x140037280
mov word [r12], si
mov r12, qword [rbp + 8]
jmp 0x140038252
xor edi, edi
mov rbx, qword [rbp + 0x1c430]
nop dword [rax]
test r12, r12
je 0x14003887e
cmp word [rbp + 0xc3c0], 0
je 0x140038403
mov ebx, dword [rbx + 0x284]
mov r14, qword [rbp + 0x1c430]
mov eax, dword [rbp - 8]
mov dword [r14 + 0x284], eax
cmp word [r15], 0x7b
je 0x1400382f8
cmp byte [rsp + 0x42], 0
jne 0x1400382f8
cmp dword [rbp - 0x24], 0
jne 0x140039aa4
cmp dword [r14 + 0x38], 0
je 0x1400382c2
mov rax, qword [0x14013b0f8]
cmp qword [rax + 0xd8], 0
je 0x140039a46
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8b, 3
lea rdx, [rbp + 0xc3c0]
mov rcx, r14
call fcn.1400400e0
test eax, eax
je 0x140039a76
jmp 0x140038394
mov ecx, dword [rbp - 0x24]
test ecx, ecx
je 0x14003833d
dec ecx
je 0x140038324
dec ecx
jne 0x14003839b
lea rdx, [rbp + 0xc3c0]
mov rcx, r14
call fcn.140048ee0
test eax, eax
je 0x140039abe
jmp 0x14003839b
lea rdx, [rbp + 0xc3c0]
mov rcx, r14
call fcn.1400488e0
test eax, eax
je 0x140039ac0
jmp 0x14003839b
mov rax, qword [0x14013b0f8]
mov rcx, r14
cmp qword [rax + 0xd8], 0
jne 0x140039ac6
lea r8, [rbp + 0x530]
lea rdx, [rbp + 0xc3c0]
call fcn.140047c30
test eax, eax
je 0x140039ac4
cmp byte [rsp + 0x42], 0
je 0x14003839b
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
mov dl, 0x75
mov rcx, r14
call fcn.1400430e0
test eax, eax
je 0x140039ac2
mov qword [r14 + 0x6c8], rdi
mov word [rbp + 0xc3c0], di
cmp dword [rbp - 0x24], 0
je 0x1400383fc
cmp byte [rsp + 0x42], 0
jne 0x1400383fc
lea rdx, [r15 + 2]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x1400383c2
cmp ax, 9
jne 0x1400383c8
add rdx, 2
jmp 0x1400383b3
cmp word [rdx], 0
jne 0x1400383da
mov dword [r14 + 0x284], ebx
jmp 0x140038877
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r12, [rcx - 1]
lea r8, [rcx + rcx]
mov rcx, r15
call qword [sym.imp.MSVCR100.dll_memmove]
xor edi, edi
mov dword [r14 + 0x284], ebx
mov rbx, qword [rbp + 0x1c430]
cmp word [r15], 0x7d
jne 0x140038528
cmp dword [rbx + 0x38], 0
je 0x140038528
mov rax, qword [0x14013b0f8]
cmp qword [rax + 0xd8], 0
jne 0x140038528
mov rbx, r15
mov r14, qword [rbp + 0x1c430]
cmp qword [r14 + 0x270], 0
je 0x140038485
mov qword [r14 + 0x270], rdi
mov rcx, qword [r14 + 0x278]
test rcx, rcx
je 0x140038468
call qword [sym.imp.MSVCR100.dll_free]
mov qword [r14 + 0x278], rdi
lea rbx, [r15 + 2]
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14003847f
cmp ax, 9
jne 0x140038485
add rbx, 2
jmp 0x140038470
xor esi, esi
cmp word [rbx], 0x7d
jne 0x1400384f1
nop dword [rax]
mov eax, dword [r14 + 0x38]
test eax, eax
je 0x1400384f1
dec eax
mov dword [r14 + 0x38], eax
movsxd rcx, eax
mov rcx, qword [r14 + rcx*8 + 0x40]
call fcn.1400cde80
movsxd rdx, dword [r14 + 0x38]
mov rcx, qword [r14 + rdx*8 + 0x40]
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov edx, 0x2e
lea rcx, [r14 + 0x68]
call qword [sym.imp.MSVCR100.dll_wcsrchr]
test rax, rax
je 0x1400384d3
mov word [rax], si
jmp 0x1400384d8
mov word [r14 + 0x68], si
add rbx, 2
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400384d8
cmp ax, 9
je 0x1400384d8
cmp ax, 0x7d
je 0x140038490
cmp word [rbx], 0
je 0x140038877
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r12, [rcx - 1]
lea r8, [rcx + rcx - 2]
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.MSVCR100.dll_memmove]
mov rbx, qword [rbp + 0x1c430]
jmp 0x14003852a
xor esi, esi
cmp qword [rbx + 0x270], 0
je 0x140038628
mov rax, qword [0x14013b0f8]
cmp qword [rax + 0xd8], 0
jne 0x140038628
mov r8d, 3
lea rdx, [0x14011d078]
mov rcx, r15
call qword [sym.imp.MSVCR100.dll__wcsnicmp]
test eax, eax
je 0x140038585
mov r8d, 3
lea rdx, [0x14011d080]
mov rcx, r15
call qword [sym.imp.MSVCR100.dll__wcsnicmp]
test eax, eax
jne 0x140039b0b
lea rdi, [r15 + 6]
nop dword [rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14003859f
cmp ax, 9
jne 0x1400385a5
add rdi, 2
jmp 0x140038590
movzx eax, word [rdi]
test ax, ax
je 0x1400385c2
cmp ax, 0x7b
jne 0x140039b0b
cmp word [rdi + 2], 0
jne 0x140039b0b
mov rcx, qword [rbx + 0x278]
lea rdx, [rbp + 0xc3c0]
sub rdx, rcx
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
add rcx, 2
test ax, ax
jne 0x1400385e0
mov edx, 0x2e
lea rcx, [rbp + 0xc3c0]
call qword [sym.imp.MSVCR100.dll_wcschr]
movzx ecx, word [r15]
mov word [rax + 2], cx
mov eax, dword [rbx + 0x284]
mov dword [rbp - 8], eax
cmp word [rdi], 0x7b
sete byte [rsp + 0x42]
xor r12d, r12d
mov dword [rbp - 0x24], r12d
jmp 0x140038881
lea rdx, [rsp + 0x42]
mov rcx, r15
call fcn.140036d60
test al, al
je 0x140038675
mov rcx, r15
lea rdx, [rbp + 0xc3c0]
sub rdx, r15
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
add rcx, 2
test ax, ax
jne 0x140038650
mov eax, dword [rbx + 0x284]
mov dword [rbp - 8], eax
xor r12d, r12d
mov dword [rbp - 0x24], r12d
jmp 0x140038881
mov rax, qword [0x14013b0f8]
cmp qword [rax + 0xd8], 0
jne 0x140038a0e
mov r8d, 5
lea rdx, str.Class
mov rcx, r15
call qword [sym.imp.MSVCR100.dll__wcsnicmp]
test eax, eax
jne 0x1400386e5
lea rdx, [rsp + 0x42]
mov rcx, r15
call fcn.140036e70
test rax, rax
je 0x1400386e5
lea rdx, [rbp + 0xc3c0]
sub rdx, rax
movzx ecx, word [rax]
mov word [rdx + rax], cx
add rax, 2
test cx, cx
jne 0x1400386c0
mov eax, dword [rbx + 0x284]
mov dword [rbp - 8], eax
mov dword [rbp - 0x24], 1
jmp 0x14003887e
cmp dword [rbx + 0x38], 0
je 0x140038a0e
mov rdi, r15
movzx ecx, word [rdi]
test ecx, 0xffffff80
jne 0x14003870c
mov edx, 0x107
call qword [sym.imp.MSVCR100.dll__isctype]
test eax, eax
jne 0x14003871b
movzx eax, word [rdi]
cmp ax, 0x5f
je 0x14003871b
cmp ax, 0x2e
jne 0x140038721
add rdi, 2
jmp 0x1400386f2
cmp rdi, r15
jbe 0x1400387f5
nop word [rax + rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14003873f
cmp ax, 9
jne 0x140038745
add rdi, 2
jmp 0x140038730
movzx eax, word [rdi]
cmp ax, 0x3a
jne 0x140038770
cmp word [rdi + 2], 0x3d
jne 0x140038770
xor r8d, r8d
mov rdx, r15
mov rcx, rbx
call fcn.1400490f0
test eax, eax
je 0x140039b46
jmp 0x14003887e
test ax, ax
je 0x140038788
cmp ax, 0x5b
je 0x140038788
cmp ax, 0x7b
jne 0x1400387f5
cmp word [rdi + 2], 0
jne 0x1400387f5
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
cmp word [r15 + rcx*2 - 4], 0x7b
sete al
mov byte [rsp + 0x42], al
test al, al
je 0x1400387b5
lea rdx, [rcx - 2]
mov rcx, r15
call fcn.14002f8a0
mov rcx, r15
lea rdx, [rbp + 0xc3c0]
sub rdx, r15
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
add rcx, 2
test ax, ax
jne 0x1400387d0
mov eax, dword [rbx + 0x284]
mov dword [rbp - 8], eax
mov dword [rbp - 0x24], 2
jmp 0x14003887e
mov r8d, 6
lea rdx, str.Static
mov rcx, r15
call qword [sym.imp.MSVCR100.dll__wcsnicmp]
test eax, eax
jne 0x140038839
movzx eax, word [r15 + 0xc]
cmp ax, 0x20
je 0x140038820
cmp ax, 9
jne 0x140038839
lea rdx, [r15 + 0xe]
mov r8b, 1
mov rcx, rbx
call fcn.1400490f0
test eax, eax
je 0x140039b74
jmp 0x14003887e
cmp word [r15], 0x23
jne 0x140039b78
mov edi, dword [rbx + 0x284]
mov rdx, r15
mov rcx, rbx
call fcn.14003e840
test eax, eax
je 0x140039b76
cmp eax, 3
jne 0x140039b78
mov eax, dword [rbp + 0x10]
mov dword [rbx + 0x280], eax
mov dword [rbx + 0x284], edi
jmp 0x14003887e
mov rbx, qword [rbp + 0x1c430]
xor r12d, r12d
movzx esi, byte [rbp + 0x1c438]
test sil, sil
je 0x14003992e
mov edi, dword [rbp + 0x14]
inc edi
mov dword [rbp + 0x14], edi
mov ecx, edi
dec ecx
je 0x1400389f4
dec ecx
je 0x1400388ba
dec ecx
je 0x140039896
cmp ecx, 7
jne 0x14003992e
jmp 0x14003892e
lea rax, [0x140107738]
mov rcx, rax
mov rdx, r15
sub rdx, rax
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
add rcx, 2
test ax, ax
jne 0x1400388d0
cmp byte [rsp + 0x43], al
setne dl
add dl, 0xc3
mov qword [rsp + 0x20], r12
mov r9d, 1
lea r8, [rbp + 0x28]
mov rcx, rbx
call fcn.1400430e0
cmp byte [rbp - 0x48], 0
je 0x14003892e
lea r8, [rbp + 0xa0]
lea rdx, str.if_not_GetKeyState___s__
mov rcx, r15
call qword [sym.imp.MSVCR100.dll__swprintf]
movsxd r12, eax
mov eax, 9
mov dword [rbp + 0x14], eax
jmp 0x140038a0e
lea r8, [0x1401035ac]
cmp sil, 0x12
je 0x140038947
cmp sil, 0xa3
jbe 0x14003896c
cmp sil, 0xa5
ja 0x14003896c
movzx ecx, byte [rbp - 0x28]
sub ecx, 0x11
je 0x140038965
sub ecx, 0x91
je 0x140038965
dec ecx
jne 0x14003896c
lea r8, str.RCtrl_up
jmp 0x14003896c
lea r8, str.LCtrl_up
mov qword [rbx + 0x6c8], r12
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x60]
lea rdx, str.Blind_s_s_s_DownR
mov rcx, r15
call qword [sym.imp.MSVCR100.dll__swprintf]
mov qword [rsp + 0x20], r12
mov r9d, 1
lea r8, [rbp + 0x28]
mov dl, 0x41
mov rcx, rbx
call fcn.1400430e0
test eax, eax
je 0x140039b8e
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov dl, 0x67
mov rcx, rbx
call fcn.1400430e0
mov qword [rbx + 0x6c8], r12
lea r8, [rbp + 0xe0]
lea rdx, str._s_up::
mov rcx, r15
call qword [sym.imp.MSVCR100.dll__swprintf]
movsxd r12, eax
mov eax, 2
mov dword [rbp + 0x14], eax
jmp 0x140038a0e
lea r8, [rbp + 0xe0]
lea rdx, str._s::
mov rcx, r15
call qword [sym.imp.MSVCR100.dll__swprintf]
movsxd r12, eax
xor esi, esi
mov r14d, esi
mov qword [rbp + 0x38], rsi
mov r13d, esi
cmp word [r15], 0x3a
jne 0x140038b5e
lea rcx, [r15 + 2]
movzx eax, word [rcx]
test ax, ax
je 0x140038b5e
cmp ax, 0x3a
je 0x140038a5d
mov rdi, rcx
mov qword [rbp + 0x38], rcx
lea edx, [rsi + 0x3a]
call qword [sym.imp.MSVCR100.dll_wcschr]
mov r14, rax
test rax, rax
je 0x140038b5b
add r14, 2
jmp 0x140038a6d
lea rax, [r15 + 4]
cmp word [rax], si
je 0x140038b5e
mov r14, rax
test r14, r14
je 0x140038b5e
mov rsi, r14
nop dword [rax]
movzx eax, word [rsi]
test ax, ax
je 0x140038b50
cmp ax, word [0x14013b0f0]
je 0x140038aa1
cmp ax, 0x3a
je 0x140038aa1
add rsi, 2
jmp 0x140038a80
movzx eax, word [rsi]
test ax, ax
je 0x140038b50
lea rbx, [rsi + 2]
cmp ax, 0x3a
jne 0x140038ac8
cmp word [rbx], ax
jne 0x140038b47
mov r13, rsi
mov rsi, rbx
jmp 0x140038b47
movzx eax, word [rbx]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x140038ae6.99
cdqe
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x39ee8]
add rcx, rdx
jmp rcx
mov eax, 7
jmp 0x140038b17
mov eax, 8
jmp 0x140038b17
mov eax, reloc.WSOCK32.dll_ioctlsocket
jmp 0x140038b17
mov eax, 0xa
jmp 0x140038b17
mov eax, recv
jmp 0x140038b17
mov eax, 9
jmp 0x140038b17
mov eax, reloc.WSOCK32.dll_inet_ntoa
mov word [rbx], ax
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx + rcx]
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_memmove]
cmp word [rsi], 0x3a
jne 0x140038b47
cmp word [rbx], 0x3a
cmove rsi, rbx
add rsi, 2
jmp 0x140038a80
xor esi, esi
test r13, r13
jne 0x140038bf3
mov r14, rsi
lea rdx, [0x14011cf04]
mov rcx, r15
call qword [sym.imp.MSVCR100.dll_wcsstr]
mov r13, rax
test rax, rax
je 0x14003947b
cmp rax, r15
jne 0x140038b8a
cmp word [rax + 4], 0x3a
jne 0x140038b8a
add r13, 2
mov rdi, r13
cmp r13, r15
jbe 0x140038baa
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140038ba1
cmp ax, 9
jne 0x140038baa
sub rdi, 2
cmp rdi, r15
ja 0x140038b92
movzx ebx, word [rdi]
mov word [rdi], si
mov rcx, r15
movzx eax, word [rcx]
cmp ax, 0x20
je 0x140038bc2
cmp ax, 9
jne 0x140038bc8
add rcx, 2
jmp 0x140038bb3
xor r8d, r8d
xor edx, edx
call fcn.14001adb0
mov dword [rbp + 0x4c], eax
test eax, eax
je 0x140038be4
cmp eax, 4
je 0x140039bbc
jmp 0x140038be7
mov r13, rsi
mov word [rdi], bx
test r13, r13
je 0x14003947b
cmp r13, r15
jbe 0x14003947b
mov rax, qword [0x14013b0f8]
cmp qword [rax + 0xd8], 0
jne 0x140039c76
mov rbx, qword [rbp + 0x1c430]
mov rax, qword [rbx + 0x660]
test rax, rax
je 0x140038c2d
cmp byte [rax], 0x1a
je 0x140039bbe
xor r12d, r12d
mov word [r13], r12w
add r13, 4
test r14, r14
jne 0x1400391cc
cmp word [r13], r12w
je 0x140038c8c
mov rdx, r13
nop dword [rax]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x140038c5f
cmp ax, 9
jne 0x140038c65
add rdx, 2
jmp 0x140038c50
mov rax, rdx
sub rax, r13
sar rax, 1
je 0x140038c8c
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx + rcx]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_memmove]
cmp word [r15], r12w
je 0x140038ce4
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
dec rcx
lea rax, [r15 + rcx*2 - 2]
nop dword [rax]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140038cbf
cmp cx, 9
jne 0x140038cca
cmp rax, r15
je 0x140038cd1
sub rax, 2
jmp 0x140038cb0
mov word [rax + 2], r12w
jmp 0x140038ce4
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140038ce0
cmp cx, 9
jne 0x140038ce4
mov word [rax], r12w
mov r12, r13
cmp word [r13], 0
je 0x1400391d5
movzx eax, word [r13 + 2]
test ax, ax
je 0x140038e7c
xor dl, dl
xor dil, dil
lea r8, [0x140000000]
nop dword [rax]
cmp ax, 0x20
je case.0x140038d41.40
movzx eax, word [r12]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x140038d41.40
cdqe
movzx eax, byte [r8 + rax + 0x39f60]
mov ecx, dword [r8 + rax*4 + 0x39f40]
add rcx, r8
jmp rcx
mov dil, 1
jmp case.0x140038d41.35
mov dl, 1
jmp case.0x140038d41.35
test dil, dil
jne 0x140038d64
test dl, dl
jne 0x140038d68
or dword [rbp - 0x2c], 1
jmp case.0x140038d41.35
test dl, dl
je 0x140038d7b
movzx eax, byte [rbp + 0x1c448]
or al, 4
mov byte [rbp + 0x1c448], al
xor dl, dl
jmp 0x140038d82
movzx eax, byte [rbp + 0x1c448]
test dil, dil
je case.0x140038d41.35
or al, 8
jmp 0x140038e35
test dil, dil
jne 0x140038da4
test dl, dl
jne 0x140038da8
or dword [rbp - 0x2c], 2
jmp case.0x140038d41.35
test dl, dl
je 0x140038dbb
movzx eax, byte [rbp + 0x1c448]
or al, 1
mov byte [rbp + 0x1c448], al
xor dl, dl
jmp 0x140038dc2
movzx eax, byte [rbp + 0x1c448]
test dil, dil
je case.0x140038d41.35
or al, 2
jmp 0x140038e35
test dil, dil
jne 0x140038dda
test dl, dl
jne 0x140038dde
or dword [rbp - 0x2c], 4
jmp case.0x140038d41.35
test dl, dl
je 0x140038df1
movzx eax, byte [rbp + 0x1c448]
or al, 0x10
mov byte [rbp + 0x1c448], al
xor dl, dl
jmp 0x140038df8
movzx eax, byte [rbp + 0x1c448]
test dil, dil
je case.0x140038d41.35
or al, 0x20
jmp 0x140038e35
test dil, dil
jne 0x140038e10
test dl, dl
jne 0x140038e14
or dword [rbp - 0x2c], 8
jmp case.0x140038d41.35
test dl, dl
je 0x140038e27
movzx eax, byte [rbp + 0x1c448]
or al, 0x40
mov byte [rbp + 0x1c448], al
xor dl, dl
jmp 0x140038e2e
movzx eax, byte [rbp + 0x1c448]
test dil, dil
je case.0x140038d41.35
or al, 0x80
xor dil, dil
mov byte [rbp + 0x1c448], al
add r12, 2
movzx eax, word [r12 + 2]
test ax, ax
jne 0x140038d10
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov r9, rax
xor r8d, r8d
xor edx, edx
mov rcx, r12
call fcn.140023e00
movzx esi, al
mov byte [rbp + 0x1c438], al
test al, al
je 0x1400391dc
jmp 0x140038e84
mov al, 0xff
mov byte [rbp + 0x1c438], al
mov rbx, r15
cmp word [r15], 0
je case.0x140038edf.40
xor dl, dl
xor dil, dil
lea r8, [r15 + 2]
movzx eax, word [r8]
test ax, ax
je case.0x140038edf.40
lea r9, [0x140000000]
nop
cmp ax, 0x20
je case.0x140038edf.40
movzx eax, word [rbx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x140038edf.40
cdqe
movzx eax, byte [r9 + rax + 0x39fe0]
mov ecx, dword [r9 + rax*4 + 0x39fc0]
add rcx, r9
jmp rcx
mov dil, 1
jmp case.0x140038edf.35
mov dl, 1
jmp case.0x140038edf.35
test dil, dil
jne 0x140038f02
test dl, dl
jne 0x140038f06
or dword [rbp - 0x30], 1
jmp case.0x140038edf.35
test dl, dl
je 0x140038f15
movzx eax, byte [rsp + 0x40]
or al, 4
mov byte [rsp + 0x40], al
xor dl, dl
jmp 0x140038f1a
movzx eax, byte [rsp + 0x40]
test dil, dil
je case.0x140038edf.35
or al, 8
jmp 0x140038fbb
test dil, dil
jne 0x140038f3c
test dl, dl
jne 0x140038f40
or dword [rbp - 0x30], 2
jmp case.0x140038edf.35
test dl, dl
je 0x140038f4f
movzx eax, byte [rsp + 0x40]
or al, 1
mov byte [rsp + 0x40], al
xor dl, dl
jmp 0x140038f54
movzx eax, byte [rsp + 0x40]
test dil, dil
je case.0x140038edf.35
or al, 2
jmp 0x140038fbb
test dil, dil
jne 0x140038f6c
test dl, dl
jne 0x140038f70
or dword [rbp - 0x30], 4
jmp case.0x140038edf.35
test dl, dl
je 0x140038f7f
movzx eax, byte [rsp + 0x40]
or al, 0x10
mov byte [rsp + 0x40], al
xor dl, dl
jmp 0x140038f84
movzx eax, byte [rsp + 0x40]
test dil, dil
je case.0x140038edf.35
or al, 0x20
jmp 0x140038fbb
test dil, dil
jne 0x140038f9c
test dl, dl
jne 0x140038fa0
or dword [rbp - 0x30], 8
jmp case.0x140038edf.35
test dl, dl
je 0x140038faf
movzx eax, byte [rsp + 0x40]
or al, 0x40
mov byte [rsp + 0x40], al
xor dl, dl
jmp 0x140038fb4
movzx eax, byte [rsp + 0x40]
test dil, dil
je case.0x140038edf.35
or al, 0x80
xor dil, dil
mov byte [rsp + 0x40], al
mov rbx, r8
add r8, 2
movzx eax, word [r8]
test ax, ax
jne 0x140038eb0
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov r9, rax
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140023e00
movzx edi, al
mov byte [rbp - 0x28], al
lea rdx, [0x140107c10]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcsstr]
test rax, rax
setne sil
lea ecx, [rdi - 1]
cmp cl, 5
ja 0x140039019
cmp dil, 3
jne 0x140039020
lea eax, [rdi + 0x66]
cmp al, 5
ja 0x140039024
mov cl, 1
jmp 0x140039026
xor cl, cl
movzx edx, byte [rbp + 0x1c438]
lea eax, [rdx - 1]
cmp al, 5
ja 0x140039039
cmp dl, 3
jne 0x140039040
lea eax, [rdx + 0x66]
cmp al, 5
ja 0x140039044
mov al, 1
jmp 0x140039046
xor al, al
mov byte [rsp + 0x43], al
test cl, cl
jne 0x140039056
test al, al
mov byte [rbp - 0x48], 1
jne 0x14003905a
mov byte [rbp - 0x48], 0
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp rcx, 1
jne 0x140039086
movzx ecx, word [rbx]
call qword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
lea rax, [0x14011d180]
jne 0x14003908d
lea rax, [0x1401035ac]
lea r9, [0x14011ce24]
test sil, sil
lea rcx, [0x1401035ac]
cmovne r9, rcx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
lea r8, [0x14011d188]
mov edx, SafeArrayAllocDescriptor
lea rcx, [rbp + 0xe0]
call fcn.1400e0640
mov r8d, SafeArrayAllocDescriptor
mov rdx, r12
lea rcx, [rbp + 0xa0]
call qword [sym.imp.MSVCR100.dll_wcsncpy]
xor edi, edi
mov word [rbp + 0xde], di
lea r8d, [rdi + 7]
mov rdx, r13
lea rcx, [rbp + 0x60]
call qword [sym.imp.MSVCR100.dll_wcsncpy]
mov word [rbp + 0x6e], di
sub r12, r13
sar r12, 1
cmp r12, 8
jae 0x14003910a
mov word [rbp + r12*2 + 0x60], di
xor r12d, r12d
mov dword [rbp + 0x14], r12d
cmp word [rbp + 0x60], di
movzx esi, byte [rbp + 0x1c438]
mov rbx, qword [rbp + 0x1c430]
jne 0x140038888
cmp sil, 0xd
jne 0x14003914c
lea rdx, str.Return
lea rcx, [rbp + 0xa0]
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
je 0x1400391b9
jmp 0x140038894
cmp sil, 0x11
je 0x140039169
cmp sil, 0x13
je 0x1400391b9
cmp sil, 0x5f
mov rbx, qword [rbp + 0x1c430]
jne 0x140038888
mov rdi, r13
movzx edx, word [r13]
test dx, dx
mov rbx, qword [rbp + 0x1c430]
je 0x140038888
lea rcx, [0x140108138]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x1400391b9
add rcx, 2
movzx eax, word [rcx]
test ax, ax
jne 0x140039190
add rdi, 2
movzx edx, word [rdi]
test dx, dx
jne 0x140039181
mov rbx, qword [rbp + 0x1c430]
jmp 0x140038888
xor sil, sil
mov byte [rbp + 0x1c438], sil
mov rbx, qword [rbp + 0x1c430]
jmp 0x1400391df
movzx esi, byte [rbp + 0x1c438]
jmp 0x1400391df
movzx esi, byte [rbp + 0x1c438]
xor r12d, r12d
cmp byte [rbx + 0x288], 0
je 0x140039216
mov byte [rbx + 0x288], 0
mov qword [rsp + 0x20], r12
mov r9d, 0xff
xor r8d, r8d
mov dl, 0x67
mov rcx, rbx
call fcn.1400430e0
test eax, eax
je 0x140039bde
mov qword [rbx + 0x6c8], r12
mov r8b, 1
mov rdx, r15
mov rcx, rbx
call fcn.14003ff60
test eax, eax
je 0x140039c71
test r14, r14
je 0x1400392f6
cmp word [r14], 0
je 0x140039be6
mov rcx, qword [rbx + 0x680]
lea r8, [0x1401035ac]
mov rax, qword [rbp + 0x38]
test rax, rax
cmovne r8, rax
mov byte [rsp + 0x30], 0
movzx eax, byte [rbp - 0x43]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], r13
mov r9, r14
mov rdx, rcx
mov rcx, qword [rcx + 8]
call fcn.14001c970
test eax, eax
je 0x140039be4
cmp word [r13], 0
je 0x140038888
mov ecx, dword [0x14014053c]
dec ecx
mov rax, qword [0x140140540]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 0x41], 0
je 0x1400392d4
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rbx
call fcn.1400400e0
test eax, eax
je 0x140039be0
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov dl, 0x67
mov rcx, rbx
call fcn.1400430e0
test eax, eax
je 0x140039be2
jmp 0x140038888
movzx edi, r12w
cmp word [r13], 0
je 0x14003935e
xor edx, edx
mov rcx, r13
call fcn.140016e20
movzx edi, ax
test ax, ax
jne 0x140039341
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rbx
call fcn.1400400e0
test eax, eax
je 0x140039c28
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov dl, 0x67
mov rcx, rbx
call fcn.1400430e0
test eax, eax
je 0x140039c2d
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x45]
mov rcx, r15
call fcn.14001bcd0
mov rbx, rax
test rax, rax
je 0x1400393fa
test di, di
je 0x14003938f
mov word [rax + 6], di
mov rbx, qword [rbp + 0x1c430]
jmp 0x140038888
mov rax, qword [rax + 0x28]
test rax, rax
je 0x1400393b3
mov rcx, qword [0x14013f8a0]
nop
cmp qword [rax + 8], rcx
je 0x140039c32
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400393a0
movzx r8d, byte [rbp - 0x45]
mov r14, qword [rbp + 0x1c430]
mov rdx, qword [r14 + 0x680]
mov rcx, rbx
call fcn.14001ac40
test rax, rax
je 0x140039c56
cmp byte [rbp - 0x18], 0
jne 0x1400393ea
cmp byte [0x140140263], 0
je 0x1400391ad
mov byte [rbx + 0x14], 1
mov rbx, qword [rbp + 0x1c430]
jmp 0x140038888
mov rbx, qword [rbp + 0x1c430]
mov rcx, qword [rbx + 0x680]
mov byte [rsp + 0x20], 0
movzx r9d, byte [rbp - 0x45]
mov r8, qword [rcx + 8]
movzx edx, di
call fcn.140019f10
test rax, rax
jne 0x140038888
cmp dword [rbp + 0x4c], 3
jne 0x140039c6c
cmp qword [rbx + 0xbe0], rax
jne 0x140038888
mov r9, r15
lea r8, str.Note:_The_hotkey__s_will_not_be_active_because_it_does_not_exist_in_the_current_keyboard_layout.
mov edx, 0x204
lea rcx, [rbp + 0x120]
call fcn.1400e0640
mov qword [rsp + 0x20], r12
movapd xmm3, xmm6
xor r8d, r8d
mov edx, 0x10000
lea rcx, [rbp + 0x120]
call fcn.1400e9900
jmp 0x140038888
cmp word [r15 + r12*2 - 2], 0x3a
jne 0x14003979f
cmp r12, 1
je 0x140039cb1
mov rcx, r15
movzx eax, word [r15]
test ax, ax
je 0x1400394db
movzx edx, word [0x14013b0e8]
cmp ax, 0x20
je 0x14003979f
cmp ax, 9
je 0x14003979f
cmp ax, dx
je 0x14003979f
cmp ax, word [0x14013b0f0]
je 0x14003979f
add rcx, 2
movzx eax, word [rcx]
test ax, ax
jne 0x1400394a5
cmp word [r15 + r12*2 - 4], 0x3a
jne 0x1400394ee
cmp r12, 2
ja 0x14003979f
dec r12
mov word [r15 + r12*2], si
cmp word [r15], 0
je 0x140039cac
cmp r12, 0xffffffffffffffff
jne 0x14003951b
xor eax, eax
or rcx, r12
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r12, rcx
lea rax, [r15 + r12*2 - 2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14003952f
cmp cx, 9
jne 0x14003953a
cmp rax, r15
je 0x140039540
sub rax, 2
jmp 0x140039520
mov word [rax + 2], si
jmp 0x140039552
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14003954f
cmp cx, 9
jne 0x140039552
mov word [rax], si
cmp word [r15], 0
je 0x140039cac
mov rbx, qword [rbp + 0x1c430]
mov rdi, qword [rbx + 0x678]
test rdi, rdi
je 0x1400395a3
mov rdx, r15
mov rcx, qword [rdi + 8]
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
je 0x14003958c
mov rdi, qword [rdi + 0x20]
test rdi, rdi
jne 0x140039570
jmp 0x1400395a3
mov r8, r15
lea rdx, str.Duplicate_label.
mov rcx, rbx
call fcn.14005f7b0
jmp 0x140039792
cmp word [r15], 0
je 0x140039677
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
lea r13, [rcx + rcx - 2]
lea rdi, [r13 + 2]
lea rax, [rdi - 1]
cmp rax, 0xffff
ja 0x140039c95
mov rsi, qword [0x140141f38]
test rsi, rsi
jne 0x1400395fe
call fcn.1400dd320
mov rsi, rax
mov qword [0x140141f38], rax
test rax, rax
je 0x140039c93
mov rbx, qword [0x140141f40]
cmp rdi, qword [rbx + 0x10]
jbe 0x14003962b
call fcn.1400dd320
mov rbx, qword [0x140141f40]
mov qword [rbx + 0x18], rax
test rax, rax
je 0x140039c93
mov rsi, qword [0x140141f38]
mov r12, qword [rbx + 8]
mov qword [0x140141f48], r12
mov rax, rdi
and eax, 7
je 0x140039645
sub rdi, rax
add rdi, 8
lea rax, [r12 + rdi]
mov qword [rbx + 8], rax
sub qword [rbx + 0x10], rdi
test r12, r12
je 0x140039c93
test r14, r14
je 0x14003966d
mov r8, r13
mov rdx, r15
mov rcx, r12
call sub.MSVCR100.dll_memcpy
xor r14d, r14d
mov word [r12 + r13], r14w
jmp 0x14003968f
lea r12, [0x1401035ac]
mov rsi, qword [0x140141f38]
mov rbx, qword [0x140141f40]
xor r14d, r14d
test rsi, rsi
jne 0x1400396b0
call fcn.1400dd320
mov qword [0x140141f38], rax
test rax, rax
je 0x140039773
mov rbx, qword [0x140141f40]
cmp qword [rbx + 0x10], 0x28
jae 0x1400396d0
call fcn.1400dd320
mov rbx, qword [0x140141f40]
mov qword [rbx + 0x18], rax
test rax, rax
je 0x140039773
mov rdi, qword [rbx + 8]
mov qword [0x140141f48], rdi
lea rax, [rdi + 0x28]
mov qword [rbx + 8], rax
add qword [rbx + 0x10], 0xffffffffffffffd8
test rdi, rdi
je 0x140039773
lea rax, vtable.Label.0
mov qword [rdi], rax
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], r14
mov qword [rdi + 0x20], r14
mov rbx, qword [rbp + 0x1c430]
mov rax, qword [rbx + 0x680]
mov qword [rdi + 0x18], rax
cmp qword [rbx + 0x678], 0
jne 0x140039730
mov qword [rbx + 0x678], rdi
jmp 0x14003973b
mov rax, qword [rbx + 0x680]
mov qword [rax + 0x20], rdi
mov qword [rbx + 0x680], rdi
lea rdx, [0x140103618]
mov rcx, r12
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
movzx esi, byte [rbp + 0x1c438]
mov r12d, 0
jne 0x140038888
mov qword [rbx + 0xb50], rdi
jmp 0x140038881
lea r8, [0x1401035ac]
lea rdx, str.Out_of_memory.
mov rbx, qword [rbp + 0x1c430]
mov rcx, rbx
call fcn.14005f7b0
xor esi, esi
test eax, eax
je 0x140039cac
jmp 0x14003887e
mov rbx, qword [rbp + 0x1c430]
cmp word [r15], 0x23
jne 0x1400397df
mov edi, dword [rbx + 0x284]
mov rdx, r15
mov rcx, rbx
call fcn.14003e840
test eax, eax
je 0x140039cce
cmp eax, 3
jne 0x1400397df
mov eax, dword [rbp + 0x10]
mov dword [rbx + 0x280], eax
mov dword [rbx + 0x284], edi
jmp 0x14003887e
movzx eax, word [r15]
cmp ax, 0x7b
je 0x140039828
cmp ax, 0x7d
je 0x140039824
xor r12d, r12d
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
mov rcx, rbx
call fcn.1400400e0
test eax, eax
je 0x140039cd3
jmp 0x140038881
cmp ax, 0x7b
setne dl
add dl, 0x75
xor r12d, r12d
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call fcn.1400430e0
test eax, eax
je 0x140039cd8
add r15, 2
movzx eax, word [r15]
cmp ax, 0x20
je 0x14003984c
cmp ax, 9
je 0x14003984c
mov qword [rbp + 0x28], r15
cmp ax, r12w
movzx esi, byte [rbp + 0x1c438]
je 0x140038888
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
lea r12, [rcx - 1]
xor edi, edi
mov qword [rbx + 0x6c8], rdi
jmp 0x140038260
lea rax, [0x140107738]
mov rdx, rax
mov rcx, r15
sub rcx, rax
nop word [rax + rax]
movzx eax, word [rdx]
mov word [rcx + rdx], ax
add rdx, 2
test ax, ax
jne 0x1400398b0
cmp byte [rsp + 0x43], al
setne dl
add dl, 0xc3
mov qword [rsp + 0x20], r12
mov r9d, 1
lea r8, [rbp + 0x28]
mov rcx, rbx
call fcn.1400430e0
lea r8, [rbp + 0xa0]
lea rdx, str.Blind_s_Up
mov rcx, r15
call qword [sym.imp.MSVCR100.dll__swprintf]
mov qword [rsp + 0x20], r12
mov r9d, 1
lea r8, [rbp + 0x28]
mov dl, 0x41
mov rcx, rbx
call fcn.1400430e0
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov dl, 0x67
mov rcx, rbx
call fcn.1400430e0
xor al, al
mov byte [rbp + 0x1c438], al
mov rcx, qword [rbp - 0x38]
mov r15, rcx
mov qword [rbp + 0x50], rcx
mov qword [rbp + 0x28], rcx
mov rax, qword [rbp + 0x40]
mov r12, rax
mov qword [rbp + 8], rax
lea rax, [rbp + 0x143d0]
lea rdi, [rbp + 0x43b0]
lea rdx, [rbp + 0x43b0]
cmp rcx, rdx
cmovne rax, rdi
mov rsi, rax
mov qword [rbp - 0x38], rax
movzx edi, byte [rsp + 0x41]
mov r13d, dword [rbp + 0x18]
xor r14d, r14d
jmp 0x140037220
lea rax, vtable.TextMem.0
mov qword [rsp + 0x50], rax
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1400399a1
cmp byte [rbp - 0x64], 0
je 0x14003999d
call qword [sym.imp.MSVCR100.dll_free]
mov qword [rbp - 0x70], r14
lea rax, vtable.TextStream.0
mov qword [rsp + 0x50], rax
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140039e69
xor edx, edx
mov r8d, 0x2000
call sub.MSVCR100.dll_memset
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x140039e69
mov r8, rsi
lea rdx, str.Continuation_section_too_long.
mov rcx, qword [rbp + 0x1c430]
call fcn.14005f7b0
mov edi, eax
mov rcx, qword [rbp - 0x70]
lea rax, vtable.TextMem.0
test rcx, rcx
mov qword [rsp + 0x50], rax
je 0x140039a13
cmp byte [rbp - 0x64], 0
je 0x140039a0f
call qword [sym.imp.MSVCR100.dll_free]
mov qword [rbp - 0x70], rbx
lea rax, vtable.TextStream.0
mov qword [rsp + 0x50], rax
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140039a3f
xor edx, edx
mov r8d, 0x2000
call sub.MSVCR100.dll_memset
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.MSVCR100.dll_free]
mov eax, edi
jmp 0x140039e6b
lea rdx, [0x14011cff8]
lea rax, str.Not_a_valid_method__class_or_property_definition.
cmp qword [r14 + 0x270], 0
cmovne rax, rdx
lea r8, [rbp + 0xc3c0]
mov rdx, rax
mov rcx, r14
call fcn.14005f7b0
mov edi, eax
jmp 0x140039adb
lea rax, vtable.TextMem.0
mov qword [rsp + 0x50], rax
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1400399a1
cmp byte [rbp - 0x64], 0
je 0x140039a9b
call qword [sym.imp.MSVCR100.dll_free]
mov qword [rbp - 0x70], rdi
jmp 0x1400399a1
lea r8, [rbp + 0xc3c0]
lea rdx, [0x14011cff8]
mov rcx, r14
call fcn.14005f7b0
mov edi, eax
jmp 0x140039adb
jmp 0x140039a76
jmp 0x140039a76
jmp 0x140039a76
jmp 0x140039a76
lea r8, [rbp + 0xc3c0]
lea rdx, str.Functions_cannot_contain_functions.
call fcn.14005f7b0
mov edi, eax
lea rax, vtable.TextMem.0
mov qword [rsp + 0x50], rax
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140039a13
cmp byte [rbp - 0x64], 0
je 0x140039b00
call qword [sym.imp.MSVCR100.dll_free]
xor esi, esi
mov qword [rbp - 0x70], rsi
jmp 0x140039a13
mov r8, r15
lea rdx, str.Not_a_valid_property_getter_setter.
mov rcx, rbx
call fcn.14005f7b0
mov edi, eax
lea rax, vtable.TextMem.0
mov qword [rsp + 0x50], rax
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140039a13
cmp byte [rbp - 0x64], 0
je 0x140039b02
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x140039b02
lea rax, vtable.TextMem.0
mov qword [rsp + 0x50], rax
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1400399a1
cmp byte [rbp - 0x64], 0
je 0x140039b6b
call qword [sym.imp.MSVCR100.dll_free]
mov qword [rbp - 0x70], rsi
jmp 0x1400399a1
jmp 0x140039b46
jmp 0x140039b46
mov r8, r15
lea rdx, str.Not_a_valid_method__class_or_property_definition.
mov rcx, rbx
call fcn.14005f7b0
mov edi, eax
jmp 0x140039b1f
lea rax, vtable.TextMem.0
mov qword [rsp + 0x50], rax
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1400399a1
cmp byte [rbp - 0x64], 0
je 0x140039bb3
call qword [sym.imp.MSVCR100.dll_free]
mov qword [rbp - 0x70], r12
jmp 0x1400399a1
jmp 0x140039b46
mov qword [rbx + 0x6c8], rax
mov r8, r15
lea rdx, str.IfWin_should_be_IfWin.
mov rcx, rbx
call fcn.14005f7b0
mov edi, eax
jmp 0x140039b1f
jmp 0x140039b8e
jmp 0x140039b8e
jmp 0x140039b8e
jmp 0x140039b8e
mov r8, r15
lea rdx, str.This_hotstring_is_missing_its_abbreviation.
mov rcx, rbx
call fcn.14005f7b0
mov edi, eax
lea rax, vtable.TextMem.0
mov qword [rsp + 0x50], rax
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140039a13
cmp byte [rbp - 0x64], 0
je 0x140039c1f
call qword [sym.imp.MSVCR100.dll_free]
mov qword [rbp - 0x70], r12
jmp 0x140039a13
jmp 0x140039b8e
jmp 0x140039b8e
mov r14, qword [rbp + 0x1c430]
mov qword [r14 + 0x6c8], r12
mov r8, r15
lea rdx, str.Duplicate_hotkey.
mov rcx, r14
call fcn.14005f7b0
mov edi, eax
jmp 0x140039bfa
mov r8, r15
lea rdx, str.Out_of_memory.
mov rcx, r14
call fcn.14005f7b0
mov edi, eax
jmp 0x140039bfa
jmp 0x140039b8e
jmp 0x140039b8e
mov r8, r15
lea rdx, str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov rcx, qword [rbp + 0x1c430]
call fcn.14005f7b0
mov edi, eax
jmp 0x140039b1f
xor esi, esi
mov r8, r15
lea rdx, str.Out_of_memory.
lea rcx, [0x140143150]
call fcn.14005f7b0
nop
jmp 0x140039b46
mov r8, r15
lea rdx, str.This_line_does_not_contain_a_recognized_action.
mov rcx, qword [rbp + 0x1c430]
call fcn.14005f7b0
mov edi, eax
jmp 0x140039b1f
jmp 0x140039b46
jmp 0x140039b8e
jmp 0x140039b8e
mov r8, rdi
lea rdx, str.Continuation_section_too_long.
mov rcx, qword [rbp + 0x1c430]
call fcn.14005f7b0
mov edi, eax
lea rax, vtable.TextMem.0
mov qword [rsp + 0x50], rax
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140039a13
cmp byte [rbp - 0x64], 0
je 0x140039d1a
call qword [sym.imp.MSVCR100.dll_free]
xor eax, eax
mov qword [rbp - 0x70], rax
jmp 0x140039a13
mov r8, r15
lea rdx, [0x14011cf90]
mov rcx, qword [rbp + 0x1c430]
call fcn.14005f7b0
mov edi, eax
jmp 0x1400399ee
cmp word [rbp + 0xc3c0], 0
je 0x140039ddb
mov edi, dword [rbx + 0x284]
mov eax, dword [rbp - 8]
mov dword [rbx + 0x284], eax
mov rcx, rbx
cmp dword [rbp - 0x24], 0
je 0x140039d9c
lea rax, str.Missing___
lea rdx, [0x14011cff8]
cmp byte [rsp + 0x42], 0
cmovne rdx, rax
lea r8, [rbp + 0xc3c0]
call fcn.14005f7b0
mov edi, eax
lea rcx, [rsp + 0x50]
call fcn.140033a70
jmp 0x140039a3f
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov r8b, 3
lea rdx, [rbp + 0xc3c0]
call fcn.1400400e0
test eax, eax
jne 0x140039dd5
lea rcx, [rsp + 0x50]
call fcn.140033a70
jmp 0x140039e69
mov dword [rbx + 0x284], edi
cmp dword [rbx + 0x38], 0
je 0x140039e0b
cmp dword [rbp + 0x10], 0
jne 0x140039e0b
lea r8, [rbx + 0x68]
lea rdx, str.Missing___
mov rcx, rbx
call fcn.14005f7b0
mov edi, eax
lea rcx, [rsp + 0x50]
call fcn.140033a70
jmp 0x140039a3f
inc dword [rbx + 0x284]
lea rax, vtable.TextMem.0
mov qword [rsp + 0x50], rax
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140039e36
cmp byte [rbp - 0x64], 0
je 0x140039e32
call qword [sym.imp.MSVCR100.dll_free]
mov qword [rbp - 0x70], r14
lea rax, vtable.TextStream.0
mov qword [rsp + 0x50], rax
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140039e62
xor edx, edx
mov r8d, 0x2000
call sub.MSVCR100.dll_memset
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.MSVCR100.dll_free]
mov eax, 1
jmp 0x140039e6b
xor eax, eax
mov rbx, qword [rsp + 0x1c540]
movaps xmm6, xmmword [rsp + 0x1c4e0]
add rsp, 0x1c4f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret