Function at 0x45cc40
Capabilities:
Check for time delay via gettickcount
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x584944
mov eax, dword fs:[0]
push eax
sub esp, 0x18c
mov eax, dword [0x5eaeac]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov edi, 1
xor esi, esi
cmp dword [ebx + 0x5084], edi
jne 0x45cd0c
push esi
lea ecx, [ebp - 0x198]
call fcn.00412690
push 0xd
push 0x59aaf4
lea ecx, [ebp - 0xdc]
mov dword [ebp - 4], esi
call fcn.004017e0
lea ecx, [ebp - 0x198]
call fcn.00466ec4
cmp eax, edi
jne 0x45ccc5
lea eax, [ebp - 0xe0]
lea ecx, [ebx + 0x5088]
push eax
call fcn.004019a0
push 0xd
push 0x59aae4
lea ecx, [ebp - 0xdc]
call fcn.004017e0
lea ecx, [ebp - 0x198]
call fcn.00466ec4
cmp eax, edi
jne 0x45ccf8
lea edx, [ebp - 0xe0]
lea ecx, [ebx + 0x508c]
push edx
call fcn.004019a0
lea ecx, [ebp - 0x198]
mov dword [ebp - 4], 0xffffffff
call fcn.004125d0
jmp 0x45cd2e
push edi
lea ecx, [ebx + 0x5088]
push 0x598964
call fcn.004017e0
push edi
lea ecx, [ebx + 0x508c]
push 0x598964
call fcn.004017e0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
push 0x3e8
mov ecx, ebx
mov dword [ebp - 0xa0], eax
call fcn.0046fae8
mov ecx, eax
call fcn.0046fd0b
lea eax, [ebx + 0x4d0]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, ebx
call fcn.0041ad70
push esi
lea ecx, [ebx + 0x5144]
push 0x593f0c
call fcn.004017e0
fldz
lea eax, [ebp - 0x50]
fst dword [ebx + 0x26b4]
push eax
fstp dword [ebx + 0x26b8]
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [ebx + 0x508c]
mov edx, dword [ebx + 0x5088]
push ecx
movzx ecx, word [ebp - 0x44]
push edx
movzx edx, word [ebp - 0x46]
push ecx
movzx ecx, word [ebp - 0x48]
push edx
movzx edx, word [ebp - 0x4a]
push ecx
movzx ecx, word [ebp - 0x4e]
push edx
movzx edx, word [ebp - 0x50]
push ecx
push edx
lea eax, [ebx + 0x5228]
push str._04d_02d_02d_02d_02d_02d__s__s
push eax
call fcn.00402fb0
mov eax, dword [ebx + 0x20]
add esp, 0x28
push edi
push esi
push eax
mov dword [ebx + 0x4a0], esi
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp dword [ebx + 0x5040], 4
jne 0x45cded
mov ecx, ebx
call fcn.00442e60
mov ecx, ebx
call fcn.00445ea0
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.NULL
call fcn.00401a90
push 0
push 0xffff
push 0x3ed
mov ecx, ebx
call fcn.00419550
push 0x3eb
mov ecx, ebx
call fcn.0046fae8
mov esi, eax
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.00476112
push 0x593f0c
mov ecx, esi
call fcn.0046fbfe
cmp dword [ebx + 0x158], 2
mov dword [ebx + 0x2580], 0xffffffff
mov dword [ebx + 0x2584], edi
je 0x45ce6f
push 0
push 0
push str.Please_stop_preview_
call fcn.00465694
xor eax, eax
jmp 0x461fa5
push edi
push 0
push 0x190
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Test_Start_
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
push edi
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push ecx
mov ecx, ebx
call fcn.00441840
mov ecx, ebx
call fcn.0041ac40
cmp dword [ebx + 0x334c], 0
je 0x45ced1
mov ecx, ebx
call fcn.004498e0
xor edx, edx
cmp dword [ebx + 0x2584], 0xffffffff
setne dl
dec edx
and edx, 0x3e8
mov dword [ebx + 0x26e8], edx
movzx eax, word [ebx + 0x15c]
movzx esi, word [ebx + 0x15e]
imul esi, eax
lea edi, [esi + esi]
push edi
call fcn.00563703
push edi
push 0
push eax
mov dword [ebp - 0xa8], eax
call fcn.00563810
lea esi, [esi + esi*2]
push esi
call fcn.00563703
push esi
push 0
push eax
mov dword [ebp - 0xc8], eax
call fcn.00563810
mov edi, 1
add esp, 0x20
mov dword [ebp - 0x98], edi
cmp dword [ebx + 0x3340], edi
jne 0x45d396
cmp dword [ebx + 0x2584], 0xffffffff
je 0x45d396
push 2
mov ecx, ebx
call fcn.0044c270
test eax, eax
jne 0x45cfa1
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.FAIL
mov dword [ebx + 0x2594], eax
call fcn.00401a90
push 0
push 0xff
push 0x3ed
mov ecx, ebx
call fcn.00419550
push edi
push 0xff
push 0x190
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.Open_Camera_Fail_2_
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
jmp 0x461a99
movzx eax, word [ebx + 0x15c]
movzx esi, word [ebx + 0x15e]
mov ecx, dword [ebp - 0xa8]
imul esi, eax
lea eax, [esi + esi]
push ecx
mov dword [ebp - 0x90], eax
call fcn.00563218
mov edx, dword [ebp - 0x90]
push edx
call fcn.00563703
mov ecx, dword [ebp - 0x90]
push ecx
push 0
push eax
mov dword [ebp - 0xa8], eax
call fcn.00563810
mov edx, dword [ebp - 0xc8]
push edx
call fcn.00563218
lea esi, [esi + esi*2]
push esi
call fcn.00563703
push esi
xor esi, esi
push esi
push eax
mov dword [ebp - 0xc8], eax
call fcn.00563810
add esp, 0x28
mov dword [ebx + 0x158], edi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x94], esi
test edi, edi
jne 0x45d086
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45d05e
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov edi, 1
lea eax, [ebx + 0x4b8]
push eax
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0xa
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x45d028
cmp byte [ebx + 0x1c7], 0
jne 0x45d09b
mov edx, dword [ebx + 0x4b0]
mov dword [ebp - 0x88], edx
cmp dword [ebx + 0x461c], 0
jle 0x45d33f
xor edi, edi
mov dword [ebp - 0x90], edi
test edi, edi
jne 0x45d114
lea esi, [ebx + 0x4b8]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45d0e6
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov edi, 1
push esi
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x90]
inc esi
push 0xa
mov dword [ebp - 0x90], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x45d0b0
mov al, byte [ebx + 0x160]
mov dword [ebp - 0x7c], edi
cmp al, 2
jne 0x45d18e
mov ecx, dword [ebx + 0x478]
movzx edx, word [ebx + 0x15c]
mov eax, dword [ebx + 0x480]
movzx esi, word [ebx + 0x15e]
mov dword [ebp - 0xb4], ecx
lea ecx, [ebp - 0x61]
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xc4], eax
call fcn.0040c250
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xb4]
push esi
push edx
push eax
push ecx
lea ecx, [ebp - 0x61]
mov dword [ebp - 4], 1
call fcn.0040c6e0
lea ecx, [ebp - 0x61]
mov dword [ebp - 4], 0xffffffff
call fcn.00417d70
jmp 0x45d304
cmp al, 1
jne 0x45d1bc
movzx edx, word [ebx + 0x15e]
movzx eax, word [ebx + 0x15c]
mov ecx, dword [ebx + 0x480]
push edx
mov edx, dword [ebx + 0x478]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.0041e4e0
jmp 0x45d304
test al, al
je 0x45d256
cmp al, 6
je 0x45d256
cmp al, 7
jne 0x45d304
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45d22c
xor esi, esi
mov eax, dword [ebx + 0x478]
movzx edx, byte [eax + esi]
mov byte [eax + ecx*2], dl
mov eax, dword [ebx + 0x478]
movzx edx, byte [eax + esi + 1]
mov byte [eax + ecx*2 + 1], dl
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
sub eax, edx
inc ecx
sar eax, 1
add esi, 3
cmp ecx, eax
jl 0x45d1f2
movzx eax, word [ebx + 0x15e]
movzx ecx, word [ebx + 0x15c]
mov edx, dword [ebx + 0x480]
push eax
mov eax, dword [ebx + 0x478]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041e4e0
jmp 0x45d304
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45d2dc
xor esi, esi
jmp 0x45d280
mov edi, dword [ebx + 0x478]
movzx eax, byte [edi + esi]
mov byte [edi + ecx*4], al
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x478]
movzx eax, byte [edi + esi + 2]
mov byte [edi + ecx*4 + 2], al
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 3]
mov byte [edi + ecx*4 + 3], dl
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
and edx, 3
add eax, edx
inc ecx
sar eax, 2
add esi, 5
cmp ecx, eax
jl 0x45d280
movzx eax, word [ebx + 0x15e]
movzx ecx, word [ebx + 0x15c]
mov edx, dword [ebx + 0x480]
push eax
mov eax, dword [ebx + 0x478]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041e4e0
mov edi, dword [ebp - 0x7c]
movzx ecx, word [ebx + 0x15e]
movzx edx, word [ebx + 0x15c]
mov eax, dword [ebx + 0x480]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041d7e0
test edi, edi
je 0x45d33f
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, dword [ebx + 0x461c]
jl 0x45d0a8
cmp byte [ebx + 0x1c7], 0
jne 0x45d350
mov eax, dword [ebx + 0x4b0]
jmp 0x45d356
mov eax, dword [ebp - 0x94]
mov dword [ebx + 0x2b58], eax
cmp eax, dword [ebp - 0x88]
jge 0x45d36e
mov dword [ebx + 0x2b58], 0x10000
mov ecx, dword [ebx + 0x2b58]
cmp ecx, dword [ebx + 0x1ac8]
jle 0x45d386
mov dword [ebx + 0x26ac], 0
mov ecx, ebx
call fcn.0041dc60
cmp edi, 1
jne 0x461a99
xor esi, esi
cmp dword [ebx + 0x2584], 0xffffffff
je 0x461a9b
push 1
mov ecx, ebx
mov dword [ebx + 0x2594], esi
call fcn.0044c270
test eax, eax
jne 0x45d413
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.FAIL
mov dword [ebx + 0x2594], esi
call fcn.00401a90
push esi
push 0xff
push 0x3ed
mov ecx, ebx
call fcn.00419550
push 1
push 0xff
push 0x190
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.Open_Camera_Fail_1_
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
jmp 0x461a9b
movzx eax, word [ebx + 0x15c]
movzx esi, word [ebx + 0x15e]
mov dword [ebp - 0x68], esi
imul esi, eax
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0xa8]
lea edx, [esi + esi]
push eax
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xc0], edx
call fcn.00563218
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.00563703
mov edx, dword [ebp - 0xc0]
push edx
push 0
push eax
mov dword [ebp - 0xa8], eax
call fcn.00563810
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00563218
lea esi, [esi + esi*2]
push esi
mov dword [ebp - 0xc0], esi
call fcn.00563703
push esi
push 0
push eax
mov dword [ebp - 0xc8], eax
call fcn.00563810
add esp, 0x24
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x59aa6c
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
cmp dword [ebx + 0x3320], 1
jne 0x45d4ca
lea ecx, [ebx + 0x281c]
push ecx
lea edx, [ebx + 0x2814]
push edx
mov ecx, ebx
call fcn.00417a30
mov esi, 1
cmp dword [ebx + 0x333c], esi
jne 0x45d568
fld dword [0x59aa68]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, ebx
call fcn.00457440
movzx eax, al
mov dword [ebp - 0x98], eax
cmp eax, esi
jne 0x45d51d
mov dword [ebx + 0x30ac], 0
mov dword [ebx + 0x26b0], esi
jmp 0x45d557
mov dword [ebx + 0x30ac], 0xffffffff
mov dword [ebx + 0x26b0], 0
test eax, eax
jne 0x45d557
push esi
push 0xff
push 0xc8
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Trimming_Test_Fail_
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
fldz
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
mov dword [ebx + 0x158], esi
xor esi, esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x88], esi
test edi, edi
jne 0x45d5dd
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45d5b5
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov edi, 1
lea eax, [ebx + 0x4b8]
push eax
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0xa
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x45d57f
cmp byte [ebx + 0x1c7], 0
mov dword [ebx + 0x26ac], 1
jne 0x45d5fc
mov edx, dword [ebx + 0x4b0]
mov dword [ebp - 0x90], edx
fld dword [ebx + 0x56c]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
fld dword [ebx + 0xa74]
call fcn.00563890
push eax
push 3
mov ecx, ebx
call fcn.00417bf0
cmp dword [ebx + 0x461c], 0
jle 0x45d878
xor edi, edi
xor esi, esi
test edi, edi
jne 0x45d695
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45d66d
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov edi, 1
lea eax, [ebx + 0x4b8]
push eax
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0xa
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x45d637
mov al, byte [ebx + 0x160]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], esi
cmp al, 2
jne 0x45d701
mov edx, dword [ebx + 0x480]
mov eax, dword [ebx + 0x478]
lea ecx, [ebp - 0x61]
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xc4], eax
call fcn.0040c250
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0xa4]
push ecx
mov ecx, dword [ebp - 0xc4]
push edx
push eax
push ecx
lea ecx, [ebp - 0x61]
mov dword [ebp - 4], 2
call fcn.0040c6e0
lea ecx, [ebp - 0x61]
mov dword [ebp - 4], 0xffffffff
call fcn.00417d70
jmp 0x45d848
cmp al, 1
jne 0x45d72a
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebx + 0x480]
push edx
mov edx, dword [ebx + 0x478]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.0041e4e0
jmp 0x45d848
test al, al
je 0x45d7c2
cmp al, 6
je 0x45d7c2
cmp al, 7
jne 0x45d848
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45d79a
xor esi, esi
mov eax, dword [ebx + 0x478]
movzx edx, byte [eax + esi]
mov byte [eax + ecx*2], dl
mov eax, dword [ebx + 0x478]
movzx edx, byte [eax + esi + 1]
mov byte [eax + ecx*2 + 1], dl
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
sub eax, edx
inc ecx
sar eax, 1
add esi, 3
cmp ecx, eax
jl 0x45d760
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebx + 0x480]
push eax
mov eax, dword [ebx + 0x478]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041e4e0
mov esi, dword [ebp - 0x80]
jmp 0x45d848
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45d825
xor esi, esi
lea esp, [esp]
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x45d7e0
mov esi, dword [ebp - 0x80]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebx + 0x480]
push eax
mov eax, dword [ebx + 0x478]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041e4e0
mov edi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebx + 0x480]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041d7e0
test edi, edi
je 0x45d878
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, dword [ebx + 0x461c]
jl 0x45d633
cmp byte [ebx + 0x1c7], 0
jne 0x45d889
mov eax, dword [ebx + 0x4b0]
jmp 0x45d88f
mov eax, dword [ebp - 0x88]
mov dword [ebx + 0x2b58], eax
cmp eax, dword [ebp - 0x90]
jge 0x45d8a7
mov dword [ebx + 0x2b58], 0x10000
mov ecx, dword [ebx + 0x2b58]
cmp ecx, dword [ebx + 0x1ac8]
jle 0x45d8bf
mov dword [ebx + 0x26ac], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Bypass
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
cmp edi, 1
jne 0x4619a6
xor edi, edi
cmp esi, 0xc8
jge 0x4619a6
test edi, edi
jne 0x45d94b
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45d923
mov edx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], edx
mov dword [ebx + 0x474], eax
mov edi, 1
lea eax, [ebx + 0x4b8]
push eax
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0xa
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x45d8ed
cmp edi, 1
jne 0x4619a6
mov esi, dword [ebp - 0x98]
cmp esi, edi
jne 0x4619a6
cmp dword [ebx + 0x3350], 0
je 0x45d987
mov ecx, ebx
call fcn.004593b0
fld dword [ebx + 0x56c]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
cmp dword [ebx + 0x3310], 0
mov dword [ebx + 0x2594], 1
je 0x45d9cc
mov ecx, ebx
call fcn.00457010
push ecx
mov esi, eax
and esi, dword [ebx + 0x26ac]
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x597150
mov dword [ebp - 0x98], esi
mov dword [ebx + 0x26ac], esi
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
cmp dword [ebx + 0x3338], 0
je 0x45da42
cmp esi, 1
jne 0x45da42
mov ecx, ebx
call fcn.00445c40
mov dword [ebp - 0x98], eax
cmp eax, esi
jne 0x45d9f7
mov dword [ebx + 0x3044], 0
jmp 0x45da2b
mov ecx, ebx
call fcn.00445760
fld dword [ebx + 0x56c]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
mov ecx, ebx
call fcn.00445c40
mov dword [ebp - 0x98], eax
dec eax
neg eax
sbb eax, eax
mov dword [ebx + 0x3044], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.GetFuseID
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
mov esi, dword [ebp - 0xc0]
push esi
call fcn.00563703
push esi
push 0
push eax
mov dword [ebp - 0x8c], eax
call fcn.00563810
add esp, 0x10
lea ecx, [ebp - 0x61]
call fcn.0040c250
mov esi, dword [ebp - 0xb0]
push esi
mov dword [ebp - 4], 3
mov dword [ebp - 0x9c], esi
call fcn.00563703
push esi
push 0
push eax
mov dword [ebp - 0x6c], eax
call fcn.00563810
add esp, 0x10
push 0x593f0c
lea ecx, [ebp - 0xbc]
call fcn.00401a90
push 0x593f0c
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 4
call fcn.00401a90
mov al, byte [ebx + 0x160]
mov byte [ebp - 4], 5
cmp al, 2
jne 0x45dac6
add esi, esi
jmp 0x45daca
cmp al, 1
jne 0x45dad0
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x74], 0
xor esi, esi
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x45db3b
lea edi, [ebx + 0x4b8]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45db12
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov esi, 1
push edi
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc dword [ebp - 0x80]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x80], 0xc8
jl 0x45dadc
test esi, esi
je 0x45db47
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, 3
jl 0x45dad7
mov eax, dword [ebx + 0x24c]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [edi], eax
mov edx, dword [ebx + 0x250]
mov dword [edi + 4], edx
mov eax, dword [ebx + 0x254]
mov dword [edi + 8], eax
fld dword [ebx + 0x258]
fstp dword [edi + 0xc]
add esp, 4
fld dword [ebx + 0x25c]
mov ecx, ebx
fstp dword [edi + 0x10]
fld dword [ebx + 0x260]
fstp dword [edi + 0x14]
call fcn.0044cae0
cmp dword [ebx + 0x4624], 0
mov dword [ebp - 0x74], 0
jle 0x45dc23
lea ebx, [ebx]
xor esi, esi
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x45dc14
lea edi, [ebx + 0x4b8]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45dbeb
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov esi, 1
push edi
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc dword [ebp - 0x80]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x80], 0xc8
jl 0x45dbb5
test esi, esi
je 0x45dc23
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, dword [ebx + 0x4624]
jl 0x45dbb0
fld dword [ebx + 0x56c]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
fld dword [ebx + 0xa74]
call fcn.00563890
push eax
push 3
mov ecx, ebx
call fcn.00417bf0
cmp dword [ebp - 0x98], 1
jne 0x45de52
test esi, esi
je 0x45de52
cmp dword [ebx + 0x32d8], 0
jne 0x45dc8a
cmp dword [ebx + 0x32d4], 0
jne 0x45dc8a
cmp dword [ebx + 0x32ec], 0
jne 0x45dc8a
cmp dword [ebx + 0x32d0], 0
je 0x45de52
mov edx, dword [ebx + 0x4620]
push 0
push edx
mov ecx, ebx
call fcn.004168e0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Flat_Capture
mov esi, eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
cmp esi, 1
jne 0x45de48
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45dd01
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x84]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x478]
push esi
push edi
push eax
push ecx
lea ecx, [ebp - 0x61]
call fcn.0040c6e0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push esi
push edi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c260
jmp 0x45de5b
cmp al, 1
je 0x45ddd3
test al, al
je 0x45dd7a
cmp al, 6
je 0x45dd7a
cmp al, 7
jne 0x45de52
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45ddd3
xor esi, esi
jmp 0x45dd40
mov edi, dword [ebx + 0x478]
mov al, byte [edi + esi]
mov byte [edi + ecx*2], al
mov edi, dword [ebx + 0x478]
mov dl, byte [edi + esi + 1]
mov byte [edi + ecx*2 + 1], dl
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
sub eax, edx
inc ecx
sar eax, 1
add esi, 3
cmp ecx, eax
jl 0x45dd40
jmp 0x45ddd3
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45ddd3
xor esi, esi
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x45dd91
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x478]
push edi
push eax
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebx + 0x478]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e4e0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00564030
add esp, 0xc
jmp 0x45de5b
mov dword [ebx + 0x2594], 0
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x84]
mov edx, 1
cmp dword [ebx + 0x32ec], edx
jne 0x45e051
cmp dword [ebp - 0x98], edx
jne 0x45e051
cmp dword [ebx + 0x2594], edx
jne 0x45e051
mov ecx, dword [ebx + 0x1014]
fld dword [ebx + 0x2590]
mov edx, dword [ebp - 0x68]
push ecx
sub esp, 8
fstp dword [esp + 4]
lea esi, [ebx + 0x2720]
fld dword [ebx + 0x258c]
lea eax, [ebx + 0x2724]
fstp dword [esp]
push esi
push eax
mov eax, dword [ebp - 0x8c]
push edx
push edi
push eax
mov ecx, ebx
call fcn.004167b0
push 0x593f0c
lea ecx, [ebp - 0x88]
call fcn.00401a90
cmp dword [ebx + 0x4600], 1
mov byte [ebp - 4], 6
jne 0x45df2f
fld dword [ebx + 0x2724]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0x88]
fld dword [esi]
fstp qword [esp]
push str.RoG:_4.4f_BoG:_4.4f
push ecx
call fcn.00402fb0
mov eax, dword [ebp - 0x88]
add esp, 0x18
push 1
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
push edx
push edi
push eax
mov ecx, ebx
call fcn.00445570
fstp dword [ebx + 0x2fb0]
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Color
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00563703
mov edx, dword [ebp - 0x9c]
push edx
mov esi, eax
push 0
push esi
call fcn.00563810
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x6c]
push eax
push ecx
push esi
call fcn.00564030
mov edx, dword [ebx + 0x1014]
mov eax, dword [ebp - 0x68]
add esp, 0x1c
push edx
push eax
push edi
push esi
mov ecx, ebx
call fcn.0041b850
mov ecx, dword [ebx + 0x1014]
mov eax, dword [ebp - 0x68]
push ecx
lea edx, [ebx + 0x2750]
push edx
push eax
push edi
push esi
mov ecx, ebx
call fcn.00443410
lea ecx, [ebp - 0x7c]
push ecx
call fcn.00404b80
add esp, 4
push str.CS_Log_
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 7
call fcn.00402fd0
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x7c]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x7c]
call fcn.00402fd0
mov edx, dword [ebp - 0x7c]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x45e01b
push 0
lea ecx, [ebp - 0x7c]
call fcn.004013a0
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x68]
push esi
push eax
push edi
push edx
mov ecx, ebx
call fcn.00413ca0
push esi
call fcn.00563218
add esp, 4
lea ecx, [ebp - 0x7c]
call fcn.00401380
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.00401380
mov esi, dword [ebp - 0x68]
mov edx, 1
cmp dword [ebx + 0x32f4], edx
jne 0x45e09d
cmp dword [ebp - 0x98], edx
jne 0x45e09d
cmp dword [ebx + 0x2594], edx
jne 0x45e09d
movzx ecx, word [ebx + 0x7f0]
mov edx, dword [ebp - 0x6c]
push ecx
push esi
push edi
push edx
lea eax, [ebx + 0x26a9]
push eax
lea ecx, [ebx + 0x26a8]
push ecx
mov ecx, ebx
call fcn.00417840
mov dword [ebp - 0x98], eax
mov dword [ebx + 0x26a4], eax
mov edx, 1
xor eax, eax
cmp dword [ebx + 0x32d8], eax
je 0x45e305
cmp dword [ebp - 0x98], edx
jne 0x45e305
cmp dword [ebx + 0x2594], edx
jne 0x45e305
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x78], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45e140
mov edx, dword [ebx + 0xefc]
fld dword [ebx + 0x7f8]
mov ecx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xf04]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xf08]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2830]
push edx
lea eax, [ebx + 0x2828]
push eax
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x78]
push ecx
lea edx, [ebp - 0x94]
push edx
sub esp, 8
fstp dword [esp + 4]
lea ecx, [ebp - 0x61]
fld dword [ebx + 0x7f4]
fstp dword [esp]
push esi
push edi
push eax
call fcn.004103e0
jmp 0x45e214
cmp al, 1
jne 0x45e1a3
mov ecx, dword [ebx + 0xefc]
fld dword [ebx + 0x7f8]
mov edx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf04]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf08]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2830]
push eax
lea ecx, [ebx + 0x2828]
push ecx
mov ecx, dword [ebp - 0x6c]
lea edx, [ebp - 0x78]
push edx
lea eax, [ebp - 0x94]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7f4]
fstp dword [esp]
push esi
push edi
push ecx
jmp 0x45e20c
test al, al
je 0x45e1af
cmp al, 6
je 0x45e1af
cmp al, 7
jne 0x45e219
mov edx, dword [ebx + 0xefc]
fld dword [ebx + 0x7f8]
mov ecx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xf04]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xf08]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2830]
push edx
lea eax, [ebx + 0x2828]
push eax
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x78]
push ecx
lea edx, [ebp - 0x94]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7f4]
fstp dword [esp]
push esi
push edi
push eax
lea ecx, [ebp - 0x61]
call fcn.00411fb0
mov edx, 1
mov eax, dword [ebp - 0x94]
or ecx, 0xffffffff
cmp dword [ebx + 0x2824], ecx
jne 0x45e230
mov dword [ebx + 0x2824], eax
cmp dword [ebx + 0x282c], ecx
jne 0x45e246
mov edx, dword [ebp - 0x78]
mov dword [ebx + 0x282c], edx
mov edx, 1
cmp eax, ecx
je 0x45e2a0
push eax
lea eax, [ebp - 0xac]
push str.HFPN:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], 1
jne 0x45e29b
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
mov esi, dword [ebp - 0x68]
mov edx, 1
mov eax, dword [ebp - 0x78]
cmp eax, 0xffffffff
je 0x45e305
push eax
lea ecx, [ebp - 0xac]
push str.VFPN:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], 1
jne 0x45e300
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov dword [ebp - 0xa4], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xa4]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ac40
mov edx, 1
cmp dword [ebx + 0x32d0], 0
je 0x45e4fd
cmp dword [ebp - 0x98], edx
jne 0x45e4fd
cmp dword [ebx + 0x2594], edx
jne 0x45e4fd
lea eax, [ebp - 0x7c]
push eax
call fcn.00404b80
add esp, 4
push str.W_Log_
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 8
call fcn.00402fd0
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x7c]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x7c]
call fcn.00402fd0
mov edx, dword [ebp - 0x7c]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x45e386
push 0
lea ecx, [ebp - 0x7c]
call fcn.004013a0
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x6c]
push ecx
push esi
push edi
push edx
mov ecx, ebx
call fcn.00413ca0
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45e3bd
mov edx, dword [ebp - 0x8c]
push esi
push edi
push edx
mov ecx, ebx
call fcn.0041d7e0
mov eax, dword [ebp - 0x6c]
push esi
push edi
push eax
mov ecx, ebx
call fcn.00437e20
jmp 0x45e402
cmp al, 1
jne 0x45e3d9
mov ecx, dword [ebp - 0x8c]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.0041d7e0
mov edx, dword [ebp - 0x6c]
push esi
push edi
push edx
jmp 0x45e3fb
test al, al
je 0x45e3e5
cmp al, 6
je 0x45e3e5
cmp al, 7
jne 0x45e402
mov eax, dword [ebp - 0x8c]
push esi
push edi
push eax
mov ecx, ebx
call fcn.0041d7e0
mov ecx, dword [ebp - 0x6c]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.004369f0
fld dword [ebx + 0x26b8]
sub esp, 0x10
fstp qword [esp + 8]
lea edx, [ebp - 0xac]
fld dword [ebx + 0x26b4]
fstp qword [esp]
push str.Mean:_4.4f__4.4f
push edx
call fcn.00402fb0
fld dword [ebx + 0x26b4]
fld dword [ebx + 0x708]
add esp, 0x18
fcompp
fnstsw ax
test ah, 0x41
je 0x45e4b2
fld dword [ebx + 0x26b4]
fld dword [ebx + 0x704]
fcompp
fnstsw ax
test ah, 5
jnp 0x45e4b2
fld dword [ebx + 0x26b8]
fld dword [ebx + 0x710]
fcompp
fnstsw ax
test ah, 0x41
je 0x45e4b2
fld dword [ebx + 0x26b8]
fld dword [ebx + 0x70c]
fcompp
fnstsw ax
test ah, 5
jnp 0x45e4b2
mov eax, dword [ebp - 0xac]
push 1
push 0xff00
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov dword [ebp - 0xa4], esp
push eax
call fcn.00401400
mov ecx, dword [ebp - 0xa4]
add eax, 0x10
mov dword [ecx], eax
jmp 0x45e4e2
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov dword [ebp - 0xa4], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xa4]
add eax, 0x10
mov dword [edx], eax
add esp, 4
mov ecx, ebx
call fcn.0041ac40
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 5
call fcn.00401380
mov edx, 1
cmp dword [ebx + 0x32d4], 0
je 0x45e56d
cmp dword [ebp - 0x98], edx
jne 0x45e56d
cmp dword [ebx + 0x2594], edx
jne 0x45e56d
mov ecx, dword [ebx + 0xf78]
mov edx, dword [ebx + 0xf7c]
sub esp, 0x14
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf80]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf84]
mov dword [eax + 8], ecx
mov ecx, dword [ebx + 0xf88]
mov dword [eax + 0xc], edx
lea edx, [ebx + 0x3014]
push edx
push esi
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x6c]
push edi
push eax
mov ecx, ebx
call fcn.00457ab0
mov ecx, dword [ebp - 0x6c]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.00435510
mov edx, 1
cmp dword [ebx + 0x3300], 0
je 0x45e593
cmp dword [ebp - 0x98], edx
jne 0x45e593
cmp dword [ebx + 0x2594], edx
jne 0x45e593
mov edx, dword [ebp - 0x6c]
push esi
push edi
push edx
mov ecx, ebx
call fcn.00435ba0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Normal_White
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0xc8]
push eax
push ecx
push esi
call fcn.00564030
add esp, 0xc
push 0
push esi
mov ecx, ebx
call fcn.0041a170
mov esi, 1
cmp dword [ebx + 0x32d8], esi
jne 0x45f50f
cmp dword [ebp - 0x98], esi
jne 0x45f50f
cmp dword [ebx + 0x2594], esi
jne 0x45f50f
sub esp, 0x18
lea edx, [ebx + 0x2ac]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.00419650
mov ecx, ebx
call fcn.0044cae0
cmp eax, esi
jne 0x45ecfe
mov dword [ebp - 0x74], 0
xor eax, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x7c], 0
jne 0x45e698
lea eax, [ebx + 0x4b8]
push eax
xor esi, esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45e666
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov esi, 1
lea eax, [ebx + 0x4b8]
push eax
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc dword [ebp - 0x80]
push 0xa
mov dword [ebp - 0x7c], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x80], 0xc8
jl 0x45e62c
test esi, esi
je 0x45e6a4
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, 3
jl 0x45e624
cmp dword [ebp - 0x7c], 1
jne 0x45e8be
mov edx, dword [ebx + 0x4620]
push 0
push edx
mov ecx, ebx
call fcn.004168e0
cmp eax, 1
jne 0x45e8be
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45e706
mov esi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x478]
push esi
push edi
push eax
push ecx
lea ecx, [ebp - 0x61]
call fcn.0040c6e0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push esi
push edi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c260
jmp 0x45e8cb
cmp al, 1
jne 0x45e77c
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
mov esi, dword [ebp - 0x68]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x478]
push edi
push eax
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebx + 0x478]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e4e0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00564030
add esp, 0xc
jmp 0x45e8cb
test al, al
je 0x45e7f2
cmp al, 6
je 0x45e7f2
cmp al, 7
jne 0x45e8c8
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45e84f
xor esi, esi
mov edi, edi
mov eax, dword [ebx + 0x478]
movzx edx, byte [esi + eax]
mov eax, dword [ebp - 0xa8]
mov byte [eax + ecx*2], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [esi + edx + 1]
mov byte [eax + ecx*2 + 1], dl
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
sub eax, edx
inc ecx
sar eax, 1
add esi, 3
cmp ecx, eax
jl 0x45e7b0
jmp 0x45e84f
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45e84f
mov esi, dword [ebp - 0xa8]
xor ecx, ecx
add esi, 2
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx]
mov byte [esi - 2], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx + 1]
mov byte [esi - 1], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx + 2]
mov byte [esi], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx + 3]
mov byte [esi + 1], dl
add ecx, 5
add esi, 4
dec eax
jne 0x45e810
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
mov esi, dword [ebp - 0x68]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0xa8]
push edi
push eax
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xa8]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e4e0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00564030
add esp, 0xc
jmp 0x45e8cb
mov dword [ebx + 0x2594], 0
mov esi, dword [ebp - 0x68]
mov eax, 1
cmp dword [ebx + 0x32ec], eax
jne 0x45e9c4
cmp dword [ebx + 0x2594], eax
jne 0x45e9c4
mov edx, dword [ebx + 0x1014]
fld dword [ebx + 0x2590]
push edx
sub esp, 8
fstp dword [esp + 4]
lea eax, [ebx + 0x2730]
fld dword [ebx + 0x258c]
lea ecx, [ebx + 0x2734]
fstp dword [esp]
push eax
mov eax, dword [ebp - 0x8c]
push ecx
push esi
push edi
push eax
mov ecx, ebx
call fcn.004167b0
push 0x593f0c
lea ecx, [ebp - 0x88]
call fcn.00401a90
cmp dword [ebx + 0x4600], 1
mov byte [ebp - 4], 9
jne 0x45e99e
fld dword [ebx + 0x2734]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0x88]
fld dword [ebx + 0x2730]
fstp qword [esp]
push str.RoG:_4.4f_BoG:_4.4f
push ecx
call fcn.00402fb0
mov eax, dword [ebp - 0x88]
add esp, 0x18
push 1
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov dword [ebp - 0xa4], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xa4]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ac40
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.ColorLG
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.00401380
mov eax, 1
cmp dword [ebx + 0x32f4], eax
jne 0x45ea1f
cmp dword [ebx + 0x2594], eax
jne 0x45ea1f
movzx eax, word [ebx + 0x7ee]
mov ecx, dword [ebp - 0x6c]
push eax
push esi
push edi
push ecx
lea edx, [ebx + 0x27bb]
push edx
lea eax, [ebx + 0x27ba]
push eax
mov ecx, ebx
call fcn.00417840
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x59784c
mov dword [ebp - 0x98], eax
mov dword [ebx + 0x26a4], eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
lea ecx, [ebp - 0x78]
push ecx
call fcn.00404b80
add esp, 4
push str.LowGain_
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xa
call fcn.00402fd0
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x78]
call fcn.00402fd0
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x45ea7b
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
push eax
push esi
push edi
push edx
mov ecx, ebx
call fcn.00413ca0
cmp dword [ebx + 0x32d8], 0
je 0x45ecd6
mov eax, 1
cmp dword [ebp - 0x98], eax
jne 0x45ecd6
cmp dword [ebx + 0x2594], eax
jne 0x45ecd6
xor eax, eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x7c], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45eb32
mov ecx, dword [ebx + 0xefc]
fld dword [ebx + 0x808]
mov edx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf04]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf08]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2850]
push eax
lea ecx, [ebx + 0x2848]
push ecx
mov ecx, dword [ebp - 0x6c]
lea edx, [ebp - 0x7c]
push edx
lea eax, [ebp - 0x94]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x804]
fstp dword [esp]
push esi
push edi
push ecx
lea ecx, [ebp - 0x61]
call fcn.004103e0
jmp 0x45ec06
cmp al, 1
jne 0x45eb95
mov edx, dword [ebx + 0xefc]
fld dword [ebx + 0x808]
mov ecx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xf04]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xf08]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2850]
push edx
lea eax, [ebx + 0x2848]
push eax
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x7c]
push ecx
lea edx, [ebp - 0x94]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x804]
fstp dword [esp]
push esi
push edi
push eax
jmp 0x45ebfe
test al, al
je 0x45eba1
cmp al, 6
je 0x45eba1
cmp al, 7
jne 0x45ec06
mov ecx, dword [ebx + 0xefc]
fld dword [ebx + 0x808]
mov edx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf04]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf08]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2850]
push eax
lea ecx, [ebx + 0x2848]
push ecx
mov ecx, dword [ebp - 0x6c]
lea edx, [ebp - 0x7c]
push edx
lea eax, [ebp - 0x94]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x804]
fstp dword [esp]
push esi
push edi
push ecx
lea ecx, [ebp - 0x61]
call fcn.00411fb0
mov eax, dword [ebp - 0x94]
or ecx, 0xffffffff
cmp dword [ebx + 0x2844], ecx
jne 0x45ec1d
mov dword [ebx + 0x2844], eax
cmp dword [ebx + 0x284c], ecx
jne 0x45ec2e
mov edx, dword [ebp - 0x7c]
mov dword [ebx + 0x284c], edx
cmp eax, ecx
je 0x45ec80
push eax
lea eax, [ebp - 0xac]
push str.HFPN_LG:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], 1
jne 0x45ec80
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
mov eax, dword [ebp - 0x7c]
cmp eax, 0xffffffff
je 0x45ecd6
push eax
lea ecx, [ebp - 0xac]
push str.VFPN_LG:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], 1
jne 0x45ecd6
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x597168
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 5
call fcn.00401380
mov esi, 1
sub esp, 0x18
lea edx, [ebx + 0x2c4]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.00419650
mov ecx, ebx
call fcn.0044cae0
cmp eax, esi
jne 0x45f3fb
mov dword [ebp - 0x74], 0
xor eax, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x7c], 0
jne 0x45ed9c
lea eax, [ebx + 0x4b8]
push eax
xor esi, esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45ed6a
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov esi, 1
lea eax, [ebx + 0x4b8]
push eax
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc dword [ebp - 0x80]
push 0xa
mov dword [ebp - 0x7c], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x80], 0xc8
jl 0x45ed30
test esi, esi
je 0x45eda8
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, 3
jl 0x45ed28
cmp dword [ebp - 0x7c], 1
jne 0x45efbe
mov edx, dword [ebx + 0x4620]
push 0
add edx, edx
push edx
mov ecx, ebx
call fcn.004168e0
cmp eax, 1
jne 0x45efbe
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45ee0c
mov esi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x478]
push esi
push edi
push eax
push ecx
lea ecx, [ebp - 0x61]
call fcn.0040c6e0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push esi
push edi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c260
jmp 0x45efcb
cmp al, 1
jne 0x45ee82
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
mov esi, dword [ebp - 0x68]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x478]
push edi
push eax
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebx + 0x478]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e4e0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00564030
add esp, 0xc
jmp 0x45efcb
test al, al
je 0x45eeea
cmp al, 6
je 0x45eeea
cmp al, 7
jne 0x45efc8
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
mov dword [ebp - 0xa4], eax
test eax, eax
jle 0x45ef4f
mov eax, dword [ebp - 0xa8]
xor esi, esi
jmp 0x45eec0
mov edx, dword [ebx + 0x478]
movzx edx, byte [esi + edx]
mov byte [eax + ecx*2], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [esi + edx + 1]
mov byte [eax + ecx*2 + 1], dl
inc ecx
add esi, 3
cmp ecx, dword [ebp - 0xa4]
jl 0x45eec0
jmp 0x45ef4f
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45ef4f
mov esi, dword [ebp - 0xa8]
xor ecx, ecx
add esi, 2
jmp 0x45ef10
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx]
mov byte [esi - 2], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx + 1]
mov byte [esi - 1], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx + 2]
mov byte [esi], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx + 3]
mov byte [esi + 1], dl
add ecx, 5
add esi, 4
dec eax
jne 0x45ef10
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
mov esi, dword [ebp - 0x68]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0xa8]
push edi
push eax
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xa8]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e4e0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00564030
add esp, 0xc
jmp 0x45efcb
mov dword [ebx + 0x2594], 0
mov esi, dword [ebp - 0x68]
mov eax, 1
cmp dword [ebx + 0x32ec], eax
jne 0x45f0d0
cmp dword [ebp - 0x98], eax
jne 0x45f0d0
cmp dword [ebx + 0x2594], eax
jne 0x45f0d0
mov edx, dword [ebx + 0x1014]
fld dword [ebx + 0x2590]
push edx
sub esp, 8
fstp dword [esp + 4]
lea eax, [ebx + 0x2728]
fld dword [ebx + 0x258c]
lea ecx, [ebx + 0x272c]
fstp dword [esp]
push eax
mov eax, dword [ebp - 0x8c]
push ecx
push esi
push edi
push eax
mov ecx, ebx
call fcn.004167b0
push 0x593f0c
lea ecx, [ebp - 0x88]
call fcn.00401a90
cmp dword [ebx + 0x4600], 1
mov byte [ebp - 4], 0xb
jne 0x45f0aa
fld dword [ebx + 0x272c]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0x88]
fld dword [ebx + 0x2728]
fstp qword [esp]
push str.RoG:_4.4f_BoG:_4.4f
push ecx
call fcn.00402fb0
mov eax, dword [ebp - 0x88]
add esp, 0x18
push 1
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov dword [ebp - 0xa4], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xa4]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ac40
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.ColorHG
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.00401380
mov eax, 1
cmp dword [ebx + 0x32f4], eax
jne 0x45f11c
cmp dword [ebp - 0x98], eax
jne 0x45f11c
cmp dword [ebx + 0x2594], eax
jne 0x45f11c
movzx eax, word [ebx + 0x7ec]
mov ecx, dword [ebp - 0x6c]
push eax
push esi
push edi
push ecx
lea edx, [ebx + 0x27b9]
push edx
lea eax, [ebx + 0x27b8]
push eax
mov ecx, ebx
call fcn.00417840
mov dword [ebp - 0x98], eax
mov dword [ebx + 0x26a4], eax
lea ecx, [ebp - 0x78]
push ecx
call fcn.00404b80
add esp, 4
push str.HighGain_
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xc
call fcn.00402fd0
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x78]
call fcn.00402fd0
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x45f178
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
push eax
push esi
push edi
push edx
mov ecx, ebx
call fcn.00413ca0
cmp dword [ebx + 0x32d8], 0
je 0x45f3d3
mov eax, 1
cmp dword [ebp - 0x98], eax
jne 0x45f3d3
cmp dword [ebx + 0x2594], eax
jne 0x45f3d3
xor eax, eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x7c], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45f22f
mov ecx, dword [ebx + 0xefc]
fld dword [ebx + 0x800]
mov edx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf04]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf08]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2840]
push eax
lea ecx, [ebx + 0x2838]
push ecx
mov ecx, dword [ebp - 0x6c]
lea edx, [ebp - 0x7c]
push edx
lea eax, [ebp - 0x94]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7fc]
fstp dword [esp]
push esi
push edi
push ecx
lea ecx, [ebp - 0x61]
call fcn.004103e0
jmp 0x45f303
cmp al, 1
jne 0x45f292
mov edx, dword [ebx + 0xefc]
fld dword [ebx + 0x800]
mov ecx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xf04]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xf08]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2840]
push edx
lea eax, [ebx + 0x2838]
push eax
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x7c]
push ecx
lea edx, [ebp - 0x94]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7fc]
fstp dword [esp]
push esi
push edi
push eax
jmp 0x45f2fb
test al, al
je 0x45f29e
cmp al, 6
je 0x45f29e
cmp al, 7
jne 0x45f303
mov ecx, dword [ebx + 0xefc]
fld dword [ebx + 0x800]
mov edx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf04]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf08]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2840]
push eax
lea ecx, [ebx + 0x2838]
push ecx
mov ecx, dword [ebp - 0x6c]
lea edx, [ebp - 0x7c]
push edx
lea eax, [ebp - 0x94]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7fc]
fstp dword [esp]
push esi
push edi
push ecx
lea ecx, [ebp - 0x61]
call fcn.00411fb0
mov eax, dword [ebp - 0x94]
or ecx, 0xffffffff
cmp dword [ebx + 0x2834], ecx
jne 0x45f31a
mov dword [ebx + 0x2834], eax
cmp dword [ebx + 0x283c], ecx
jne 0x45f32b
mov edx, dword [ebp - 0x7c]
mov dword [ebx + 0x283c], edx
cmp eax, ecx
je 0x45f37d
push eax
lea eax, [ebp - 0xac]
push str.HFPN_HG:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], 1
jne 0x45f37d
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
mov eax, dword [ebp - 0x7c]
cmp eax, 0xffffffff
je 0x45f3d3
push eax
lea ecx, [ebp - 0xac]
push str.VFPN_HG:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], 1
jne 0x45f3d3
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x59715c
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 5
call fcn.00401380
mov esi, 1
fld dword [ebx + 0x2724]
fstp dword [ebp - 0x74]
fld dword [ebx + 0x2724]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fld dword [ebx + 0x2734]
fcompp
fnstsw ax
test ah, 5
jnp 0x45f428
fld dword [ebx + 0x2734]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x2734]
fcompp
fnstsw ax
test ah, 5
jp 0x45f443
fld dword [ebx + 0x2734]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fld dword [ebx + 0x272c]
fcompp
fnstsw ax
test ah, 5
jnp 0x45f45e
fld dword [ebx + 0x272c]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x272c]
fcompp
fnstsw ax
test ah, 5
jp 0x45f479
fld dword [ebx + 0x272c]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fsub dword [ebp - 0x80]
fstp dword [ebx + 0x273c]
fld dword [ebx + 0x2720]
fstp dword [ebp - 0x74]
fld dword [ebx + 0x2720]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fld dword [ebx + 0x2730]
fcompp
fnstsw ax
test ah, 5
jnp 0x45f4b2
fld dword [ebx + 0x2730]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x2730]
fcompp
fnstsw ax
test ah, 5
jp 0x45f4cd
fld dword [ebx + 0x2730]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fld dword [ebx + 0x2728]
fcompp
fnstsw ax
test ah, 5
jnp 0x45f4e8
fld dword [ebx + 0x2728]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x2728]
fcompp
fnstsw ax
test ah, 5
jp 0x45f503
fld dword [ebx + 0x2728]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fsub dword [ebp - 0x80]
fstp dword [ebx + 0x2738]
cmp dword [ebx + 0x3304], 0
je 0x45f52f
cmp dword [ebp - 0x98], esi
jne 0x45f52f
cmp dword [ebx + 0x2594], esi
jne 0x45f52f
mov ecx, ebx
call fcn.0044f260
cmp dword [ebx + 0x32dc], 0
je 0x45faa5
cmp dword [ebp - 0x98], 1
jne 0x45faa5
cmp dword [ebx + 0x2594], 1
jne 0x45faa5
sub esp, 0x18
lea edx, [ebx + 0x234]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.00419650
mov ecx, ebx
call fcn.0044cae0
push 0
push 4
mov ecx, ebx
call fcn.004168e0
cmp eax, 1
jne 0x45faa5
mov eax, dword [ebx + 0x4630]
push 0
push eax
mov ecx, ebx
call fcn.004168e0
mov edi, dword [ebp - 0xb0]
mov ecx, dword [ebx + 0x478]
mov esi, dword [ebp - 0xa8]
lea eax, [edi + edi]
push eax
push ecx
push esi
call fcn.00564030
add esp, 8
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.SNR_Capture
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45f606
mov edx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x84]
mov eax, dword [ebp - 0x8c]
push edx
push edi
push eax
push esi
mov ecx, ebx
call fcn.00413d90
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
push ecx
push edi
push edx
push esi
lea ecx, [ebp - 0x61]
call fcn.0040c260
jmp 0x45f6f3
cmp al, 1
jne 0x45f673
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
mov edi, dword [ebp - 0x84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x68]
push eax
push edi
push esi
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x6c]
push ecx
push esi
push edx
call fcn.00564030
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x8c]
add esp, 0xc
push eax
push edi
push ecx
push esi
mov ecx, ebx
call fcn.0041e4e0
jmp 0x45f6f3
test al, al
je 0x45f6ad
cmp al, 6
je 0x45f6ad
cmp al, 7
jne 0x45f6ed
mov eax, edi
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45f60a
mov edi, esi
movzx edx, byte [edi]
mov byte [esi + ecx*2], dl
movzx edx, byte [edi + 1]
mov byte [esi + ecx*2 + 1], dl
inc ecx
add edi, 3
cmp ecx, eax
jl 0x45f692
jmp 0x45f60a
mov eax, edi
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45f60a
lea ecx, [esi + 2]
mov edi, ecx
movzx edx, byte [edi - 2]
mov byte [ecx - 2], dl
movzx edx, byte [edi - 1]
mov byte [ecx - 1], dl
movzx edx, byte [edi]
mov byte [ecx], dl
movzx edx, byte [edi + 1]
mov byte [ecx + 1], dl
add edi, 5
add ecx, 4
dec eax
jne 0x45f6c5
jmp 0x45f60a
mov edi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
push edx
push edi
push eax
mov ecx, ebx
call fcn.0041d7e0
cmp dword [ebx + 0x4600], 1
mov dword [ebp - 0x74], 0
jne 0x45f733
push 1
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.SNR:
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
push 0x64
call fcn.00563703
push 0x64
mov esi, eax
push 0
push esi
mov dword [ebp - 0xa4], esi
call fcn.00563810
mov al, byte [ebx + 0x160]
add esp, 0x10
cmp al, 2
jne 0x45f76f
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
push esi
push 5
push ecx
push edi
push edx
lea ecx, [ebp - 0x61]
call fcn.0040ff00
jmp 0x45f7a1
cmp al, 1
jne 0x45f781
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
push esi
push 5
push eax
push edi
push ecx
jmp 0x45f799
test al, al
je 0x45f78d
cmp al, 6
je 0x45f78d
cmp al, 7
jne 0x45f7a1
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
push esi
push 5
push edx
push edi
push eax
lea ecx, [ebp - 0x61]
call fcn.004105a0
lea ecx, [ebp - 0x78]
push ecx
call fcn.00404b80
add esp, 4
push str.N_Log_
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xd
call fcn.00402fd0
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x78]
call fcn.00402fd0
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x45f7fd
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
push eax
push ecx
push edi
push edx
mov ecx, ebx
call fcn.00413ca0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.SNR_Test
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
fld dword [esi]
fstp dword [ebp - 0xb4]
mov dword [ebp - 0x88], 0
fld dword [esi + 0x30]
fstp dword [ebp - 0x94]
push 0
push 0x593f0c
lea ecx, [ebp - 0xac]
call fcn.004017e0
xor eax, eax
mov dword [ebp - 0x90], eax
dec eax
cmp eax, 2
ja 0x45f938
mov edx, dword [ebp - 0x88]
dec edx
cmp edx, 2
ja 0x45f938
fld dword [esi]
sub esp, 8
fstp qword [esp]
lea eax, [ebp - 0xbc]
push str._4.2f_t
push eax
call fcn.00402fb0
fld dword [esi]
fld dword [ebx + 0x6f4]
add esp, 0x10
fcompp
push 0
fnstsw ax
test ah, 0x41
mov eax, dword [ebp - 0xbc]
jne 0x45f8f1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
fld dword [esi]
fld dword [ebx + 0x6f4]
inc dword [ebp - 0x74]
fsub qword [0x596698]
fcompp
fnstsw ax
test ah, 0x41
jne 0x45f916
add dword [ebp - 0x74], 0xa
jmp 0x45f916
push 0
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
fld dword [ebp - 0x94]
fld dword [esi]
fcompp
fnstsw ax
test ah, 0x41
je 0x45f9f3
fld dword [esi]
fstp dword [ebp - 0x94]
jmp 0x45f9f3
fld dword [esi]
sub esp, 8
fstp qword [esp]
lea ecx, [ebp - 0xbc]
push str._4.2f_t
push ecx
call fcn.00402fb0
fld dword [esi]
fld dword [ebx + 0x6f8]
add esp, 0x10
fcompp
push 0
fnstsw ax
test ah, 0x41
mov eax, dword [ebp - 0xbc]
jne 0x45f9b5
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
fld dword [esi]
fld dword [ebx + 0x6f8]
inc dword [ebp - 0x74]
fsub qword [0x596698]
fcompp
fnstsw ax
test ah, 0x41
jne 0x45f9da
add dword [ebp - 0x74], 0xa
jmp 0x45f9da
push 0
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
fld dword [ebp - 0xb4]
fld dword [esi]
fcompp
fnstsw ax
test ah, 0x41
je 0x45f9f3
fld dword [esi]
fstp dword [ebp - 0xb4]
mov eax, dword [ebp - 0x90]
inc eax
add esi, 4
mov dword [ebp - 0x90], eax
cmp eax, 5
jl 0x45f85a
mov eax, dword [ebp - 0xac]
push 1
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp eax, 5
jl 0x45f840
mov edx, dword [ebp - 0xa4]
push edx
call fcn.00563218
fld dword [ebp - 0xb4]
xor eax, eax
fstp dword [ebx + 0x26c4]
fld dword [ebp - 0x94]
add esp, 4
cmp dword [ebp - 0x74], 1
fstp dword [ebx + 0x26c0]
mov byte [ebp - 4], 5
setle al
or edx, 0xffffffff
mov dword [ebx + 0x26c8], eax
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x45faa5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x3300], 0
je 0x460342
cmp dword [ebp - 0x98], 1
jne 0x460342
cmp dword [ebx + 0x2594], 1
jne 0x460342
fld dword [ebx + 0x790]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
fld dword [ebx + 0xa78]
call fcn.00563890
push eax
push 3
mov ecx, ebx
call fcn.00417bf0
sub esp, 0x18
lea edx, [ebx + 0x234]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.00419650
mov ecx, ebx
call fcn.0044cae0
push 0
push 3
mov ecx, ebx
call fcn.004168e0
cmp eax, 1
jne 0x460342
push 0
push eax
mov ecx, ebx
call fcn.004168e0
fldz
push ecx
fstp dword [esp]
mov ecx, dword [ebx + 0x55c]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.00417bf0
mov edi, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xa8]
lea eax, [edi + edi]
push eax
mov eax, dword [ebx + 0x478]
push eax
push esi
call fcn.00564030
add esp, 8
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.SNR_Capture
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45fbbc
mov ecx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x8c]
push ecx
push edi
push edx
push esi
mov ecx, ebx
call fcn.00413d90
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
push eax
push edi
push ecx
push esi
lea ecx, [ebp - 0x61]
call fcn.0040c260
jmp 0x45fd0e
cmp al, 1
jne 0x45fc29
mov edx, dword [ebx + 0xa94]
mov ecx, dword [ebx + 0xa98]
mov edi, dword [ebp - 0x84]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xa9c]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xaa0]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x68]
push edx
push edi
mov dword [eax + 0xc], ecx
push esi
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x6c]
push eax
push esi
push ecx
call fcn.00564030
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
add esp, 0xc
push edx
push edi
push eax
push esi
mov ecx, ebx
call fcn.0041e4e0
jmp 0x45fd0e
test al, al
je 0x45fccc
cmp al, 6
je 0x45fccc
cmp al, 7
jne 0x45fd08
mov eax, edi
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45fc66
mov edi, esi
movzx edx, byte [edi]
mov byte [esi + ecx*2], dl
movzx edx, byte [edi + 1]
mov byte [esi + ecx*2 + 1], dl
inc ecx
add edi, 3
cmp ecx, eax
jl 0x45fc50
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
mov edi, dword [ebp - 0x84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x68]
push eax
push edi
push esi
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x6c]
push ecx
push esi
push edx
call fcn.00564030
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x8c]
add esp, 0xc
push eax
push edi
push ecx
push esi
mov ecx, ebx
call fcn.0041e4e0
jmp 0x45fd0e
mov eax, edi
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45fc66
lea ecx, [esi + 2]
mov edi, ecx
movzx edx, byte [edi - 2]
mov byte [ecx - 2], dl
movzx edx, byte [edi - 1]
mov byte [ecx - 1], dl
movzx edx, byte [edi]
mov byte [ecx], dl
movzx edx, byte [edi + 1]
mov byte [ecx + 1], dl
add edi, 5
add ecx, 4
dec eax
jne 0x45fce0
jmp 0x45fc66
mov edi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
push edx
push edi
push eax
mov ecx, ebx
call fcn.0041d7e0
cmp dword [ebx + 0x4600], 1
mov dword [ebp - 0x74], 0
jne 0x45fd4e
push 1
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.STDEV:
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
fldz
push 0x64
fst dword [ebp - 0x80]
fstp dword [ebp - 0x90]
call fcn.00563703
push 0x64
mov esi, eax
push 0
push esi
mov dword [ebp - 0x70], esi
call fcn.00563810
push 0x64
call fcn.00563703
push 0x64
push 0
push eax
mov dword [ebp - 0xa4], eax
call fcn.00563810
push 0x64
call fcn.00563703
push 0x64
push 0
push eax
mov dword [ebp - 0x88], eax
call fcn.00563810
push 0x64
call fcn.00563703
push 0x64
push 0
push eax
mov dword [ebp - 0xc4], eax
call fcn.00563810
mov al, byte [ebx + 0x160]
add esp, 0x40
cmp al, 2
jne 0x45fdd7
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
push esi
push 5
push ecx
push edi
push edx
lea ecx, [ebp - 0x61]
call fcn.00410250
jmp 0x45fe10
cmp al, 1
je 0x45fde7
test al, al
je 0x45fde7
cmp al, 6
je 0x45fde7
cmp al, 7
jne 0x45fe10
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x68]
push ecx
mov ecx, dword [ebp - 0x6c]
push edx
push esi
push 5
push eax
push edi
push ecx
lea ecx, [ebp - 0x61]
call fcn.00410c10
lea edx, [ebp - 0x78]
push edx
call fcn.00404b80
add esp, 4
push str.N_Log_
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xe
call fcn.00402fd0
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x78]
call fcn.00402fd0
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x45fe6c
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x84]
push ecx
push eax
push edx
mov ecx, ebx
call fcn.00413ca0
push ecx
mov ecx, esp
mov dword [ebp - 0xb8], esp
push str.STD_Test
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
fld dword [esi]
fstp dword [ebp - 0x94]
mov edi, esi
fld dword [esi + 0x30]
mov esi, dword [ebp - 0x88]
sub edi, esi
fstp dword [ebp - 0x7c]
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xd8], edi
jmp 0x45fed6
mov edi, dword [ebp - 0xd8]
push 0
push 0x593f0c
lea ecx, [ebp - 0xac]
call fcn.004017e0
mov dword [ebp - 0x88], 0
mov ecx, dword [ebp - 0x88]
dec ecx
cmp ecx, 2
ja 0x460045
mov edx, dword [ebp - 0xb4]
dec edx
cmp edx, 2
ja 0x460045
fld dword [esi]
sub esp, 0x10
fstp qword [esp + 8]
lea eax, [ebp - 0xbc]
fld dword [edi + esi]
fstp qword [esp]
push str._4.2f__4.2f_t
push eax
call fcn.00402fb0
fld dword [edi + esi]
fld dword [ebx + 0x794]
add esp, 0x18
fcompp
fnstsw ax
test ah, 5
jnp 0x45ff97
fld dword [esi]
fld dword [ebx + 0x7a0]
fcompp
fnstsw ax
test ah, 5
jnp 0x45ff97
mov eax, dword [ebp - 0xbc]
push 0
push 0
push 0xc8
push ecx
mov dword [ebp - 0xb8], esp
add eax, 0xfffffff0
mov dword [ebp - 0xb8], esp
push eax
call fcn.00401400
mov ecx, dword [ebp - 0xb8]
add eax, 0x10
mov dword [ecx], eax
add esp, 4
mov ecx, ebx
call fcn.0041ac40
jmp 0x46000e
mov eax, dword [ebp - 0xbc]
push 0
push 0xff
push 0xc8
push ecx
mov dword [ebp - 0xb8], esp
add eax, 0xfffffff0
mov dword [ebp - 0xb8], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xb8]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ac40
fld dword [edi + esi]
fld dword [ebx + 0x794]
inc dword [ebp - 0x74]
fld qword [0x596698]
fadd st(1), st(0)
fxch st(2)
fcompp
fnstsw ax
test ah, 0x41
je 0x460008
fld dword [esi]
fld dword [ebx + 0x7a0]
faddp st(2)
fcompp
fnstsw ax
test ah, 0x41
jne 0x46000e
jmp 0x46000a
fstp st(0)
add dword [ebp - 0x74], 0xa
fld dword [ebp - 0x7c]
fld dword [edi + esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x460023
fld dword [edi + esi]
fstp dword [ebp - 0x7c]
fld dword [ebp - 0x90]
fld dword [esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x46016f
fld dword [esi]
fstp dword [ebp - 0x90]
jmp 0x46016f
fld dword [esi]
sub esp, 0x10
fstp qword [esp + 8]
lea eax, [ebp - 0xbc]
fld dword [edi + esi]
fstp qword [esp]
push str._4.2f__4.2f_t
push eax
call fcn.00402fb0
fld dword [edi + esi]
fld dword [ebx + 0x798]
add esp, 0x18
fcompp
fnstsw ax
test ah, 5
jnp 0x4600ca
fld dword [esi]
fld dword [ebx + 0x7a4]
fcompp
fnstsw ax
test ah, 5
jnp 0x4600ca
mov eax, dword [ebp - 0xbc]
push 0
push 0
push 0xc8
push ecx
mov dword [ebp - 0xb8], esp
add eax, 0xfffffff0
mov dword [ebp - 0xb8], esp
push eax
call fcn.00401400
mov ecx, dword [ebp - 0xb8]
add eax, 0x10
mov dword [ecx], eax
add esp, 4
mov ecx, ebx
call fcn.0041ac40
jmp 0x460141
mov eax, dword [ebp - 0xbc]
push 0
push 0xff
push 0xc8
push ecx
mov dword [ebp - 0xb8], esp
add eax, 0xfffffff0
mov dword [ebp - 0xb8], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xb8]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ac40
fld dword [edi + esi]
fld dword [ebx + 0x798]
inc dword [ebp - 0x74]
fld qword [0x596698]
fadd st(1), st(0)
fxch st(2)
fcompp
fnstsw ax
test ah, 0x41
je 0x46013b
fld dword [esi]
fld dword [ebx + 0x7a4]
faddp st(2)
fcompp
fnstsw ax
test ah, 0x41
jne 0x460141
jmp 0x46013d
fstp st(0)
add dword [ebp - 0x74], 0xa
fld dword [ebp - 0x94]
fld dword [edi + esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x46015c
fld dword [edi + esi]
fstp dword [ebp - 0x94]
fld dword [ebp - 0x80]
fld dword [esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x46016f
fld dword [esi]
fstp dword [ebp - 0x80]
mov eax, dword [ebp - 0x88]
inc eax
add esi, 4
mov dword [ebp - 0x88], eax
cmp eax, 5
jl 0x45fef2
mov edi, dword [ebp - 0xac]
push 1
push 0
push 0xffffffffffffffff
push ecx
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
add edi, 0xfffffff0
mov dword [ebp - 0xb8], esp
mov dword [ebp - 0xb8], esp
call edx
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x4601cc
cmp eax, dword [edi]
jne 0x4601cc
mov dword [ebp - 0x88], edi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x46020a
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov dword [ebp - 0x88], eax
test eax, eax
je 0x460310
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x88]
mov dword [ecx + 4], eax
mov eax, dword [edi + 4]
inc eax
push eax
add edi, 0x10
push edi
push eax
add ecx, 0x10
push ecx
call fcn.00563150
add esp, 0x10
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0xb8]
add ecx, 0x10
mov dword [edx], ecx
mov ecx, ebx
call fcn.0041ac40
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, 5
jl 0x45fed0
mov eax, dword [ebp - 0x70]
push eax
call fcn.00563218
fldz
mov eax, dword [ebp - 0xc4]
fst dword [ebp - 0x88]
mov ecx, dword [ebp - 0xa4]
fstp dword [ebp - 0xb4]
add esp, 4
sub ecx, eax
mov edx, 0x19
fld dword [ecx + eax]
add eax, 4
dec edx
fadd dword [ebp - 0x88]
fstp dword [ebp - 0x88]
fld dword [ebp - 0xb4]
fadd dword [eax - 4]
fstp dword [ebp - 0xb4]
jne 0x460265
fld dword [ebp - 0x88]
fld qword [0x599fb8]
fdiv st(1), st(0)
fxch st(1)
fstp dword [ebx + 0x26d4]
fld dword [ebp - 0x94]
fstp dword [ebx + 0x26d0]
fld dword [ebp - 0x7c]
fstp dword [ebx + 0x26cc]
fdivr dword [ebp - 0xb4]
fstp dword [ebx + 0x26e0]
fld dword [ebp - 0x80]
fstp dword [ebx + 0x26dc]
fld dword [ebp - 0x90]
fstp dword [ebx + 0x26d8]
cmp dword [ebp - 0x74], edx
jg 0x460315
fld dword [ebx + 0x26d4]
fld dword [ebx + 0x79c]
fcompp
fnstsw ax
test ah, 5
jnp 0x460315
fld dword [ebx + 0x26e0]
fld dword [ebx + 0x7a8]
fcompp
fnstsw ax
test ah, 5
jnp 0x460315
mov dword [ebx + 0x26e4], 1
jmp 0x46031f
call fcn.00401170
mov dword [ebx + 0x26e4], 0
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x460342
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x3318], 0
mov esi, dword [ebp - 0x98]
mov edi, 1
je 0x460389
cmp esi, edi
jne 0x460389
cmp dword [ebx + 0x2594], edi
jne 0x460389
lea ecx, [ebx + 0x2b68]
push ecx
mov ecx, ebx
call fcn.00451210
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Blooming
mov esi, eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
cmp dword [ebx + 0x3314], 0
je 0x4603c4
cmp esi, edi
jne 0x4603c4
cmp dword [ebx + 0x2594], edi
jne 0x4603c4
mov ecx, ebx
call fcn.00452340
push ecx
mov esi, eax
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.bHighLightTest1
mov dword [ebx + 0x27bc], esi
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
cmp dword [ebx + 0x331c], 0
je 0x4603fd
cmp esi, edi
jne 0x4603fd
cmp dword [ebx + 0x2594], edi
jne 0x4603fd
mov ecx, ebx
call fcn.00451830
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.HighLightTest2
mov dword [ebx + 0x27e8], eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
push 0
mov ecx, ebx
call fcn.00416500
cmp dword [ebx + 0x32e4], 0
mov dword [ebp - 0x98], eax
je 0x460580
mov edx, dword [ebx + 0x4608]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
push 0x593f0c
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
call fcn.00401a90
mov byte [ebp - 4], 0xf
cmp dword [ebx + 0x4600], edi
jne 0x460473
push edi
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Current:
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
mov ecx, dword [ebx + 0x55c]
lea eax, [ebp - 0x24]
push eax
call fcn.00402aa0
fild dword [ebp - 0x24]
fld qword [0x5940f0]
sub esp, 0x30
lea ecx, [ebp - 0x90]
fdiv st(1), st(0)
fxch st(1)
fstp dword [ebx + 0x26ec]
fild dword [ebp - 0x20]
fdiv st(1)
fstp dword [ebx + 0x26f0]
fild dword [ebp - 0x1c]
fdiv st(1)
fstp dword [ebx + 0x26f4]
fild dword [ebp - 0x18]
fdiv st(1)
fstp dword [ebx + 0x26f8]
fidivr dword [ebp - 0x14]
fstp dword [ebx + 0x26fc]
fld dword [ebx + 0x26f0]
fadd dword [ebx + 0x26ec]
fadd dword [ebx + 0x26f4]
fstp dword [ebp - 0x70]
fld dword [ebp - 0x70]
fst dword [ebx + 0x2700]
fstp qword [esp + 0x28]
fld dword [ebx + 0x26fc]
fstp qword [esp + 0x20]
fld dword [ebx + 0x26f8]
fstp qword [esp + 0x18]
fld dword [ebx + 0x26f4]
fstp qword [esp + 0x10]
fld dword [ebx + 0x26f0]
fstp qword [esp + 8]
fld dword [ebx + 0x26ec]
fstp qword [esp]
push 0x59a8f8
push ecx
call fcn.00402fb0
add esp, 0x38
cmp dword [ebx + 0x4600], edi
jne 0x46055a
mov eax, dword [ebp - 0x90]
push edi
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x460580
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x3324], edi
je 0x460599
cmp dword [ebx + 0x32e8], edi
jne 0x46125c
mov edi, 1
cmp dword [ebp - 0x98], edi
jne 0x46125c
cmp dword [ebx + 0x2594], 1
jne 0x46125c
fldz
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.00417bf0
mov eax, dword [ebx + 0x204]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [ebx + 0x208]
mov dword [esi + 4], ecx
mov edx, dword [ebx + 0x20c]
mov dword [esi + 8], edx
fld dword [ebx + 0x210]
fstp dword [esi + 0xc]
add esp, 4
fld dword [ebx + 0x214]
mov ecx, ebx
fstp dword [esi + 0x10]
fld dword [ebx + 0x218]
fstp dword [esi + 0x14]
call fcn.0044cae0
fld dword [0x59667c]
mov dword [ebp - 0x94], 0
fstp dword [ebx + 0x26bc]
fld dword [0x59a8f4]
fcomp dword [ebx + 0x26bc]
fnstsw ax
test ah, 5
jp 0x460878
xor esi, esi
lea edi, [ebx + 0x4b8]
push edi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xa4], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x46068e
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov esi, 1
push edi
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x460857
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x4606ed
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebx + 0x478]
mov esi, dword [ebp - 0xa8]
add eax, eax
push eax
push edx
push esi
call fcn.00564030
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x6c]
add esp, 0xc
push eax
push ecx
push edx
push esi
lea ecx, [ebp - 0x61]
call fcn.0040c260
jmp 0x4607fe
cmp al, 1
je 0x4607a2
test al, al
je 0x460746
cmp al, 6
je 0x460746
cmp al, 7
jne 0x4607fe
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x4607a2
xor edi, edi
lea esp, [esp]
mov esi, dword [ebx + 0x478]
movzx edx, byte [esi + edi]
mov byte [esi + ecx*2], dl
mov esi, dword [ebx + 0x478]
movzx edx, byte [esi + edi + 1]
mov byte [esi + ecx*2 + 1], dl
inc ecx
add edi, 3
cmp ecx, eax
jl 0x460720
jmp 0x4607a2
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x4607a2
xor esi, esi
lea ecx, [ecx]
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x460760
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x84]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x68]
mov edx, dword [ebx + 0x478]
push eax
push ecx
push edx
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00564030
add esp, 0xc
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
lea ecx, [edx + eax]
mov eax, dword [ebp - 0xc0]
cdq
and edx, 3
add eax, edx
sar ecx, 2
sar eax, 2
cmp ecx, eax
jge 0x460845
mov esi, dword [ebp - 0x6c]
mov edx, eax
sub edx, ecx
mov dword [ebp - 0xa4], edx
mov edx, dword [ebp - 0x90]
movzx edi, byte [esi + ecx]
inc ecx
add edx, edi
cmp ecx, eax
jl 0x460834
mov dword [ebp - 0x90], edx
fild dword [ebp - 0x90]
fidiv dword [ebp - 0xa4]
fstp dword [ebx + 0x26bc]
mov esi, dword [ebp - 0x94]
inc esi
push 0xa
mov dword [ebp - 0x94], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x460637
xor eax, eax
push eax
push 4
mov ecx, ebx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x80], eax
call fcn.004168e0
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x80], 0
mov esi, 0x186a0
jne 0x461091
cmp dword [ebp - 0x7c], 1
jne 0x461091
mov eax, dword [ebx + 0x4628]
inc dword [ebp - 0x94]
push 0
push eax
mov ecx, ebx
call fcn.004168e0
cmp eax, 1
jne 0x461060
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x4608dc
mov ecx, dword [ebp - 0xb0]
add ecx, ecx
jmp 0x4608f2
cmp al, 1
je 0x4608ec
test al, al
je 0x4608ec
cmp al, 6
je 0x4608ec
cmp al, 7
jne 0x4608f8
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x9c], ecx
cmp al, 2
jne 0x4609c7
mov edi, dword [ebp - 0x68]
mov esi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebx + 0x478]
push edi
push esi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c6e0
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebx + 0x478]
push edi
push esi
push ecx
push edx
lea ecx, [ebp - 0x61]
call fcn.0040c260
fld dword [ebx + 0x724]
mov eax, dword [ebx + 0x644]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
fstp dword [esp]
push 1
lea ecx, [ebx + 0x2624]
push ecx
push edi
push esi
push edx
mov ecx, ebx
call fcn.00435e80
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x8c]
push 1
push eax
mov ecx, ebx
call fcn.0041a170
mov esi, dword [ebx + 0x30e4]
test esi, esi
je 0x460990
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.004630be
add esp, 4
test esi, esi
jne 0x460980
mov esi, dword [ebx + 0x30e8]
test esi, esi
je 0x4609b0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.004630be
add esp, 4
test esi, esi
jne 0x4609a0
fldz
fstp dword [ebx + 0x27ac]
mov dword [ebx + 0x27a8], 0xffffffff
jmp 0x460fc4
cmp al, 1
je 0x4609db
test al, al
je 0x4609e7
cmp al, 6
je 0x4609db
cmp al, 7
jne 0x460fc4
test al, al
je 0x4609e7
cmp al, 6
jne 0x460a5c
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x460a42
xor esi, esi
mov edi, edi
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x460a00
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00564030
add esp, 0xc
cmp byte [ebx + 0x160], 7
jne 0x460abe
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x460aa4
xor esi, esi
jmp 0x460a80
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi]
mov byte [edi + ecx*2], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*2 + 1], dl
inc ecx
add esi, 3
cmp ecx, eax
jl 0x460a80
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00564030
add esp, 0xc
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x84]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x68]
mov edx, dword [ebx + 0x478]
push eax
push ecx
push edx
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00564030
lea eax, [ebp - 0x78]
push eax
call fcn.00404b80
add esp, 0x10
push 8
push str.DB_Log_
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x10
call fcn.00401720
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00401720
push 4
push str..png
lea ecx, [ebp - 0x78]
call fcn.00401720
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x460b77
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x68]
mov esi, dword [ebp - 0x84]
push ecx
push edi
push esi
push edx
mov ecx, ebx
call fcn.00413ca0
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebx + 0x478]
push edi
push esi
push edx
push eax
mov ecx, ebx
call fcn.0041e4e0
mov ecx, dword [ebp - 0x8c]
push edi
push esi
push ecx
mov ecx, ebx
call fcn.0041d7e0
fld dword [ebx + 0x724]
mov edx, dword [ebx + 0x668]
push edx
sub esp, 0x28
fstp dword [esp + 0x24]
mov edi, esp
sub esp, 0x24
lea esi, [ebx + 0x624]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebx + 0x648]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x68]
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x6c]
lea eax, [ebx + 0x2624]
push eax
push edi
push esi
push ecx
mov ecx, ebx
call fcn.0044ced0
mov edx, dword [ebp - 0x8c]
push edi
push esi
push edx
mov ecx, ebx
mov dword [ebp - 0x80], eax
call fcn.00445570
push 1
fstp dword [ebx + 0x2fb4]
push 0
push 0xffffffffffffffff
push ecx
mov eax, esp
mov dword [ebp - 0x70], esp
push eax
mov ecx, ebx
call fcn.00441840
mov ecx, ebx
call fcn.0041ac40
cmp dword [ebp - 0x80], 1
jne 0x460c62
mov ecx, dword [ebx + 0x1014]
push ecx
lea edx, [ebx + 0x2b00]
push edx
mov eax, edi
mov edi, dword [ebp - 0x6c]
push eax
mov ecx, esi
push ecx
push edi
mov ecx, ebx
call fcn.00443410
jmp 0x460c65
mov edi, dword [ebp - 0x6c]
push 1
push 0
push 0xffffffffffffffff
push ecx
mov edx, esp
mov dword [ebp - 0x70], esp
push edx
mov ecx, ebx
call fcn.00441840
mov ecx, ebx
call fcn.0041ac40
mov eax, dword [ebp - 0x8c]
push 1
push eax
mov ecx, ebx
call fcn.0041a170
mov esi, dword [ebx + 0x30e4]
test esi, esi
je 0x460cb0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.004630be
add esp, 4
test esi, esi
jne 0x460ca0
mov esi, dword [ebx + 0x30e8]
test esi, esi
je 0x460cd0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.004630be
add esp, 4
test esi, esi
jne 0x460cc0
cmp dword [ebp - 0x80], 1
jne 0x460d04
fld dword [ebx + 0x720]
mov eax, dword [ebp - 0x68]
push ecx
fstp dword [esp]
lea ecx, [ebx + 0x27ac]
push ecx
mov ecx, dword [ebp - 0x84]
lea edx, [ebx + 0x27a8]
push edx
push eax
push ecx
push edi
mov ecx, ebx
call fcn.00416b30
mov dword [ebp - 0x80], eax
cmp dword [ebx + 0x27a8], 0
jle 0x460d93
push 0x593f0c
lea ecx, [ebp - 0x90]
call fcn.00401a90
mov edx, dword [ebx + 0x27a8]
push edx
lea eax, [ebp - 0x90]
push str.Band:_d
push eax
mov byte [ebp - 4], 0x11
call fcn.00402fb0
mov eax, dword [ebp - 0x90]
add esp, 0xc
push 1
push 0xff
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x460d93
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, 1
cmp dword [ebx + 0x2594], esi
jne 0x460f8a
xor eax, eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x88], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x460e33
mov ecx, dword [ebx + 0xefc]
fld dword [ebx + 0x810]
mov edx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf04]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf08]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2860]
push eax
lea ecx, [ebx + 0x2858]
push ecx
mov ecx, dword [ebp - 0x68]
lea edx, [ebp - 0x88]
push edx
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 0xb4]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x80c]
fstp dword [esp]
push ecx
push edx
push edi
lea ecx, [ebp - 0x61]
call fcn.004103e0
jmp 0x460eb5
cmp al, 1
je 0x460e47
test al, al
je 0x460e47
cmp al, 6
je 0x460e47
cmp al, 7
jne 0x460eb5
mov ecx, dword [ebx + 0xefc]
fld dword [ebx + 0x810]
mov edx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf04]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf08]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2860]
push eax
lea ecx, [ebx + 0x2858]
push ecx
mov ecx, dword [ebp - 0x68]
lea edx, [ebp - 0x88]
push edx
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 0xb4]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x80c]
fstp dword [esp]
push ecx
push edx
push edi
lea ecx, [ebp - 0x61]
call fcn.00411fb0
mov eax, dword [ebp - 0xb4]
or ecx, 0xffffffff
cmp dword [ebx + 0x2854], ecx
jne 0x460ecc
mov dword [ebx + 0x2854], eax
cmp dword [ebx + 0x285c], ecx
jne 0x460ee0
mov edx, dword [ebp - 0x88]
mov dword [ebx + 0x285c], edx
cmp eax, ecx
je 0x460f31
push eax
lea eax, [ebp - 0xac]
push str.HFPN_Dark:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], esi
jne 0x460f31
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
mov eax, dword [ebp - 0x88]
cmp eax, 0xffffffff
je 0x460f8a
push eax
lea ecx, [ebp - 0xac]
push str.VFPN_Dark:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], 1
jne 0x460f8a
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x5980c8
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x460fc4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x74]
push ecx
call fcn.00404b80
add esp, 4
push 8
push str.DE_Log_
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x12
call fcn.00401720
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.00401720
push 4
push str..png
lea ecx, [ebp - 0x74]
call fcn.00401720
mov edx, dword [ebp - 0x74]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x461024
push 0
lea ecx, [ebp - 0x74]
call fcn.004013a0
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x84]
push ecx
push eax
push edx
mov ecx, ebx
call fcn.00413ca0
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461084
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x461084
mov dword [ebx + 0x2628], esi
mov dword [ebx + 0x2638], esi
mov dword [ebx + 0x2624], esi
mov dword [ebx + 0x2634], esi
mov dword [ebx + 0x262c], esi
mov dword [ebx + 0x263c], esi
cmp dword [ebp - 0x94], 1
jl 0x460890
mov esi, 1
cmp dword [ebx + 0x3324], esi
jne 0x4610ab
mov ecx, ebx
call fcn.004541c0
fstp dword [ebx + 0x2af8]
cmp dword [ebx + 0x3328], esi
jne 0x4610c0
mov ecx, ebx
call fcn.00452f30
fstp dword [ebx + 0x2afc]
cmp dword [ebx + 0x332c], 0
je 0x46118e
lea esi, [ebx + 0xe6c]
mov ecx, 0xc
lea edi, [ebp - 0x40]
rep movsd dword es:[edi], dword [esi]
fld dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x18]
push edx
push ecx
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x20]
fstp dword [esp]
push eax
fld dword [ebp - 0x18]
push ecx
push ecx
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x2c]
fstp dword [esp]
push edx
fld dword [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebx + 0x414]
lea ecx, [ebp - 0x34]
push ecx
sub esp, 0x20
sub eax, 0x10
mov dword [ebp - 0x70], esp
fstp dword [esp + 0x1c]
mov esi, esp
fld dword [ebp - 0x40]
fstp dword [esp + 0x18]
push eax
call fcn.00401400
add eax, 0x10
mov dword [esi], eax
mov edx, dword [ebx + 0x418]
mov dword [esi + 4], edx
mov eax, dword [ebx + 0x41c]
mov dword [esi + 8], eax
fld dword [ebx + 0x420]
fstp dword [esi + 0xc]
mov ecx, ebx
fld dword [ebx + 0x424]
fstp dword [esi + 0x10]
fld dword [ebx + 0x428]
fstp dword [esi + 0x14]
fld dword [ebx + 0xa88]
fstp dword [esp]
push 1
call fcn.00455450
fstp st(0)
lea edi, [ebx + 0x2fb8]
mov ecx, 0xa
lea esi, [ebp - 0x38]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebx + 0x3330], 0
je 0x46125c
lea esi, [ebx + 0xe9c]
mov ecx, 0xc
lea edi, [ebp - 0x40]
rep movsd dword es:[edi], dword [esi]
fld dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x18]
push edx
push ecx
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x20]
fstp dword [esp]
push eax
fld dword [ebp - 0x18]
push ecx
push ecx
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x2c]
fstp dword [esp]
push edx
fld dword [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebx + 0x42c]
lea ecx, [ebp - 0x34]
push ecx
sub esp, 0x20
sub eax, 0x10
mov dword [ebp - 0x70], esp
fstp dword [esp + 0x1c]
mov esi, esp
fld dword [ebp - 0x40]
fstp dword [esp + 0x18]
push eax
call fcn.00401400
add eax, 0x10
mov dword [esi], eax
mov edx, dword [ebx + 0x430]
mov dword [esi + 4], edx
mov eax, dword [ebx + 0x434]
mov dword [esi + 8], eax
fld dword [ebx + 0x438]
fstp dword [esi + 0xc]
mov ecx, ebx
fld dword [ebx + 0x43c]
fstp dword [esi + 0x10]
fld dword [ebx + 0x440]
fstp dword [esi + 0x14]
fld dword [ebx + 0xa8c]
fstp dword [esp]
push 2
call fcn.00455450
fstp st(0)
lea edi, [ebx + 0x2fe0]
mov ecx, 0xa
lea esi, [ebp - 0x38]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebx + 0x3308], 0
jne 0x461272
cmp dword [ebx + 0x330c], 0
je 0x46168a
mov eax, 1
cmp dword [ebp - 0x98], eax
jne 0x46199f
cmp dword [ebx + 0x2594], eax
jne 0x46199f
mov eax, dword [ebx + 0x294]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [ebx + 0x298]
mov dword [esi + 4], ecx
mov edx, dword [ebx + 0x29c]
mov dword [esi + 8], edx
fld dword [ebx + 0x2a0]
fstp dword [esi + 0xc]
add esp, 4
fld dword [ebx + 0x2a4]
mov ecx, ebx
fstp dword [esi + 0x10]
fld dword [ebx + 0x2a8]
fstp dword [esi + 0x14]
call fcn.0044cae0
fldz
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.00417bf0
fld dword [0x59667c]
push 0
fstp dword [ebx + 0x26bc]
push 5
mov ecx, ebx
mov dword [ebp - 0xc4], 0
call fcn.004168e0
nop
fld dword [0x59a8f4]
mov edi, dword [ebp - 0x68]
fcomp dword [ebx + 0x26bc]
mov esi, dword [ebp - 0x84]
fnstsw ax
test ah, 5
jp 0x461571
xor esi, esi
lea edi, [ebx + 0x4b8]
push edi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xa4], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x461380
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov esi, 1
push edi
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x461547
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x4613df
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebx + 0x478]
mov esi, dword [ebp - 0xa8]
add eax, eax
push eax
push edx
push esi
call fcn.00564030
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x6c]
add esp, 0xc
push eax
push ecx
push edx
push esi
lea ecx, [ebp - 0x61]
call fcn.0040c260
jmp 0x4614ee
cmp al, 1
je 0x461492
test al, al
je 0x461439
cmp al, 6
je 0x461439
cmp al, 7
jne 0x4614ee
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x461492
xor edi, edi
mov edi, edi
mov esi, dword [ebx + 0x478]
movzx edx, byte [esi + edi]
mov byte [esi + ecx*2], dl
mov esi, dword [ebx + 0x478]
movzx edx, byte [esi + edi + 1]
mov byte [esi + ecx*2 + 1], dl
inc ecx
add edi, 3
cmp ecx, eax
jl 0x461410
jmp 0x461492
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x461492
xor esi, esi
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x461450
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x84]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x68]
mov edx, dword [ebx + 0x478]
push eax
push ecx
push edx
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00564030
add esp, 0xc
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
lea ecx, [edx + eax]
mov eax, dword [ebp - 0xc0]
cdq
and edx, 3
add eax, edx
sar ecx, 2
sar eax, 2
cmp ecx, eax
jge 0x461535
mov esi, dword [ebp - 0x6c]
mov edx, eax
sub edx, ecx
mov dword [ebp - 0xa4], edx
mov edx, dword [ebp - 0x90]
movzx edi, byte [ecx + esi]
inc ecx
add edx, edi
cmp ecx, eax
jl 0x461524
mov dword [ebp - 0x90], edx
fild dword [ebp - 0x90]
fidiv dword [ebp - 0xa4]
fstp dword [ebx + 0x26bc]
mov esi, dword [ebp - 0xc4]
inc esi
push 0xa
mov dword [ebp - 0xc4], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x461320
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x68]
push 0
push 1
mov ecx, ebx
call fcn.004168e0
cmp eax, 1
jne 0x461988
cmp byte [ebx + 0x160], 2
jne 0x4615f9
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x478]
push edi
push esi
push eax
push ecx
lea ecx, [ebp - 0x61]
call fcn.0040c6e0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push edi
push esi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c260
cmp dword [ebx + 0x3308], 0
je 0x4615dc
mov ecx, dword [ebp - 0x6c]
push edi
push esi
push ecx
lea ecx, [ebp - 0x61]
call fcn.0040f270
fstp dword [ebx + 0x27b0]
cmp dword [ebx + 0x330c], 0
je 0x4615f9
mov edx, dword [ebp - 0x6c]
push edi
push esi
push edx
lea ecx, [ebp - 0x61]
call fcn.0040f150
fstp dword [ebx + 0x27b4]
lea eax, [ebp - 0x78]
push eax
call fcn.00404b80
add esp, 4
push 0xc
push str.D_RowN_Log_
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x13
call fcn.00401720
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00401720
push 4
push str..png
lea ecx, [ebp - 0x78]
call fcn.00401720
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x461659
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x6c]
push ecx
push edi
push esi
push edx
mov ecx, ebx
call fcn.00413ca0
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x46168a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, 1
mov esi, dword [ebp - 0x98]
cmp dword [ebx + 0x3334], edi
jne 0x4616b0
cmp esi, edi
jne 0x4616b0
cmp dword [ebx + 0x2594], edi
jne 0x4616b0
mov ecx, ebx
call fcn.00450080
cmp dword [ebx + 0x3344], edi
jne 0x4616cb
cmp esi, edi
jne 0x4616cb
cmp dword [ebx + 0x2594], edi
jne 0x4616cb
mov ecx, ebx
call fcn.0044ed40
cmp dword [ebx + 0x3348], 0
je 0x461764
cmp esi, edi
jne 0x461764
cmp dword [ebx + 0x2594], edi
jne 0x461764
cmp dword [ebx + 0x4634], 0
jle 0x461731
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ecx, dword [ebx + 0x4634]
mov edi, dword [ebp - 0xa0]
imul ecx, ecx, 0x3e8
sub eax, edi
cmp eax, ecx
jae 0x461731
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
call esi
mov edx, dword [ebx + 0x4634]
imul edx, edx, 0x3e8
sub eax, edi
cmp eax, edx
jb 0x461715
lea eax, [ebx + 0x2b80]
push eax
mov ecx, ebx
call fcn.0045c3d0
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push 0x5970e4
mov dword [ebp - 0x98], eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
mov edi, 1
cmp dword [ebx + 0x32e8], 0
je 0x4617a4
cmp dword [ebp - 0x98], edi
jne 0x4617a4
cmp dword [ebx + 0x2594], edi
jne 0x4617a4
mov ecx, ebx
call fcn.0044fa80
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.DarkTest2
mov dword [ebp - 0x98], eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044d340
cmp dword [ebx + 0x32d0], edi
je 0x4617b8
cmp dword [ebx + 0x32d4], edi
jne 0x461910
mov ecx, dword [ebp - 0xc8]
push 0
push ecx
mov ecx, ebx
call fcn.0041a170
cmp dword [ebx + 0x32d0], 0
je 0x4618d0
mov esi, dword [ebx + 0x30c4]
test esi, esi
je 0x4617f0
nop
push esi
mov esi, dword [esi + 0x1c]
call fcn.004630be
add esp, 4
test esi, esi
jne 0x4617e0
mov esi, dword [ebx + 0x30c8]
test esi, esi
je 0x461810
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.004630be
add esp, 4
test esi, esi
jne 0x461800
mov esi, dword [ebx + 0x30dc]
test esi, esi
je 0x461830
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.004630be
add esp, 4
test esi, esi
jne 0x461820
mov esi, dword [ebx + 0x30e0]
test esi, esi
je 0x461850
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.004630be
add esp, 4
test esi, esi
jne 0x461840
mov esi, dword [ebx + 0x30d4]
test esi, esi
je 0x461870
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.004630be
add esp, 4
test esi, esi
jne 0x461860
mov esi, dword [ebx + 0x30d8]
test esi, esi
je 0x461890
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.004630be
add esp, 4
test esi, esi
jne 0x461880
mov esi, dword [ebx + 0x30cc]
test esi, esi
je 0x4618b0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.004630be
add esp, 4
test esi, esi
jne 0x4618a0
mov esi, dword [ebx + 0x30d0]
test esi, esi
je 0x4618d0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.004630be
add esp, 4
test esi, esi
jne 0x4618c0
cmp dword [ebx + 0x32d4], 0
je 0x461910
mov esi, dword [ebx + 0x30ec]
test esi, esi
je 0x4618f3
push esi
mov esi, dword [esi + 0x1c]
call fcn.004630be
add esp, 4
test esi, esi
jne 0x4618e3
mov esi, dword [ebx + 0x30f0]
test esi, esi
je 0x461910
lea ecx, [ecx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.004630be
add esp, 4
test esi, esi
jne 0x461900
mov edx, dword [ebp - 0x6c]
push edx
call fcn.00563218
mov eax, dword [ebp - 0x8c]
push eax
call fcn.00563218
mov eax, dword [ebp - 0xac]
add eax, 0xfffffff0
add esp, 8
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46194e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xbc]
add eax, 0xfffffff0
mov byte [ebp - 4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461974
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x61]
mov dword [ebp - 4], 0xffffffff
call fcn.00417d70
jmp 0x461a06
fld dword [0x5986f0]
fst dword [ebx + 0x27b0]
fstp dword [ebx + 0x27b4]
jmp 0x46168a
mov edi, eax
jmp 0x46168f
push 1
push 0xff
push 0x12c
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.Capture_Image_Fail
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.FALI
mov dword [ebx + 0x2594], 0
call fcn.00401a90
push 0
push 0xff
push 0x3ed
mov ecx, ebx
call fcn.00419550
mov edi, 1
cmp dword [ebx + 0x32f0], edi
jne 0x461a25
cmp dword [ebp - 0x98], edi
jne 0x461a25
mov ecx, ebx
call fcn.00418480
mov dword [ebx + 0x271c], eax
jmp 0x461a2f
mov dword [ebx + 0x271c], 0
cmp dword [ebx + 0x404], 0
jle 0x461a92
mov eax, dword [ebx + 0x3fc]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [ebx + 0x400]
mov dword [esi + 4], ecx
mov edx, dword [ebx + 0x404]
mov dword [esi + 8], edx
fld dword [ebx + 0x408]
fstp dword [esi + 0xc]
add esp, 4
fld dword [ebx + 0x40c]
mov ecx, ebx
fstp dword [esi + 0x10]
fld dword [ebx + 0x410]
fstp dword [esi + 0x14]
call fcn.0044cae0
mov ecx, ebx
call fcn.0041dc60
xor esi, esi
mov ecx, ebx
call fcn.0044d030
mov ecx, ebx
call fcn.0044d450
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00563218
add esp, 4
cmp dword [ebx + 0x5040], 3
jne 0x461b3f
cmp dword [ebx + 0x32fc], 1
jne 0x461b3f
push 0x593f0c
lea ecx, [ebp - 0x90]
call fcn.00401a90
mov ecx, dword [ebx + 0x25a0]
push ecx
lea edx, [ebp - 0x90]
push str.RESULT__d_e46a_r
push edx
mov dword [ebp - 4], 0x14
call fcn.00402fb0
mov eax, dword [ebp - 0x90]
add esp, 0xc
push eax
lea ecx, [ebx + 0x5094]
call fcn.00404f60
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461b3f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x593f0c
lea ecx, [ebp - 0xd4]
call fcn.00401a90
fld dword [ebx + 0x26e0]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0xd4]
fld dword [ebx + 0x26d4]
mov dword [ebp - 4], 0x15
fstp qword [esp]
push str._4.4f__4.4f
push ecx
call fcn.00402fb0
mov eax, dword [ebp - 0xd4]
add esp, 0x18
push 1
push esi
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
push 1
push esi
push 0xffffffffffffffff
push ecx
mov edx, esp
mov dword [ebp - 0xa0], esp
push edx
mov ecx, ebx
call fcn.00441840
mov ecx, ebx
call fcn.0041ac40
push 0x593f0c
lea ecx, [ebp - 0xcc]
call fcn.00401a90
mov eax, dword [ebx + 0x25a0]
movzx ecx, byte [ebx + 0x4638]
push eax
push ecx
lea edx, [ebp - 0xcc]
push str._d_d
push edx
mov byte [ebp - 4], 0x16
call fcn.00402fb0
mov eax, dword [ebp - 0xcc]
add esp, 0x10
push 1
push esi
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
push 1
push esi
push 0x64
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push 0x59a858
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
mov dword [ebx + 0x4a4], esi
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx edx, word [ebp - 0x48]
movzx ecx, word [ebp - 0x58]
movzx eax, word [ebp - 0x56]
sub ecx, edx
movzx edx, word [ebp - 0x54]
mov dword [ebp - 0xa0], ecx
movzx ecx, word [ebp - 0x46]
fild dword [ebp - 0xa0]
sub eax, ecx
movzx ecx, word [ebp - 0x42]
fmul qword [0x596e50]
mov dword [ebp - 0xa0], eax
movzx eax, word [ebp - 0x44]
fild dword [ebp - 0xa0]
sub edx, eax
mov dword [ebp - 0xa0], edx
fmul qword [0x59a850]
movzx edx, word [ebp - 0x52]
faddp st(1)
sub edx, ecx
push 0x593f0c
lea ecx, [ebp - 0xd0]
fiadd dword [ebp - 0xa0]
mov dword [ebp - 0xa0], edx
fild dword [ebp - 0xa0]
fdiv qword [0x593f40]
faddp st(1)
fstp dword [ebp - 0xa0]
call fcn.00401a90
lea eax, [ebx + 0x4d0]
push eax
mov byte [ebp - 4], 0x17
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
fld dword [ebp - 0xa0]
sub esp, 8
fstp qword [esp]
lea eax, [ebp - 0xd0]
push str.TestTime:__4.4f_s
push eax
call fcn.00402fb0
mov eax, dword [ebp - 0xd0]
add esp, 0x10
push 1
push esi
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
cmp dword [ebx + 0x25a0], esi
jne 0x461d7e
mov eax, dword [ebx + 0x30f4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add esp, 4
push esi
push 0xff00
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00419550
cmp dword [ebx + 0x25a0], 1
jne 0x461dbe
mov eax, dword [ebx + 0x30f4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add esp, 4
push esi
push 0xff0000
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00419550
cmp dword [ebx + 0x25a0], 2
jne 0x461e05
mov eax, dword [ebx + 0x30f4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add esp, 4
push esi
push 0xffff
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00419550
cmp dword [ebx + 0x25a0], 2
jle 0x461e3e
mov eax, dword [ebx + 0x30f4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add esp, 4
push esi
push 0xff
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00419550
push 1
push 0x3e8
mov ecx, ebx
call fcn.0046fae8
mov ecx, eax
call fcn.0046fd0b
mov eax, dword [ebx + 0x30f4]
push 1
push esi
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00563218
add esp, 4
cmp dword [ebx + 0x334c], esi
je 0x461efe
mov eax, dword [ebx + 0x256c]
cmp eax, esi
je 0x461eb3
push eax
call fcn.00563218
add esp, 4
mov dword [ebx + 0x256c], esi
mov eax, dword [ebx + 0x2570]
cmp eax, esi
je 0x461ecc
push eax
call fcn.00563218
add esp, 4
mov dword [ebx + 0x2570], esi
mov eax, dword [ebx + 0x2574]
cmp eax, esi
je 0x461ee5
push eax
call fcn.00563218
add esp, 4
mov dword [ebx + 0x2574], esi
mov eax, dword [ebx + 0x2578]
cmp eax, esi
je 0x461efe
push eax
call fcn.00563218
add esp, 4
mov dword [ebx + 0x2578], esi
push 2
push 3
mov ecx, ebx
call fcn.00417bf0
push esi
mov dword [ebx + 0x5220], 1
push 0x3e8
mov dword [ebx + 0x5224], esi
mov edx, dword [ebx + 0x20]
push 3
push edx
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [ebp - 0xd0]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x16
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461f51
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xcc]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x15
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461f77
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xd4]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461fa0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00563636
mov esp, ebp
pop ebp
ret