Function at 0x10001470
Capabilities:
Print debug messages

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x54
test eax, eax
jne 0x100014c7
lea eax, [esp + 4]
push str.AutoWindow.cpp_ProcessRegion____stCoef__pGain_n
push eax
call fcn.100049dc
add esp, 8
lea ecx, [esp + 4]
push ecx
call sub.Log.dll_TimeLog
lea edx, [esp + 4]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov al, byte [0x1001c796]
test al, al
je 0x100017c6
push 0
lea eax, [esp + 8]
push str.Debug
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
add esp, 0x54
ret
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x1000151b
lea ecx, [esp + 4]
push str.AutoWindow.cpp_ProcessRegion____pOffset__pGain_n
push ecx
call fcn.100049dc
add esp, 8
lea edx, [esp + 4]
push edx
call sub.Log.dll_TimeLog
lea eax, [esp + 4]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov al, byte [0x1001c796]
test al, al
je 0x100017c6
push 0
lea ecx, [esp + 8]
push str.Debug
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
add esp, 0x54
ret
push ebx
push ebp
mov ebp, dword [esp + 0x60]
push esi
mov edx, ebp
push edi
shl edx, 0xc
xor ebx, ebx
xor eax, eax
lea edi, [edx + 0x10015b38]
xor edx, edx
mov dword [esp + 0x10], edi
mov esi, edi
mov ecx, dword [esi]
add esi, 4
inc ecx
add ebx, ecx
imul ecx, edx
add eax, ecx
inc edx
cmp edx, 0x400
jl 0x1000153a
test ebx, ebx
jle 0x1000155a
cdq
idiv ebx
dec eax
jmp 0x1000155c
xor eax, eax
mov esi, dword [0x10019b38]
mov dword [esp + 0x68], eax
mov eax, 0x51eb851f
add edi, 0xffc
movsx ecx, word [esi + ebp*2 + 0x5c]
imul ecx, ebx
imul ecx
sar edx, 5
mov eax, edx
mov ecx, 0x3ff
shr eax, 0x1f
add edx, eax
mov eax, dword [edi]
cmp eax, edx
jge 0x1000159f
test ecx, ecx
jle 0x1000159f
add eax, dword [edi - 4]
sub edi, 4
dec ecx
cmp eax, edx
jl 0x10001590
mov edi, ecx
mov eax, 0x51eb851f
movsx ecx, word [esi + ebp*2 + 0x68]
imul ecx, ebx
imul ecx
mov ebx, dword [esp + 0x10]
sar edx, 5
mov eax, dword [ebx]
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
xor ecx, ecx
cmp eax, edx
jge 0x100015d9
cmp ecx, 0x3ff
jge 0x100015d9
add eax, dword [ebx + 4]
add ebx, 4
inc ecx
cmp eax, edx
jl 0x100015c6
movsx eax, word [esi + ebp*2 + 0x62]
mov ebx, ecx
mov ecx, eax
shl ecx, 0xa
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp word [esi + ebp*2 + 0x4a], 0
je 0x10001617
cmp ebx, edx
jge 0x1000160a
sub edx, ebx
mov ebx, edx
jmp 0x10001619
mov eax, edx
sub eax, ebx
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
jmp 0x10001619
xor ebx, ebx
movsx eax, word [esi + ebp*2 + 0x44]
dec eax
cmp eax, 3
ja case.default.0x10001628
jmp dword [eax*4 + 0x100017cc]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov ecx, 0x200
pop edi
mov dword [edx], ecx
pop esi
mov dword [eax], ebx
pop ebp
pop ebx
add esp, 0x54
ret
mov ecx, dword [esp + 0x68]
add ecx, ebx
test ecx, ecx
jg 0x100016d8
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov ecx, 0x4000
pop edi
mov dword [edx], ecx
pop esi
mov dword [eax], ebx
pop ebp
pop ebx
add esp, 0x54
ret
movsx eax, word [esi + ebp*2 + 0x56]
mov ecx, eax
shl ecx, 0xa
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, edx
cmp edi, ecx
jg 0x1000169e
mov eax, edi
shl eax, 9
cdq
idiv ecx
mov ecx, eax
jmp 0x100016b9
sub edi, ecx
mov esi, 0x3ff
mov eax, edi
sub esi, ecx
shl eax, 9
sub eax, edi
cdq
idiv esi
mov ecx, eax
add ecx, 0x200
add ecx, ebx
test ecx, ecx
jg 0x100016d8
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov ecx, 0x4000
pop edi
mov dword [edx], ecx
pop esi
mov dword [eax], ebx
pop ebp
pop ebx
add esp, 0x54
ret
mov eax, 0x40000
cdq
idiv ecx
mov ecx, eax
cmp ecx, 0x4000
jg 0x10001799
cmp ecx, 1
jge 0x100017b6
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov ecx, 1
pop edi
mov dword [edx], ecx
pop esi
mov dword [eax], ebx
pop ebp
pop ebx
add esp, 0x54
ret
movsx eax, word [esi + ebp*2 + 0x56]
mov ecx, eax
shl ecx, 0xa
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ecx, edx
cmp edi, ecx
jg 0x1000173f
mov eax, edi
shl eax, 9
cdq
idiv ecx
mov ecx, eax
jmp 0x1000175a
sub edi, ecx
mov esi, 0x3ff
mov eax, edi
sub esi, ecx
shl eax, 9
sub eax, edi
cdq
idiv esi
mov ecx, eax
add ecx, 0x200
mov esi, dword [esp + 0x68]
add ecx, ebx
add esi, ebx
test esi, esi
jle 0x10001799
test ecx, ecx
jle 0x10001799
mov eax, 0x40000
cdq
idiv ecx
mov ecx, eax
mov eax, 0x40000
cdq
idiv esi
add ecx, eax
sar ecx, 1
cmp ecx, 0x4000
jg 0x10001799
cmp ecx, 1
jl 0x100016f7
cmp ecx, 0x4000
jle 0x100017b6
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov ecx, 0x4000
pop edi
mov dword [edx], ecx
pop esi
mov dword [eax], ebx
pop ebp
pop ebx
add esp, 0x54
ret
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
pop edi
pop esi
mov dword [edx], ecx
mov dword [eax], ebx
pop ebp
pop ebx
add esp, 0x54
ret