Function at 0x1400a90e0
Capabilities:
Print debug messages

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x19c8]
mov eax, 0x1ac8
call fcn.1402919f0
sub rsp, rax
mov qword [rbp + 0x1f0], 0xfffffffffffffffe
movaps xmmword [rsp + 0x1ab0], xmm6
movaps xmmword [rsp + Ordinal_6823], xmm7
movaps xmmword [rsp + Ordinal_6806], xmm8
movaps xmmword [rsp + 0x1a80], xmm9
movaps xmmword [rsp + 0x1a70], xmm10
movaps xmmword [rsp + 0x1a60], xmm11
movaps xmmword [rsp + 0x1a50], xmm12
movaps xmmword [rsp + 0x1a40], xmm13
movaps xmmword [rsp + 0x1a30], xmm14
movaps xmmword [rsp + 0x1a20], xmm15
mov rax, qword [0x1403c2c80]
xor rax, rsp
mov qword [rbp + 0x1918], rax
mov rbx, r9
mov qword [rbp + 8], rbx
mov r14, r8
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x20], rdx
mov rsi, rcx
mov qword [rbp + 0x288], rdx
xor r12d, r12d
mov dword [rbp - 0x80], r12d
lea rcx, [rbp - 8]
call fcn.140266140
nop
lea rcx, [rbp - 8]
call fcn.140266170
lea rdx, [rbp - 0x40]
mov rcx, r14
call fcn.140007da0
mov edi, r12d
cmp dword [rax], 2
sete dil
lea rcx, [rbp - 0x40]
call fcn.14017c3c0
lea edx, [rdi + 4]
mov dword [rbp + 0x10], edx
mov rdi, qword [rbx]
lea rdx, [rbp + 0x320]
mov rcx, r14
call fcn.14007d240
mov r8, rax
lea r9, [rbp + 0x10]
lea rdx, [rbp + 0xd0]
mov rcx, rbx
call qword [rdi + 0x78]
nop
mov eax, dword [0x1403c3f00]
test al, 1
jne 0x1400a9217
or eax, 1
mov dword [0x1403c3f00], eax
mov eax, dword [rsi + 0x164]
mov dword [0x1403c3efc], eax
mov dword [rbp - 0x50], r12d
mov eax, 3
cmp dword [rsi + 0x168], 0
je 0x1400a922e
mov dword [rbp - 0x50], eax
jmp 0x1400a923a
mov eax, dword [rsi + 0x164]
mov dword [0x1403c3efc], eax
movsd xmm13, qword [0x14032a130]
movss xmm8, dword [0x1402d37f0]
movsd xmm14, qword [0x1402ca4b0]
movsd xmm7, qword [0x140329a50]
movsd xmm12, qword [0x1402d79c0]
xorpd xmm15, xmm15
movsd xmm11, qword [0x1402d7fb8]
movsd xmm9, qword [0x1402d7fb0]
lea rbx, vtable.DL_Subject.0
nop word [rax + rax]
lea rcx, [0x1403c3ed0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
movaps xmm10, xmm8
lea rdx, [rbp + 0x1b4]
mov rcx, r14
call fcn.140007da0
cmp dword [rax], 1
sete dil
lea rcx, [rbp + 0x1b4]
call fcn.14017c3c0
test dil, dil
mov rdi, qword [0x1403c3e70]
je 0x1400a95cd
test rdi, rdi
jne 0x1400a9334
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400a9323
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
mov qword [rdi + 0x30], r12
mov ecx, 0x18
call sub.mfc100.dll_Ordinal_1272
test rax, rax
je 0x1400aa78c
mov qword [rdi + 0x28], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 8], rax
jmp 0x1400a9326
mov rdi, r12
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.1400837f0
nop
lea rax, [rbp + 0x18]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xd0]
mov r8, r14
lea rdx, [rbp + 0x440]
mov rcx, rsi
call fcn.1400a7540
nop
mov dword [rsp + 0x20], r12d
mov r9, rax
mov r8, r14
mov rdx, qword [rbp - 0x28]
lea rcx, [rsp + 0x70]
call fcn.140083920
nop
mov qword [rbp + 0x440], rbx
cmp byte [rbp + 0x448], 0
je 0x1400a93a3
call fcn.14019a3c0
mov rdi, qword [rax]
lea rdx, [rbp + 0x440]
mov rcx, rax
call qword [rdi + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rbp - 0x28]
mov r12, qword [rax + 0x70]
movsxd rcx, dword [rax + 0x80]
shl rcx, 3
sub r12, rcx
movsxd rbx, dword [rax + 0x44]
mov r15d, dword [rax + 0x48]
sub r15d, dword [rax + 0x44]
add r15d, ebx
mov edi, dword [rax + 0x3c]
cmp dword [rax + 0x248], 3
jne 0x1400a93eb
mov ecx, dword [rax + 0x40]
sub ecx, edi
inc ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
jmp 0x1400a93f2
mov edx, dword [rax + 0x40]
sub edx, edi
inc edx
lea r13d, [rdi + rdx - 1]
sub r15d, ebx
inc r15d
mov r14d, r13d
sub r14d, edi
inc r14d
call fcn.140042a20
test eax, eax
jle 0x1400a9449
lea rcx, str.IS_BarcodeImageReaderTasmanBars::Implementation::read_using_preallocated_buffer
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp qword [rsi + 0x38], 0
jne 0x1400a9434
call fcn.140042a00
mov qword [rsi + 0x38], rax
call fcn.140042a20
mov dword [rsi + 0x40], eax
mov eax, r14d
imul eax, r15d
shl eax, 2
cmp eax, dword [rsi + 0x40]
jg 0x1400aa7c9
jmp 0x1400a9482
lea rcx, str.IS_BarcodeImageReaderTasmanBars::Implementation::read_using_dynamic_buffer
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edi, r14d
imul edi, r15d
shl edi, 2
cmp edi, dword [rsi + 0x40]
jle 0x1400a9482
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x1400a9473
call fcn.140290ef0
mov dword [rsi + 0x40], edi
movsxd rcx, edi
call sub.mfc100.dll_Ordinal_265
mov qword [rsi + 0x38], rax
movsxd rax, r13d
mov r13, rbx
movsxd r11, r15d
movsxd rbx, r14d
test r14d, r14d
jle 0x1400a94f4
xor r10d, r10d
lea r8, [r12 + rax*8]
lea r12, [r11*4]
test r15d, r15d
jle 0x1400a94e8
mov rdx, r13
mov rdi, r10
mov r9, r11
mov rax, qword [r8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [rdi + rcx], al
mov rax, qword [r8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [rdi + rcx + 1], al
mov rax, qword [r8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [rdi + rcx + 2], al
add rdi, 4
inc rdx
dec r9
jne 0x1400a94b0
add r10, r12
sub r8, 8
dec rbx
jne 0x1400a94a2
mov rdi, qword [0x1403c3e70]
test rdi, rdi
jne 0x1400a955b
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400a954b
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
xor ebx, ebx
mov qword [rdi + 0x30], rbx
lea ecx, [rbx + 0x18]
call sub.mfc100.dll_Ordinal_1272
test rax, rax
je 0x1400aa8b8
mov qword [rdi + 0x28], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 8], rax
jmp 0x1400a954d
xor edi, edi
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
mov rax, qword [rbp - 0x28]
mov qword [rsp + 0x78], rax
mov r8d, 1
mov rdx, rdi
lea rcx, [rbp + 0x260]
call fcn.14003fc30
nop
mov rbx, qword [rdi + 0x28]
lea r9, [rsp + 0x78]
mov r8, qword [rbx + 8]
mov rdx, rbx
lea rcx, [rdi + 0x28]
call fcn.1400adc80
mov rdx, qword [rdi + 0x30]
movabs rcx, 0x1ffffffffffffffe
sub rcx, rdx
cmp rcx, 1
jb 0x1400aa8ef
lea rcx, [rdx + 1]
mov qword [rdi + 0x30], rcx
mov qword [rbx + 8], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rax
lea rcx, [rbp + 0x260]
jmp 0x1400aa4d9
test rdi, rdi
jne 0x1400a962e
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400a961d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
mov qword [rdi + 0x30], r12
mov ecx, 0x18
call sub.mfc100.dll_Ordinal_1272
test rax, rax
je 0x1400aa8fd
mov qword [rdi + 0x28], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 8], rax
jmp 0x1400a9620
mov rdi, r12
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
lea rdx, [rbp - 0x78]
mov rcx, rdi
call fcn.1400837f0
nop
mov rdi, qword [0x1403c3e70]
test rdi, rdi
jne 0x1400a96a3
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400a9692
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
mov qword [rdi + 0x30], r12
mov ecx, 0x18
call sub.mfc100.dll_Ordinal_1272
test rax, rax
je 0x1400aa934
mov qword [rdi + 0x28], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 8], rax
jmp 0x1400a9695
mov rdi, r12
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
lea rdx, [rbp - 0x58]
mov rcx, rdi
call fcn.1400837f0
nop
mov rdi, qword [0x1403c3e70]
test rdi, rdi
jne 0x1400a9718
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400a9707
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
mov qword [rdi + 0x30], r12
mov ecx, 0x18
call sub.mfc100.dll_Ordinal_1272
test rax, rax
je 0x1400aa971
mov qword [rdi + 0x28], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 8], rax
jmp 0x1400a970a
mov rdi, r12
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.1400837f0
nop
mov rdi, qword [0x1403c3e70]
test rdi, rdi
jne 0x1400a978d
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400a977c
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
mov qword [rdi + 0x30], r12
mov ecx, 0x18
call sub.mfc100.dll_Ordinal_1272
test rax, rax
je 0x1400aa9a8
mov qword [rdi + 0x28], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 8], rax
jmp 0x1400a977f
mov rdi, r12
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
lea rdx, [rbp - 0x68]
mov rcx, rdi
call fcn.1400837f0
nop
lea rax, [rbp + 0x18]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xd0]
mov r8, r14
lea rdx, [rbp + 0x440]
mov rcx, rsi
call fcn.1400a7540
nop
mov dword [rsp + 0x20], r12d
mov r9, rax
mov r8, r14
mov rdx, qword [rbp - 0x78]
lea rcx, [rsp + 0x70]
call fcn.140083920
nop
mov qword [rbp + 0x440], rbx
cmp byte [rbp + 0x448], 0
je 0x1400a97fc
call fcn.14019a3c0
mov rdi, qword [rax]
lea rdx, [rbp + 0x440]
mov rcx, rax
call qword [rdi + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp - 0x78]
add rdx, 0x118
mov rcx, qword [rbp - 0x58]
call fcn.14007a9a0
mov rdx, qword [rbp - 0x78]
add rdx, 0x180
mov rcx, qword [rbp - 0x58]
add rcx, 0x180
call fcn.1401b2300
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x58]
mov rax, qword [rdx + 0x200]
mov qword [rcx + 0x200], rax
mov rax, qword [rdx + 0x208]
mov qword [rcx + 0x208], rax
mov rax, qword [rdx + 0x210]
mov qword [rcx + 0x210], rax
mov rax, qword [rdx + 0x218]
mov qword [rcx + 0x218], rax
mov rax, qword [rdx + 0x220]
mov qword [rcx + 0x220], rax
mov rdx, qword [rbp - 0x78]
add rdx, 0x118
mov rcx, qword [rbp - 0x60]
call fcn.14007a9a0
mov rdx, qword [rbp - 0x78]
add rdx, 0x180
mov rcx, qword [rbp - 0x60]
add rcx, 0x180
call fcn.1401b2300
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x60]
mov rax, qword [rdx + 0x200]
mov qword [rcx + 0x200], rax
mov rax, qword [rdx + 0x208]
mov qword [rcx + 0x208], rax
mov rax, qword [rdx + 0x210]
mov qword [rcx + 0x210], rax
mov rax, qword [rdx + 0x218]
mov qword [rcx + 0x218], rax
mov rax, qword [rdx + 0x220]
mov qword [rcx + 0x220], rax
mov rdx, qword [rbp - 0x78]
add rdx, 0x118
mov rcx, qword [rbp - 0x68]
call fcn.14007a9a0
mov rdx, qword [rbp - 0x78]
add rdx, 0x180
mov rcx, qword [rbp - 0x68]
add rcx, 0x180
call fcn.1401b2300
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x68]
mov rax, qword [rdx + 0x200]
mov qword [rcx + 0x200], rax
mov rax, qword [rdx + 0x208]
mov qword [rcx + 0x208], rax
mov rax, qword [rdx + 0x210]
mov qword [rcx + 0x210], rax
mov rax, qword [rdx + 0x218]
mov qword [rcx + 0x218], rax
mov rax, qword [rdx + 0x220]
mov qword [rcx + 0x220], rax
lea rdx, [rbp + 0x1cc]
mov rdi, qword [rbp - 0x78]
mov rcx, rdi
call fcn.140007da0
mov rbx, rax
lea rdx, [rbp + 0x140]
mov rcx, rdi
call fcn.140007da0
nop
mov edx, dword [rax + 4]
mov r9, qword [rbp - 0x58]
add r9, 0x10
lea rcx, [rdi + 0x10]
mov qword [rsp + 0x20], r9
mov r8d, dword [rbx + 8]
call fcn.1401bc5e0
nop
lea rcx, [rbp + 0x140]
call fcn.14017c3c0
nop
lea rcx, [rbp + 0x1cc]
call fcn.14017c3c0
lea rdx, [rbp + 0x14c]
mov rdi, qword [rbp - 0x78]
mov rcx, rdi
call fcn.140007da0
mov rbx, rax
lea rdx, [rbp + 0x158]
mov rcx, rdi
call fcn.140007da0
nop
mov r9, qword [rbp - 0x60]
add r9, 0x10
lea rcx, [rdi + 0x10]
mov byte [rsp + 0x20], 0
mov r8d, dword [rbx + 8]
mov edx, dword [rax + 4]
call fcn.1401bcb70
nop
lea rcx, [rbp + 0x158]
call fcn.14017c3c0
nop
lea rcx, [rbp + 0x14c]
call fcn.14017c3c0
lea rdx, [rbp + 0x180]
mov rdi, qword [rbp - 0x78]
mov rcx, rdi
call fcn.140007da0
mov rbx, rax
lea rdx, [rbp + 0x1a8]
mov rcx, rdi
call fcn.140007da0
nop
mov edx, dword [rax + 4]
mov r9, qword [rbp - 0x68]
add r9, 0x10
lea rcx, [rdi + 0x10]
mov qword [rsp + 0x20], r9
mov r8d, dword [rbx + 8]
call fcn.1401bc780
nop
lea rcx, [rbp + 0x1a8]
call fcn.14017c3c0
nop
lea rcx, [rbp + 0x180]
call fcn.14017c3c0
mov rdx, qword [rbp - 0x58]
mov rbx, qword [rdx + 0x70]
movsxd rax, dword [rdx + 0x80]
shl rax, 3
sub rbx, rax
mov rax, qword [rbp - 0x60]
mov r12, qword [rax + 0x70]
movsxd rcx, dword [rax + 0x80]
shl rcx, 3
sub r12, rcx
mov rax, qword [rbp - 0x68]
mov r13, qword [rax + 0x70]
movsxd rcx, dword [rax + 0x80]
shl rcx, 3
sub r13, rcx
mov r9d, dword [rdx + 0x44]
mov dword [rsp + 0x78], r9d
mov r15d, dword [rdx + 0x48]
sub r15d, r9d
add r15d, r9d
mov r8d, dword [rdx + 0x3c]
mov ecx, dword [rdx + 0x40]
sub ecx, r8d
inc ecx
cmp dword [rdx + 0x248], 3
jne 0x1400a9b02
mov eax, 0x55555556
imul ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edi, [r8 + rcx - 1]
mov dword [rbp - 0x48], edi
sub r15d, r9d
inc r15d
mov dword [rbp - 0x30], r15d
mov r14d, edi
sub r14d, r8d
inc r14d
mov dword [rbp - 0x70], r14d
call fcn.140042a20
test eax, eax
jle 0x1400a9b64
lea rcx, str.IS_BarcodeImageReaderTasmanBars::Implementation::read_using_preallocated_buffer
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp qword [rsi + 0x38], 0
jne 0x1400a9b4f
call fcn.140042a00
mov qword [rsi + 0x38], rax
call fcn.140042a20
mov dword [rsi + 0x40], eax
mov eax, r14d
imul eax, r15d
shl eax, 2
cmp eax, dword [rsi + 0x40]
jg 0x1400aa9e5
jmp 0x1400a9ba0
lea rcx, str.IS_BarcodeImageReaderTasmanBars::Implementation::read_using_dynamic_buffer
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edi, r14d
imul edi, r15d
shl edi, 2
cmp edi, dword [rsi + 0x40]
jle 0x1400a9b9d
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x1400a9b8e
call fcn.140290ef0
mov dword [rsi + 0x40], edi
movsxd rcx, edi
call sub.mfc100.dll_Ordinal_265
mov qword [rsi + 0x38], rax
mov edi, dword [rbp - 0x48]
cmp dword [rsi + 0x160], 0
je 0x1400a9f4a
lea rdx, [rbp + 0x2b0]
mov rcx, qword [rbp + 8]
call fcn.140118920
nop
movsd xmm6, qword [rax + 0x28]
lea rdx, [rbp + 0x440]
mov r14, qword [rbp - 0x18]
mov rcx, r14
call fcn.14007d240
divsd xmm6, qword [rax + 8]
addsd xmm6, xmm14
cvttsd2si r15d, xmm6
lea rax, vtable.DL_Subject.0
mov qword [rbp + 0x2b0], rax
cmp byte [rbp + 0x2b8], 0
je 0x1400a9c11
call fcn.14019a3c0
mov rdi, qword [rax]
lea rdx, [rbp + 0x2b0]
mov rcx, rax
call qword [rdi + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rbp + 0x2b0]
mov rcx, qword [rbp + 8]
call fcn.140118920
nop
movsd xmm6, qword [rax + 0x30]
lea rdx, [rbp + 0x440]
mov rcx, r14
call fcn.14007d240
divsd xmm6, qword [rax + 0x10]
addsd xmm6, xmm14
cvttsd2si r14d, xmm6
lea rax, vtable.DL_Subject.0
mov qword [rbp + 0x2b0], rax
cmp byte [rbp + 0x2b8], 0
je 0x1400a9c71
call fcn.14019a3c0
mov rdi, qword [rax]
lea rdx, [rbp + 0x2b0]
mov rcx, rax
call qword [rdi + reloc.OLEAUT32.dll_VariantClear]
mov r8d, r14d
mov edx, r15d
lea rcx, [0x1402d7ed8]
call fcn.1400ba060
mov edx, r14d
imul edx, r15d
movd xmm1, edx
cvtdq2pd xmm1, xmm1
comisd xmm1, xmm9
jbe 0x1400a9cf7
mov eax, r15d
cdq
idiv r14d
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [0x1402d7ed0]
comisd xmm2, xmm0
jbe 0x1400a9cf7
mov eax, r14d
cdq
idiv r15d
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm2, xmm0
jbe 0x1400a9cf7
movapd xmm0, xmm9
divsd xmm0, xmm1
call sub.MSVCR100.dll_sqrt
cvtsd2ss xmm10, xmm0
unpcklps xmm10, xmm10
cvtps2pd xmm1, xmm10
movq rdx, xmm1
lea rcx, str.BarcodeImageReaders::read___barcode_compressed:__0.3f
call fcn.1400ba060
unpcklps xmm10, xmm10
cvtps2pd xmm0, xmm10
movsd xmm1, qword [0x1402cfb80]
comisd xmm1, xmm0
jbe 0x1400a9d16
movss xmm10, dword [0x1402d7e90]
unpcklps xmm10, xmm10
cvtps2pd xmm0, xmm10
movapd xmm1, xmm14
subsd xmm1, xmm0
andpd xmm1, xmm13
comisd xmm1, xmmword [0x1402d7e88]
jbe 0x1400a9e06
movd xmm0, dword [rbp - 0x30]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm10
cvttss2si r15d, xmm0
movd xmm1, dword [rbp - 0x70]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm10
cvttss2si r14d, xmm1
mov dword [rbp - 0x70], r14d
movsd xmm0, qword [0x1402d7aa0]
call sub.MSVCR100.dll_sin
movapd xmm6, xmm0
movsd xmm9, qword [rbp + 0x138]
movapd xmm0, xmm9
call sub.MSVCR100.dll_sin
andpd xmm0, xmm13
comisd xmm0, xmm6
jbe 0x1400a9dfc
movapd xmm0, xmm9
call sub.MSVCR100.dll_cos
andpd xmm0, xmm13
comisd xmm0, xmm6
jbe 0x1400a9dfc
movd xmm0, dword [rbp + 0x48]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm10
cvttss2si eax, xmm0
mov dword [rbp + 0x48], eax
movd xmm1, dword [rbp + 0x4c]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm10
cvttss2si eax, xmm1
mov dword [rbp + 0x4c], eax
unpcklps xmm10, xmm10
cvtps2pd xmm0, xmm10
movsd xmm1, qword [rbp + 0x18]
mulsd xmm1, xmm0
movsd qword [rbp + 0x18], xmm1
unpcklps xmm10, xmm10
cvtps2pd xmm0, xmm10
movsd xmm2, qword [rbp + 0x20]
mulsd xmm2, xmm0
movsd qword [rbp + 0x20], xmm2
jmp 0x1400a9e0e
mov qword [rbp + 0x48], 0
jmp 0x1400a9e0e
mov r14d, dword [rbp - 0x70]
mov r15d, dword [rbp - 0x30]
movd xmm3, dword [rbp - 0x48]
cvtdq2ps xmm3, xmm3
movsxd rdx, r15d
movsxd rcx, r14d
mov qword [rbp - 0x30], rcx
test r14d, r14d
jle 0x1400aa189
movd xmm4, dword [rsp + 0x78]
cvtdq2ps xmm4, xmm4
movaps xmm2, xmm8
divss xmm2, xmm10
xor r11d, r11d
lea r14, [rdx*4]
nop word [rax + rax]
unpcklps xmm3, xmm3
cvtps2pd xmm0, xmm3
addsd xmm0, xmm7
cvttsd2si eax, xmm0
movaps xmm1, xmm4
movsxd r8, eax
test rdx, rdx
jle 0x1400a9f31
mov r9, r11
mov r10, rdx
nop word [rax + rax]
unpcklps xmm1, xmm1
cvtps2pd xmm0, xmm1
addsd xmm0, xmm7
cvttsd2si edx, xmm0
mov ecx, dword [0x1403c3efc]
test ecx, ecx
je 0x1400a9ec5
dec ecx
je 0x1400a9eb8
dec ecx
movsxd rcx, edx
je 0x1400a9eae
mov rax, qword [r13 + r8*8]
movzx edx, byte [rcx + rax]
jmp 0x1400a9eff
mov rax, qword [r12 + r8*8]
movzx edx, byte [rcx + rax]
jmp 0x1400a9eff
movsxd rcx, edx
mov rax, qword [rbx + r8*8]
movzx edx, byte [rcx + rax]
jmp 0x1400a9eff
movsxd rdx, edx
mov rax, qword [r12 + r8*8]
movzx edi, byte [rax + rdx]
imul edi, edi, 0x3b
mov rax, qword [r13 + r8*8]
movzx ecx, byte [rax + rdx]
imul ecx, ecx, 0xb
add edi, ecx
mov rax, qword [rbx + r8*8]
movzx ecx, byte [rax + rdx]
imul ecx, ecx, 0x1e
add edi, ecx
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov rax, qword [rsi + 0x38]
mov byte [r9 + rax], dl
mov rax, qword [rsi + 0x38]
mov byte [r9 + rax + 1], dl
mov rax, qword [rsi + 0x38]
mov byte [r9 + rax + 2], dl
add r9, 4
addss xmm1, xmm2
dec r10
jne 0x1400a9e80
mov rcx, qword [rbp - 0x30]
movsxd rdx, r15d
add r11, r14
subss xmm3, xmm2
dec rcx
mov qword [rbp - 0x30], rcx
jne 0x1400a9e50
jmp 0x1400aa185
movd xmm2, edi
cvtdq2ps xmm2, xmm2
movsxd r10, r15d
movsxd rcx, r14d
mov qword [rbp - 0x48], rcx
test r14d, r14d
jle 0x1400aa189
movd xmm3, dword [rsp + 0x78]
cvtdq2ps xmm3, xmm3
xor r14d, r14d
xor r15d, r15d
nop word [rax + rax]
unpcklps xmm2, xmm2
cvtps2pd xmm0, xmm2
addsd xmm0, xmm7
cvttsd2si eax, xmm0
xor r11d, r11d
movaps xmm1, xmm3
movsxd rdi, eax
cmp r10, 4
jl 0x1400aa0f8
mov r8, r15
lea r9, [r10 - 4]
shr r9, 2
inc r9
lea r11, [r9*4]
nop word [rax + rax]
unpcklps xmm1, xmm1
cvtps2pd xmm0, xmm1
addsd xmm0, xmm7
cvttsd2si eax, xmm0
movsxd rdx, eax
mov rax, qword [r13 + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx], al
mov rax, qword [r12 + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx + 1], al
mov rax, qword [rbx + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx + 2], al
addss xmm1, xmm8
unpcklps xmm1, xmm1
cvtps2pd xmm0, xmm1
addsd xmm0, xmm7
cvttsd2si eax, xmm0
movsxd rdx, eax
mov rax, qword [r13 + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx + 4], al
mov rax, qword [r12 + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx + 5], al
mov rax, qword [rbx + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx + 6], al
addss xmm1, xmm8
unpcklps xmm1, xmm1
cvtps2pd xmm0, xmm1
addsd xmm0, xmm7
cvttsd2si eax, xmm0
movsxd rdx, eax
mov rax, qword [r13 + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx + 8], al
mov rax, qword [r12 + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx + 9], al
mov rax, qword [rbx + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx + 0xa], al
addss xmm1, xmm8
unpcklps xmm1, xmm1
cvtps2pd xmm0, xmm1
addsd xmm0, xmm7
cvttsd2si eax, xmm0
movsxd rdx, eax
mov rax, qword [r13 + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx + 0xc], al
mov rax, qword [r12 + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx + 0xd], al
mov rax, qword [rbx + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx + 0xe], al
addss xmm1, xmm8
add r8, 0x10
dec r9
jne 0x1400a9fc0
mov rcx, qword [rbp - 0x48]
cmp r11, r10
jge 0x1400aa161
lea r8, [r14 + r11]
shl r8, 2
mov r9, r10
sub r9, r11
unpcklps xmm1, xmm1
cvtps2pd xmm0, xmm1
addsd xmm0, xmm7
cvttsd2si eax, xmm0
movsxd rdx, eax
mov rax, qword [r13 + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx], al
mov rax, qword [r12 + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx + 1], al
mov rax, qword [rbx + rdi*8]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [rdx + rax]
mov byte [r8 + rcx + 2], al
addss xmm1, xmm8
add r8, 4
dec r9
jne 0x1400aa10b
mov rcx, qword [rbp - 0x48]
add r14, r10
lea rax, [r10*4]
add r15, rax
subss xmm2, xmm8
dec rcx
mov qword [rbp - 0x48], rcx
jne 0x1400a9f80
mov r15d, dword [rbp - 0x30]
mov r14d, dword [rbp - 0x70]
mov rdi, qword [0x1403c3e70]
test rdi, rdi
jne 0x1400aa1f0
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400aa1e0
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
xor ebx, ebx
mov qword [rdi + 0x30], rbx
lea ecx, [rbx + 0x18]
call sub.mfc100.dll_Ordinal_1272
test rax, rax
je 0x1400aabe8
mov qword [rdi + 0x28], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 8], rax
jmp 0x1400aa1e2
xor edi, edi
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
mov rax, qword [rbp - 0x68]
mov qword [rsp + 0x78], rax
mov r8d, 1
mov rdx, rdi
lea rcx, [rbp + 0x210]
call fcn.14003fc30
nop
mov rbx, qword [rdi + 0x28]
lea r9, [rsp + 0x78]
mov r8, qword [rbx + 8]
mov rdx, rbx
lea rcx, [rdi + 0x28]
call fcn.1400adc80
mov rdx, qword [rdi + 0x30]
movabs r12, 0x1ffffffffffffffe
mov rcx, r12
sub rcx, rdx
cmp rcx, 1
jb 0x1400ab310
lea rcx, [rdx + 1]
mov qword [rdi + 0x30], rcx
mov qword [rbx + 8], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rax
lea rcx, [rbp + 0x210]
call fcn.14003fc70
nop
mov rdi, qword [0x1403c3e70]
test rdi, rdi
jne 0x1400aa2cd
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400aa2bd
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
xor ebx, ebx
mov qword [rdi + 0x30], rbx
lea ecx, [rbx + 0x18]
call sub.mfc100.dll_Ordinal_1272
test rax, rax
je 0x1400aac1f
mov qword [rdi + 0x28], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 8], rax
jmp 0x1400aa2bf
xor edi, edi
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
mov rax, qword [rbp - 0x60]
mov qword [rsp + 0x78], rax
mov r8d, 1
mov rdx, rdi
lea rcx, [rbp + 0x220]
call fcn.14003fc30
nop
mov rbx, qword [rdi + 0x28]
lea r9, [rsp + 0x78]
mov r8, qword [rbx + 8]
mov rdx, rbx
lea rcx, [rdi + 0x28]
call fcn.1400adc80
mov rdx, qword [rdi + 0x30]
mov rcx, r12
sub rcx, rdx
cmp rcx, 1
jb 0x1400ab302
lea rcx, [rdx + 1]
mov qword [rdi + 0x30], rcx
mov qword [rbx + 8], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rax
lea rcx, [rbp + 0x220]
call fcn.14003fc70
nop
mov rdi, qword [0x1403c3e70]
test rdi, rdi
jne 0x1400aa3a0
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400aa390
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
xor ebx, ebx
mov qword [rdi + 0x30], rbx
lea ecx, [rbx + 0x18]
call sub.mfc100.dll_Ordinal_1272
test rax, rax
je 0x1400aac56
mov qword [rdi + 0x28], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 8], rax
jmp 0x1400aa392
xor edi, edi
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x78], rax
mov r8d, 1
mov rdx, rdi
lea rcx, [rbp + 0x290]
call fcn.14003fc30
nop
mov rbx, qword [rdi + 0x28]
lea r9, [rsp + 0x78]
mov r8, qword [rbx + 8]
mov rdx, rbx
lea rcx, [rdi + 0x28]
call fcn.1400adc80
mov rdx, qword [rdi + 0x30]
mov rcx, r12
sub rcx, rdx
cmp rcx, 1
jb 0x1400ab2f4
lea rcx, [rdx + 1]
mov qword [rdi + 0x30], rcx
mov qword [rbx + 8], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rax
lea rcx, [rbp + 0x290]
call fcn.14003fc70
nop
mov rdi, qword [0x1403c3e70]
test rdi, rdi
jne 0x1400aa473
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400aa463
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
xor ebx, ebx
mov qword [rdi + 0x30], rbx
lea ecx, [rbx + 0x18]
call sub.mfc100.dll_Ordinal_1272
test rax, rax
je 0x1400aac8d
mov qword [rdi + 0x28], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 8], rax
jmp 0x1400aa465
xor edi, edi
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x78], rax
mov r8d, 1
mov rdx, rdi
lea rcx, [rbp + 0x2a0]
call fcn.14003fc30
nop
mov rbx, qword [rdi + 0x28]
lea r9, [rsp + 0x78]
mov r8, qword [rbx + 8]
mov rdx, rbx
lea rcx, [rdi + 0x28]
call fcn.1400adc80
mov rdx, qword [rdi + 0x30]
mov rcx, r12
sub rcx, rdx
cmp rcx, 1
jb 0x1400ab2e6
lea rcx, [rdx + 1]
mov qword [rdi + 0x30], rcx
mov qword [rbx + 8], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rax
lea rcx, [rbp + 0x2a0]
call fcn.14003fc70
mov ecx, dword [rsi]
dec ecx
je 0x1400aa50e
sub ecx, 3
je 0x1400aa503
movapd xmm9, xmm12
cmp ecx, 4
je 0x1400aa517
mulsd xmm9, xmm15
divsd xmm9, qword [0x1402d02f0]
jmp 0x1400aa517
movsd xmm9, qword [0x1402d7e80]
jmp 0x1400aa517
movsd xmm9, qword [0x1402d7e78]
lea rdx, [rbp + 0x440]
mov rcx, qword [rbp + 8]
call fcn.1400a7510
nop
mov rcx, rax
call fcn.1401c6130
movapd xmm6, xmm0
addsd xmm6, xmm9
lea rax, vtable.DL_Subject.0
mov qword [rbp + 0x440], rax
cmp byte [rbp + 0x448], 0
je 0x1400aa565
call fcn.14019a3c0
mov rdi, qword [rax]
lea rdx, [rbp + 0x440]
mov rcx, rax
call qword [rdi + reloc.OLEAUT32.dll_VariantClear]
comisd xmm6, xmm11
jbe 0x1400aa571
subsd xmm6, xmm11
movapd xmm0, xmm12
mulsd xmm0, xmm15
movsd xmm9, qword [0x1402d02f0]
divsd xmm0, xmm9
comisd xmm0, xmm6
jbe 0x1400aa594
addsd xmm6, xmm11
movsd xmm0, qword [0x1402d7e70]
comisd xmm6, xmm0
jae 0x1400aa604
movsd xmm1, qword [0x1402d7e68]
comisd xmm1, xmm6
ja 0x1400aa604
comisd xmm6, xmm1
movsd xmm1, qword [0x1402d7e60]
jb 0x1400aa5ce
comisd xmm1, xmm6
jbe 0x1400aa5ce
mov edi, 1
mov dword [rbp - 0x6c], edi
jmp 0x1400aa618
comisd xmm6, xmm1
movsd xmm1, qword [str._nh_lxj]
jb 0x1400aa5ec
comisd xmm1, xmm6
jbe 0x1400aa5ec
mov edi, 8
mov dword [rbp - 0x6c], edi
jmp 0x1400aa618
comisd xmm6, xmm1
jb 0x1400aa615
mov edx, 4
comisd xmm0, xmm6
jbe 0x1400aa610
mov edi, edx
mov dword [rbp - 0x6c], edx
jmp 0x1400aa61d
mov eax, 2
mov edi, eax
mov dword [rbp - 0x6c], eax
jmp 0x1400aa618
mov edi, dword [rbp - 0x6c]
jmp 0x1400aa61d
mov edi, dword [rbp - 0x6c]
mov edx, 4
mov eax, dword [rsi + 0x16c]
mov ebx, 1
test eax, eax
mov ecx, 2
cmove ebx, ecx
mov ecx, dword [rsi + 0x1a0]
test ecx, ecx
mov r8d, 3
cmovne ebx, r8d
test eax, eax
jne 0x1400aa64d
test ecx, ecx
cmovne ebx, edx
mov r8d, dword [0x1403c3efc]
mov edx, ebx
lea rcx, str.BarcodeImageReaders::read___Method__d__GreyScaleImg_d
call fcn.1400ba060
cmp dword [rsi + 0x1a4], 0
setne r9b
lea rax, [rbp - 0x10]
mov qword [rsp + 0x68], rax
movss dword [rsp + 0x60], xmm10
lea rax, [rbp + 0x18]
mov qword [rsp + 0x58], rax
movsd xmm0, qword [rbp + 0x138]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rsi + 8]
mov dword [rsp + 0x48], eax
mov eax, dword [rsi + 4]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r15d
mov rax, qword [rsi + 0x38]
mov qword [rsp + 0x20], rax
mov r8d, ebx
lea rdx, [0x1403c3ef8]
mov rcx, rsi
call fcn.1400a6f90
mov r12d, eax
lea rcx, [0x1403c3ed0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r14, qword [rbp - 0x18]
cmp r12d, 1
je 0x1400aa713
lea rdx, [rbp + 0x1c0]
mov rcx, r14
call fcn.140007da0
mov r13d, dword [rbp - 0x80]
or r13d, 2
mov dword [rbp - 0x80], r13d
cmp dword [rax], 1
je 0x1400aa717
cmp dword [rsi + 0x160], 0
je 0x1400aa717
mov dil, 1
jmp 0x1400aa71a
mov r13d, dword [rbp - 0x80]
xor dil, dil
test r13b, 2
je 0x1400aa734
and r13d, 0xfffffffd
mov dword [rbp - 0x80], r13d
lea rcx, [rbp + 0x1c0]
call fcn.14017c3c0
test dil, dil
je 0x1400aacc4
mov r15d, dword [rbp - 0x50]
mov eax, r15d
dec r15d
mov dword [rbp - 0x50], r15d
test eax, eax
jle 0x1400aacc4
mov eax, dword [0x1403c3efc]
inc eax
mov dword [0x1403c3efc], eax
cmp eax, 3
movsd xmm9, qword [0x1402d7fb0]
mov r12d, 0
lea rbx, vtable.DL_Subject.0
jle 0x1400a9290
mov dword [0x1403c3efc], r12d
jmp 0x1400a9274
mov qword [rbp + 0xa8], r12
lea rdx, [rbp + 0xa8]
lea rcx, [rbp + 0x1f8]
call qword [sym.imp.MSVCR100.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64____ptr64]
lea rdx, vtable.std::bad_alloc.0
mov qword [rbp + 0x1f8], rdx
lea rdx, [0x1403abcc0]
lea rcx, [rbp + 0x1f8]
call sub.MSVCR100.dll__CxxThrowException
nop
imul r14d, r15d
shl r14d, 2
mov r8d, r14d
lea rdx, str.Image_too_big___d
lea rcx, [rbp + 0x510]
call qword [sym.imp.MSVCR100.dll_sprintf]
lea rcx, [rbp + 0x510]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rbx, qword [rbp - 0x20]
mov qword [rbx + 0x18], shutdown
mov qword [rbx + 0x10], 0
mov byte [rbx], 0
mov r8d, 0xf
lea rdx, str.NO_BARCODE_READ
mov rcx, rbx
call fcn.140008ba0
mov eax, dword [rbp - 0x80]
or eax, 1
mov dword [rbp - 0x80], eax
mov rdi, qword [0x1403c3e70]
test rdi, rdi
jne 0x1400aa879
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rbp - 0x40], rax
test rax, rax
je 0x1400aa869
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
lea rcx, [rdi + 0x28]
lea rdx, [rsp + 0x70]
call fcn.14008a120
nop
jmp 0x1400aa86b
xor edi, edi
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
mov rdx, qword [rbp - 0x28]
mov rcx, rdi
call fcn.1401d9950
nop
lea rax, vtable.DL_Subject.0
mov qword [rbp + 0xd0], rax
cmp byte [rbp + 0xd8], 0
je 0x1400aa8b3
call fcn.14019a3c0
mov rdi, qword [rax]
lea rdx, [rbp + 0xd0]
mov rcx, rax
call qword [rdi + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x1400ab31e
mov qword [rbp + 0x60], rbx
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x248]
call qword [sym.imp.MSVCR100.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64____ptr64]
lea rdx, vtable.std::bad_alloc.0
mov qword [rbp + 0x248], rdx
lea rdx, [0x1403abcc0]
lea rcx, [rbp + 0x248]
call sub.MSVCR100.dll__CxxThrowException
nop
lea rcx, str.list_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop
mov qword [rbp + 0x68], r12
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0x270]
call qword [sym.imp.MSVCR100.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64____ptr64]
lea rdx, vtable.std::bad_alloc.0
mov qword [rbp + 0x270], rdx
lea rdx, [0x1403abcc0]
lea rcx, [rbp + 0x270]
call sub.MSVCR100.dll__CxxThrowException
nop
mov qword [rbp + 0x80], r12
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x230]
call qword [sym.imp.MSVCR100.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64____ptr64]
lea rdx, vtable.std::bad_alloc.0
mov qword [rbp + 0x230], rdx
lea rdx, [0x1403abcc0]
lea rcx, [rbp + 0x230]
call sub.MSVCR100.dll__CxxThrowException
nop
mov qword [rbp + 0x78], r12
lea rdx, [rbp + 0x78]
lea rcx, [rbp + 0x1d8]
call qword [sym.imp.MSVCR100.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64____ptr64]
lea rdx, vtable.std::bad_alloc.0
mov qword [rbp + 0x1d8], rdx
lea rdx, [0x1403abcc0]
lea rcx, [rbp + 0x1d8]
call sub.MSVCR100.dll__CxxThrowException
nop
mov qword [rbp + 0x88], r12
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x468]
call qword [sym.imp.MSVCR100.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64____ptr64]
lea rdx, vtable.std::bad_alloc.0
mov qword [rbp + 0x468], rdx
lea rdx, [0x1403abcc0]
lea rcx, [rbp + 0x468]
call sub.MSVCR100.dll__CxxThrowException
nop
imul r14d, r15d
shl r14d, 2
mov r8d, r14d
lea rdx, str.Image_too_big___d
lea rcx, [rbp + 0x510]
call qword [sym.imp.MSVCR100.dll_sprintf]
lea rcx, [rbp + 0x510]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rbx, qword [rbp - 0x20]
mov qword [rbx + 0x18], shutdown
mov qword [rbx + 0x10], 0
mov byte [rbx], 0
mov r8d, 0xf
lea rdx, str.NO_BARCODE_READ
mov rcx, rbx
call fcn.140008ba0
mov eax, dword [rbp - 0x80]
or eax, 1
mov dword [rbp - 0x80], eax
mov rdi, qword [0x1403c3e70]
test rdi, rdi
jne 0x1400aaa95
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rbp - 0x40], rax
test rax, rax
je 0x1400aaa85
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
lea rcx, [rdi + 0x28]
lea rdx, [rsp + 0x70]
call fcn.14008a120
nop
jmp 0x1400aaa87
xor edi, edi
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
mov rdx, qword [rbp - 0x68]
mov rcx, rdi
call fcn.1401d9950
nop
mov rdi, qword [0x1403c3e70]
test rdi, rdi
jne 0x1400aaaf1
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rbp - 0x40], rax
test rax, rax
je 0x1400aaae1
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
lea rcx, [rdi + 0x28]
lea rdx, [rsp + 0x70]
call fcn.14008a120
nop
jmp 0x1400aaae3
xor edi, edi
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
mov rdx, qword [rbp - 0x60]
mov rcx, rdi
call fcn.1401d9950
nop
mov rdi, qword [0x1403c3e70]
test rdi, rdi
jne 0x1400aab4d
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rbp - 0x40], rax
test rax, rax
je 0x1400aab3d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
lea rcx, [rdi + 0x28]
lea rdx, [rsp + 0x70]
call fcn.14008a120
nop
jmp 0x1400aab3f
xor edi, edi
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
mov rdx, qword [rbp - 0x58]
mov rcx, rdi
call fcn.1401d9950
nop
mov rdi, qword [0x1403c3e70]
test rdi, rdi
jne 0x1400aaba9
lea ecx, [rdi + 0x40]
call sub.mfc100.dll_Ordinal_1272
mov rdi, rax
mov qword [rbp - 0x40], rax
test rax, rax
je 0x1400aab99
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14003ff60
nop
lea rcx, [rdi + 0x28]
lea rdx, [rsp + 0x70]
call fcn.14008a120
nop
jmp 0x1400aab9b
xor edi, edi
mov qword [0x1403c3e70], rdi
mov qword [0x1403c3e80], rdi
mov rdx, qword [rbp - 0x78]
mov rcx, rdi
call fcn.1401d9950
nop
lea rax, vtable.DL_Subject.0
mov qword [rbp + 0xd0], rax
cmp byte [rbp + 0xd8], 0
je 0x1400aabe3
call fcn.14019a3c0
mov rdi, qword [rax]
lea rdx, [rbp + 0xd0]
mov rcx, rax
call qword [rdi + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x1400ab31e
mov qword [rbp + 0x58], rbx
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x168]
call qword [sym.imp.MSVCR100.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64____ptr64]
lea rdx, vtable.std::bad_alloc.0
mov qword [rbp + 0x168], rdx
lea rdx, [0x1403abcc0]
lea rcx, [rbp + 0x168]
call sub.MSVCR100.dll__CxxThrowException
nop
mov qword [rbp + 0x70], rbx
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x190]
call qword [sym.imp.MSVCR100.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64____ptr64]
lea rdx, vtable.std::bad_alloc.0
mov qword [rbp + 0x190], rdx
lea rdx, [0x1403abcc0]
lea rcx, [rbp + 0x190]
call sub.MSVCR100.dll__CxxThrowException
nop
mov qword [rbp + 0x50], rbx
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x90]
call qword [sym.imp.MSVCR100.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64____ptr64]
lea rdx, vtable.std::bad_alloc.0
mov qword [rbp + 0x90], rdx
lea rdx, [0x1403abcc0]
lea rcx, [rbp + 0x90]
call sub.MSVCR100.dll__CxxThrowException
nop
mov qword [rbp - 0x40], rbx
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0xb0]
call qword [sym.imp.MSVCR100.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64____ptr64]
lea rdx, vtable.std::bad_alloc.0
mov qword [rbp + 0xb0], rdx
lea rdx, [0x1403abcc0]
lea rcx, [rbp + 0xb0]
call sub.MSVCR100.dll__CxxThrowException
nop
cmp r12d, 1
jne 0x1400ab230
mov r8d, dword [0x1403c3efc]
mov edx, ebx
lea rcx, str.BarcodeImageReaders::read___barcode_found._Method_d__GreyScaleImg_d
call fcn.1400ba060
mov r9, qword [rbp - 0x10]
movsxd r8, dword [r9 + 8]
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x20], 0xffffffffffffffff
mov r9, qword [r9]
lea rdx, [rbp + 0x910]
lea rcx, [rbp - 0x40]
call qword [sym.imp.MSVCR100.dll_wcstombs_s]
mov qword [rbp + 0x480], shutdown
xor r12d, r12d
mov qword [rbp + 0x478], r12
mov byte [rbp + 0x468], r12b
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x910]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x910]
lea rcx, [rbp + 0x468]
call fcn.140008ba0
nop
lea r8d, [r12 + 0x40]
lea rdx, [rbp + 0x490]
lea rcx, [rsp + 0x78]
call qword [sym.imp.BarCodeReader.dll_public:_static_int___cdecl_BarCodeReaderClass::GetSymStrFromSym_int____ptr64__wchar_t____ptr64__unsigned_long_long_unsigned___int64__]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x490]
repne scasw ax, word [rdi]
not rcx
mov qword [rsp + 0x20], 0xffffffffffffffff
lea r9, [rbp + 0x490]
mov r8, rcx
lea rdx, [rbp + 0x910]
lea rcx, [rbp - 0x40]
call qword [sym.imp.MSVCR100.dll_wcstombs_s]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x910]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsi + 0xd0]
lea rdx, [rbp + 0x910]
call fcn.140008ba0
lea rdx, vtable.DL_GmPoint.0
mov qword [rbp + 0x18], rdx
movsd qword [rbp + 0x20], xmm15
movsd qword [rbp + 0x28], xmm15
mov qword [rbp + 0x30], rdx
movsd qword [rbp + 0x38], xmm15
movsd qword [rbp + 0x40], xmm15
mov byte [rbp + 0x48], 1
xor r8d, r8d
lea rdx, [rbp + 0x440]
lea rcx, [rbp + 0xd0]
call fcn.1401c4740
mov rdx, rax
lea rcx, [rbp + 0x18]
call fcn.14007aae0
lea r8d, [r12 + 1]
lea rdx, [rbp + 0x320]
lea rcx, [rbp + 0xd0]
call fcn.1401c4740
mov rdx, rax
lea rcx, [rbp + 0x18]
call fcn.14007aae0
lea r8d, [r12 + 2]
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0xd0]
call fcn.1401c4740
mov rdx, rax
lea rcx, [rbp + 0x18]
call fcn.14007aae0
lea r8d, [r12 + 3]
lea rdx, [rbp + 0x168]
lea rcx, [rbp + 0xd0]
call fcn.1401c4740
mov rdx, rax
lea rcx, [rbp + 0x18]
call fcn.14007aae0
lea rdx, [rbp + 0x2b0]
lea rcx, [r14 + 0x180]
call fcn.1401b23d0
nop
movsd xmm3, qword [rbp + 0x40]
movsd xmm2, qword [rbp + 0x20]
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x2b0]
call fcn.1401b0720
movsd xmm2, qword [rbp + 0xb8]
mov rax, qword [rbp - 0x10]
addsd xmm2, qword [rax + 0x38]
movsd xmm3, qword [rbp + 0xc0]
subsd xmm3, qword [rax + 0x40]
lea rdx, [rbp + 0x90]
lea rcx, [r14 + 0x180]
call fcn.1401b0720
movsd xmm0, qword [rbp + 0x98]
movsd qword [rsi + 0xc0], xmm0
movsd xmm1, qword [rbp + 0xa0]
movsd qword [rsi + 0xc8], xmm1
mov rax, qword [rbp - 0x10]
movsd xmm0, qword [rax + 0x58]
movsd xmm1, qword [0x1402d7db8]
mulsd xmm0, xmm1
divsd xmm0, xmm9
movsd qword [rsi + 0xb0], xmm0
comisd xmm0, xmm12
jbe 0x1400aaf3e
subsd xmm0, xmm11
movsd qword [rsi + 0xb0], xmm0
movsd xmm0, qword [rsi + 0xb0]
comisd xmm1, xmm0
jbe 0x1400aaf59
addsd xmm0, xmm11
movsd qword [rsi + 0xb0], xmm0
lea rcx, [rbp - 8]
call fcn.140266180
mulsd xmm0, qword [0x140329db8]
addsd xmm0, xmm7
cvttsd2si eax, xmm0
movsxd rcx, eax
mov qword [rsi + 0xf8], rcx
mov r8d, ebx
lea rdx, [rbp + 0x440]
mov rcx, rsi
call fcn.1400a8540
nop
mov rdx, rax
lea rcx, [rsi + 0x100]
call fcn.14000c8d0
nop
cmp qword [rbp + 0x458], 0x10
jb 0x1400aafb5
mov rcx, qword [rbp + 0x440]
call fcn.140290ed8
cmp dword [0x1403c3ef8], 0
jle 0x1400ab110
lea rax, [0x1402cb5f0]
mov qword [rbp + 0x340], rax
lea rax, [0x1403283f8]
mov qword [rbp + 0x350], rax
lea rcx, [rbp + 0x3d8]
call qword [sym.imp.MSVCP100.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
or r13d, 4
mov dword [rbp - 0x80], r13d
xor r8d, r8d
lea rdx, [rbp + 0x358]
lea rcx, [rbp + 0x340]
call qword [sym.imp.MSVCP100.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rbp + 0x340]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x340], rbx
lea rcx, [rbp + 0x358]
call qword [sym.imp.MSVCP100.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + 0x358], rax
mov qword [rbp + 0x3c8], r12
mov dword [rbp + 0x3d0], r12d
lea rdx, [rsi + 0x100]
lea rcx, [rbp + 0x350]
call fcn.1400092b0
mov rcx, rax
lea rdx, [0x1402d7db0]
call fcn.1400090e0
mov rcx, rax
mov edx, dword [0x1403c3ef8]
call qword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x140323a70]
call fcn.1400090e0
lea rdx, [rbp + 0x440]
lea rcx, [rbp + 0x340]
call fcn.140048bc0
nop
mov rdx, rax
lea rcx, [rsi + 0x100]
call fcn.14000c8d0
nop
cmp qword [rbp + 0x458], 0x10
jb 0x1400ab0cb
mov rcx, qword [rbp + 0x440]
call fcn.140290ed8
nop
lea rax, [rbp + 0x3d8]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x340]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x340], rbx
lea rcx, [rbp + 0x358]
call fcn.14000f578
nop
lea rcx, [rbp + 0x358]
call qword [sym.imp.MSVCP100.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x3d8]
call qword [sym.imp.MSVCP100.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov r8d, dword [0x1403c3efc]
lea rdx, [rbp + 0x440]
mov rcx, rsi
call fcn.1400a85e0
nop
lea rcx, [rsi + 0x128]
mov rdx, rax
call fcn.14000c8d0
nop
cmp qword [rbp + 0x458], 0x10
jb 0x1400ab14d
mov rcx, qword [rbp + 0x440]
call fcn.140290ed8
mov r8, qword [rsi + 0x20]
cmp qword [rbp + 0x478], r8
jae 0x1400ab173
lea rdx, [rsi + 0x10]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp + 0x468]
call fcn.1400082f0
jmp 0x1400ab198
test r8, r8
je 0x1400ab198
lea r9, [rsi + 0x10]
mov qword [rsp + 0x28], 0xffffffffffffffff
mov qword [rsp + 0x20], r12
xor edx, edx
lea rcx, [rbp + 0x468]
call fcn.1400a7d80
mov rbx, qword [rbp - 0x20]
mov qword [rbx + 0x18], shutdown
mov qword [rbx + 0x10], r12
mov byte [rbx], 0
lea rdx, [rbp + 0x468]
mov rcx, rbx
call fcn.14000c8d0
or r13d, 1
mov dword [rbp - 0x80], r13d
lea rcx, [rbp + 0x2b0]
call fcn.1401b22b0
nop
cmp qword [rbp + 0x480], 0x10
jb 0x1400ab1e5
mov rcx, qword [rbp + 0x468]
call fcn.140290ed8
mov qword [rbp + 0x480], shutdown
mov qword [rbp + 0x478], r12
mov byte [rbp + 0x468], 0
lea rax, vtable.DL_Subject.0
mov qword [rbp + 0xd0], rax
cmp byte [rbp + 0xd8], 0
je 0x1400ab22b
call fcn.14019a3c0
mov rdi, qword [rax]
lea rdx, [rbp + 0xd0]
mov rcx, rax
call qword [rdi + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x1400ab31e
movsd xmm0, qword [rbp + 0xe8]
movsd qword [rsi + 0xc0], xmm0
movsd xmm1, qword [rbp + 0xf0]
movsd qword [rsi + 0xc8], xmm1
movsd xmm0, qword [rbp + 0x138]
movsd qword [rsi + 0xb0], xmm0
lea rcx, [rbp - 8]
call fcn.140266180
mulsd xmm0, qword [0x140329db8]
addsd xmm0, xmm7
cvttsd2si eax, xmm0
movsxd rcx, eax
mov qword [rsi + 0xf8], rcx
mov rbx, qword [rbp - 0x20]
mov qword [rbx + 0x18], shutdown
mov qword [rbx + 0x10], 0
mov byte [rbx], 0
mov r8d, 0xf
lea rdx, str.NO_BARCODE_READ
mov rcx, rbx
call fcn.140008ba0
or r13d, 1
mov dword [rbp - 0x80], r13d
lea rax, vtable.DL_Subject.0
mov qword [rbp + 0xd0], rax
cmp byte [rbp + 0xd8], 0
je 0x1400ab2e4
call fcn.14019a3c0
mov rdi, qword [rax]
lea rdx, [rbp + 0xd0]
mov rcx, rax
call qword [rdi + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x1400ab31e
lea rcx, str.list_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop
lea rcx, str.list_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop
lea rcx, str.list_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop
lea rcx, str.list_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop
lea rcx, [rbp - 8]
call fcn.14017c3c0
mov rax, rbx
mov rcx, qword [rbp + 0x1918]
xor rcx, rsp
call fcn.1402912a0
lea r11, [rsp + 0x1ac8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret