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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57a29a
mov eax, dword fs:[0]
push eax
sub esp, 0x174
mov eax, dword [0x5dee94]
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 + 0x4e18], edi
jne 0x453f6c
push esi
lea ecx, [ebp - 0x180]
call fcn.00412540
push 0xd
push 0x58f13c
lea ecx, [ebp - 0xc4]
mov dword [ebp - 4], esi
call fcn.004017e0
lea ecx, [ebp - 0x180]
call fcn.0045dc70
cmp eax, edi
jne 0x453f25
lea eax, [ebp - 0xc8]
lea ecx, [ebx + 0x4e1c]
push eax
call fcn.004019a0
push 0xd
push 0x58f12c
lea ecx, [ebp - 0xc4]
call fcn.004017e0
lea ecx, [ebp - 0x180]
call fcn.0045dc70
cmp eax, edi
jne 0x453f58
lea edx, [ebp - 0xc8]
lea ecx, [ebx + 0x4e20]
push edx
call fcn.004019a0
lea ecx, [ebp - 0x180]
mov dword [ebp - 4], 0xffffffff
call fcn.00412480
jmp 0x453f8e
push edi
lea ecx, [ebx + 0x4e1c]
push 0x58d5fc
call fcn.004017e0
push edi
lea ecx, [ebx + 0x4e20]
push 0x58d5fc
call fcn.004017e0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
push 0x3e8
mov ecx, ebx
mov dword [ebp - 0xac], eax
call fcn.0046688f
mov ecx, eax
call fcn.00466ab2
lea eax, [ebx + 0x4a0]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, ebx
call fcn.0041a6a0
push esi
lea ecx, [ebx + 0x4ed8]
push 0x588f0c
call fcn.004017e0
fldz
lea eax, [ebp - 0x48]
fst dword [ebx + 0x2504]
push eax
fstp dword [ebx + 0x2508]
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [ebx + 0x4e20]
mov edx, dword [ebx + 0x4e1c]
push ecx
movzx ecx, word [ebp - 0x3c]
push edx
movzx edx, word [ebp - 0x3e]
push ecx
movzx ecx, word [ebp - 0x40]
push edx
movzx edx, word [ebp - 0x42]
push ecx
movzx ecx, word [ebp - 0x46]
push edx
movzx edx, word [ebp - 0x48]
push ecx
push edx
lea eax, [ebx + 0x4fbc]
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 + 0x470], esi
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp dword [ebx + 0x4dd8], 4
jne 0x45404d
mov ecx, ebx
call fcn.0043e390
mov ecx, ebx
call fcn.004407d0
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0xb0], esp
push str.NULL
call fcn.00401a90
push 0
push 0xffff
push 0x3ed
mov ecx, ebx
call fcn.00418e80
push 0x3eb
mov ecx, ebx
call fcn.0046688f
mov esi, eax
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.0046d037
push 0x588f0c
mov ecx, esi
call fcn.004669a5
cmp dword [ebx + 0x158], 2
mov dword [ebx + 0x23d0], 0xffffffff
mov dword [ebx + 0x23d4], edi
je 0x4540d2
push 0
push 0
push str.Please_stop_preview_
call fcn.0045c460
xor eax, eax
jmp 0x458da9
push edi
push 0
push 0x190
push ecx
mov ecx, esp
mov dword [ebp - 0xb0], esp
push str.Test_Start_
call fcn.00401a90
mov ecx, ebx
call fcn.0041a570
push edi
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0xb0], esp
push ecx
mov ecx, ebx
call fcn.0043cd70
mov ecx, ebx
call fcn.0041a570
cmp dword [ebx + 0x3104], 0
je 0x45413a
mov ecx, ebx
call fcn.00443950
xor edx, edx
cmp dword [ebx + 0x23d4], 0xffffffff
setne dl
dec edx
and edx, 0x3e8
mov dword [ebx + 0x252c], edx
movzx eax, word [ebx + 0x15c]
movzx esi, word [ebx + 0x15e]
imul esi, eax
lea edi, [esi + esi]
push edi
call fcn.00559e6f
push edi
push 0
push eax
mov dword [ebp - 0x90], eax
call fcn.00559f80
lea esi, [esi + esi*2]
push esi
call fcn.00559e6f
push esi
push 0
push eax
mov dword [ebp - 0xb4], eax
call fcn.00559f80
mov edi, 1
add esp, 0x20
mov dword [ebp - 0x84], edi
cmp dword [ebx + 0x30f8], edi
jne 0x4545e3
cmp dword [ebx + 0x23d4], 0xffffffff
je 0x4545e3
push 2
mov ecx, ebx
call fcn.00444de0
test eax, eax
jne 0x45420a
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0xac], esp
push str.FAIL
mov dword [ebx + 0x23e4], eax
call fcn.00401a90
push 0
push 0xff
push 0x3ed
mov ecx, ebx
call fcn.00418e80
push edi
push 0xff
push 0x190
push ecx
mov ecx, esp
mov dword [ebp - 0xac], esp
push str.Open_Camera_Fail_2_
call fcn.00401a90
mov ecx, ebx
call fcn.0041a570
jmp 0x4588bf
movzx eax, word [ebx + 0x15c]
movzx esi, word [ebx + 0x15e]
mov ecx, dword [ebp - 0x90]
imul esi, eax
lea eax, [esi + esi]
push ecx
mov dword [ebp - 0x60], eax
call fcn.00559984
mov edx, dword [ebp - 0x60]
push edx
call fcn.00559e6f
mov ecx, dword [ebp - 0x60]
push ecx
push 0
push eax
mov dword [ebp - 0x90], eax
call fcn.00559f80
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00559984
lea esi, [esi + esi*2]
push esi
call fcn.00559e6f
push esi
xor esi, esi
push esi
push eax
mov dword [ebp - 0xb4], eax
call fcn.00559f80
add esp, 0x28
mov dword [ebx + 0x158], edi
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], esi
test edi, edi
jne 0x4542e0
lea eax, [ebx + 0x488]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x478], edi
je 0x4542b8
mov ecx, dword [ebx + 0x444]
mov eax, dword [ebx + 0x448]
mov dword [ebx + 0x448], ecx
mov dword [ebx + 0x444], eax
mov edi, 1
lea eax, [ebx + 0x488]
push eax
mov dword [ebx + 0x478], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0xa
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x454282
cmp byte [ebx + 0x1c7], 0
jne 0x4542f2
mov edx, dword [ebx + 0x480]
mov dword [ebp - 0x74], edx
cmp dword [ebx + 0x43c8], 0
jle 0x454592
xor edi, edi
mov dword [ebp - 0x60], edi
test edi, edi
jne 0x454362
lea esi, [ebx + 0x488]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x478], edi
je 0x45433a
mov ecx, dword [ebx + 0x444]
mov eax, dword [ebx + 0x448]
mov dword [ebx + 0x448], ecx
mov dword [ebx + 0x444], eax
mov edi, 1
push esi
mov dword [ebx + 0x478], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x60]
inc esi
push 0xa
mov dword [ebp - 0x60], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x454304
mov al, byte [ebx + 0x160]
mov dword [ebp - 0x98], edi
cmp al, 2
jne 0x4543df
mov ecx, dword [ebx + 0x448]
movzx edx, word [ebx + 0x15c]
mov eax, dword [ebx + 0x450]
movzx esi, word [ebx + 0x15e]
mov dword [ebp - 0x88], ecx
lea ecx, [ebp - 0x59]
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0xa8], eax
call fcn.0040c0f0
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x88]
push esi
push edx
push eax
push ecx
lea ecx, [ebp - 0x59]
mov dword [ebp - 4], 1
call fcn.0040c580
lea ecx, [ebp - 0x59]
mov dword [ebp - 4], 0xffffffff
call fcn.00417740
jmp 0x454557
cmp al, 1
jne 0x45440d
movzx edx, word [ebx + 0x15e]
movzx eax, word [ebx + 0x15c]
mov ecx, dword [ebx + 0x450]
push edx
mov edx, dword [ebx + 0x448]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.0041d2f0
jmp 0x454557
test al, al
je 0x4544a7
cmp al, 6
je 0x4544a7
cmp al, 7
jne 0x454557
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 0x45447d
xor esi, esi
mov eax, dword [ebx + 0x448]
movzx edx, byte [esi + eax]
mov byte [eax + ecx*2], dl
mov eax, dword [ebx + 0x448]
movzx edx, byte [esi + eax + 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 0x454443
movzx eax, word [ebx + 0x15e]
movzx ecx, word [ebx + 0x15c]
mov edx, dword [ebx + 0x450]
push eax
mov eax, dword [ebx + 0x448]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041d2f0
jmp 0x454557
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 0x45452c
xor esi, esi
lea esp, [esp]
mov edi, dword [ebx + 0x448]
movzx eax, byte [esi + edi]
mov byte [edi + ecx*4], al
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x448]
movzx eax, byte [esi + edi + 2]
mov byte [edi + ecx*4 + 2], al
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 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 0x4544d0
movzx eax, word [ebx + 0x15e]
movzx ecx, word [ebx + 0x15c]
mov edx, dword [ebx + 0x450]
push eax
mov eax, dword [ebx + 0x448]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041d2f0
mov edi, dword [ebp - 0x98]
movzx ecx, word [ebx + 0x15e]
movzx edx, word [ebx + 0x15c]
mov eax, dword [ebx + 0x450]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041c650
test edi, edi
je 0x454592
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
cmp eax, dword [ebx + 0x43c8]
jl 0x4542ff
cmp byte [ebx + 0x1c7], 0
jne 0x4545a3
mov eax, dword [ebx + 0x480]
jmp 0x4545a6
mov eax, dword [ebp - 0x70]
mov dword [ebx + 0x293c], eax
cmp eax, dword [ebp - 0x74]
jge 0x4545bb
mov dword [ebx + 0x293c], 0x10000
mov ecx, dword [ebx + 0x293c]
cmp ecx, dword [ebx + 0x1998]
jle 0x4545d3
mov dword [ebx + 0x24fc], 0
mov ecx, ebx
call fcn.0041cad0
cmp edi, 1
jne 0x4588bf
xor esi, esi
cmp dword [ebx + 0x23d4], 0xffffffff
je 0x4588c1
push 1
mov ecx, ebx
mov dword [ebx + 0x23e4], esi
call fcn.00444de0
test eax, eax
jne 0x454660
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0xac], esp
push str.FAIL
mov dword [ebx + 0x23e4], esi
call fcn.00401a90
push esi
push 0xff
push 0x3ed
mov ecx, ebx
call fcn.00418e80
push 1
push 0xff
push 0x190
push ecx
mov ecx, esp
mov dword [ebp - 0xac], esp
push str.Open_Camera_Fail_1_
call fcn.00401a90
mov ecx, ebx
call fcn.0041a570
jmp 0x4588c1
movzx eax, word [ebx + 0x15c]
movzx esi, word [ebx + 0x15e]
mov dword [ebp - 0x64], esi
imul esi, eax
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x90]
lea edx, [esi + esi]
push eax
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0xb0], edx
call fcn.00559984
mov ecx, dword [ebp - 0xb0]
push ecx
call fcn.00559e6f
mov edx, dword [ebp - 0xb0]
push edx
push 0
push eax
mov dword [ebp - 0x90], eax
call fcn.00559f80
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00559984
lea esi, [esi + esi*2]
push esi
mov dword [ebp - 0xb0], esi
call fcn.00559e6f
push esi
push 0
push eax
mov dword [ebp - 0xb4], eax
call fcn.00559f80
add esp, 0x24
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x58f0ac
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
cmp dword [ebx + 0x30d8], 1
jne 0x454714
lea ecx, [ebx + 0x2630]
push ecx
lea edx, [ebx + 0x2628]
push edx
mov ecx, ebx
call fcn.00417410
mov esi, 1
cmp dword [ebx + 0x30f4], esi
jne 0x4547b2
fld dword [0x58f0a8]
push ecx
mov ecx, dword [ebx + 0x52c]
fstp dword [esp]
call fcn.00402440
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, ebx
call fcn.0044fe50
movzx eax, al
mov dword [ebp - 0x84], eax
cmp eax, esi
jne 0x454767
mov dword [ebx + 0x2e68], 0
mov dword [ebx + 0x2500], esi
jmp 0x4547a1
mov dword [ebx + 0x2e68], 0xffffffff
mov dword [ebx + 0x2500], 0
test eax, eax
jne 0x4547a1
push esi
push 0xff
push 0xc8
push ecx
mov ecx, esp
mov dword [ebp - 0x74], esp
push str.Trimming_Test_Fail_
call fcn.00401a90
mov ecx, ebx
call fcn.0041a570
fldz
push ecx
mov ecx, dword [ebx + 0x52c]
fstp dword [esp]
call fcn.00402440
mov dword [ebx + 0x158], esi
xor esi, esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0xa8], esi
test edi, edi
jne 0x454824
lea eax, [ebx + 0x488]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x478], edi
je 0x4547fc
mov ecx, dword [ebx + 0x444]
mov eax, dword [ebx + 0x448]
mov dword [ebx + 0x448], ecx
mov dword [ebx + 0x444], eax
mov edi, 1
lea eax, [ebx + 0x488]
push eax
mov dword [ebx + 0x478], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0xa
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x4547c6
cmp byte [ebx + 0x1c7], 0
mov dword [ebx + 0x24fc], 1
jne 0x454840
mov edx, dword [ebx + 0x480]
mov dword [ebp - 0x60], edx
fld dword [ebx + 0x53c]
push ecx
mov ecx, dword [ebx + 0x52c]
fstp dword [esp]
call fcn.00402440
fld dword [ebx + 0xa08]
call fcn.0055a000
push eax
push 3
mov ecx, ebx
call fcn.004175d0
cmp dword [ebx + 0x43c8], 0
jle 0x454ab5
xor edi, edi
xor esi, esi
test edi, edi
jne 0x4548d9
lea eax, [ebx + 0x488]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x478], edi
je 0x4548b1
mov ecx, dword [ebx + 0x444]
mov eax, dword [ebx + 0x448]
mov dword [ebx + 0x448], ecx
mov dword [ebx + 0x444], eax
mov edi, 1
lea eax, [ebx + 0x488]
push eax
mov dword [ebx + 0x478], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0xa
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x45487b
mov al, byte [ebx + 0x160]
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x7c], esi
cmp al, 2
jne 0x45493f
mov edx, dword [ebx + 0x450]
mov eax, dword [ebx + 0x448]
lea ecx, [ebp - 0x59]
mov dword [ebp - 0x74], edx
mov dword [ebp - 0xa0], eax
call fcn.0040c0f0
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0xa0]
push edx
push eax
push ecx
lea ecx, [ebp - 0x59]
mov dword [ebp - 4], 2
call fcn.0040c580
lea ecx, [ebp - 0x59]
mov dword [ebp - 4], 0xffffffff
call fcn.00417740
jmp 0x454a88
cmp al, 1
jne 0x454965
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebx + 0x450]
push edx
mov edx, dword [ebx + 0x448]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.0041d2f0
jmp 0x454a88
test al, al
je 0x4549ff
cmp al, 6
je 0x4549ff
cmp al, 7
jne 0x454a88
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 0x4549da
xor esi, esi
jmp 0x4549a0
mov eax, dword [ebx + 0x448]
movzx edx, byte [esi + eax]
mov byte [eax + ecx*2], dl
mov eax, dword [ebx + 0x448]
movzx edx, byte [esi + eax + 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 0x4549a0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebx + 0x450]
push eax
mov eax, dword [ebx + 0x448]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041d2f0
mov esi, dword [ebp - 0x7c]
jmp 0x454a88
mov eax, dword [ebp - 0x9c]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x454a65
xor esi, esi
jmp 0x454a20
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x454a20
mov esi, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebx + 0x450]
push eax
mov eax, dword [ebx + 0x448]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041d2f0
mov edi, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x78]
mov eax, dword [ebx + 0x450]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041c650
test edi, edi
je 0x454ab5
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp eax, dword [ebx + 0x43c8]
jl 0x454877
cmp byte [ebx + 0x1c7], 0
jne 0x454ac6
mov eax, dword [ebx + 0x480]
jmp 0x454acc
mov eax, dword [ebp - 0xa8]
mov dword [ebx + 0x293c], eax
cmp eax, dword [ebp - 0x60]
jge 0x454ae1
mov dword [ebx + 0x293c], 0x10000
mov ecx, dword [ebx + 0x293c]
cmp ecx, dword [ebx + 0x1998]
jle 0x454af9
mov dword [ebx + 0x24fc], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x74], esp
push str.Bypass
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
cmp edi, 1
jne 0x4587d0
xor edi, edi
cmp esi, 0xc8
jge 0x4587d0
test edi, edi
jne 0x454b85
lea eax, [ebx + 0x488]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x478], edi
je 0x454b5d
mov edx, dword [ebx + 0x444]
mov eax, dword [ebx + 0x448]
mov dword [ebx + 0x448], edx
mov dword [ebx + 0x444], eax
mov edi, 1
lea eax, [ebx + 0x488]
push eax
mov dword [ebx + 0x478], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0xa
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x454b27
cmp edi, 1
jne 0x4587d0
mov esi, dword [ebp - 0x84]
cmp esi, edi
jne 0x4587d0
cmp dword [ebx + 0x30c8], 0
mov dword [ebx + 0x23e4], edi
je 0x454bdd
mov ecx, ebx
call fcn.0044fa20
push ecx
mov esi, eax
and esi, dword [ebx + 0x24fc]
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x58c0c8
mov dword [ebp - 0x84], esi
mov dword [ebx + 0x24fc], esi
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
cmp dword [ebx + 0x30f0], 0
je 0x454c3e
cmp esi, 1
jne 0x454c3e
mov ecx, ebx
call fcn.00440570
mov dword [ebp - 0x84], eax
cmp eax, esi
jne 0x454c08
mov dword [ebx + 0x2e64], 0
jmp 0x454c27
mov ecx, ebx
call fcn.00440090
mov ecx, ebx
call fcn.00440570
mov dword [ebp - 0x84], eax
dec eax
neg eax
sbb eax, eax
mov dword [ebx + 0x2e64], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x74], esp
push str.GetFuseID
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
mov esi, dword [ebp - 0xb0]
push esi
call fcn.00559e6f
push esi
push 0
push eax
mov dword [ebp - 0x80], eax
call fcn.00559f80
add esp, 0x10
lea ecx, [ebp - 0x59]
call fcn.0040c0f0
mov esi, dword [ebp - 0x9c]
push esi
mov dword [ebp - 4], 3
mov dword [ebp - 0x8c], esi
call fcn.00559e6f
push esi
push 0
push eax
mov dword [ebp - 0x68], eax
call fcn.00559f80
add esp, 0x10
push 0x588f0c
lea ecx, [ebp - 0x98]
call fcn.00401a90
push 0x588f0c
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 4
call fcn.00401a90
mov al, byte [ebx + 0x160]
mov byte [ebp - 4], 5
cmp al, 2
jne 0x454cbf
add esi, esi
jmp 0x454cc3
cmp al, 1
jne 0x454cc9
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x6c], 0
xor esi, esi
mov dword [ebp - 0x7c], esi
test esi, esi
jne 0x454d34
lea edi, [ebx + 0x488]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x478], esi
je 0x454d0b
mov ecx, dword [ebx + 0x444]
mov eax, dword [ebx + 0x448]
mov dword [ebx + 0x448], ecx
mov dword [ebx + 0x444], eax
mov esi, 1
push edi
mov dword [ebx + 0x478], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc dword [ebp - 0x7c]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x7c], 0xc8
jl 0x454cd5
test esi, esi
je 0x454d40
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp eax, 3
jl 0x454cd0
mov eax, dword [ebx + 0x24c]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0x60], esp
mov edi, esp
push eax
call fcn.004013e0
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.00445640
cmp dword [ebx + 0x43d0], 0
mov dword [ebp - 0x6c], 0
jle 0x454e16
xor esi, esi
mov dword [ebp - 0x7c], esi
test esi, esi
jne 0x454e07
lea edi, [ebx + 0x488]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x478], esi
je 0x454dde
mov ecx, dword [ebx + 0x444]
mov eax, dword [ebx + 0x448]
mov dword [ebx + 0x448], ecx
mov dword [ebx + 0x444], eax
mov esi, 1
push edi
mov dword [ebx + 0x478], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc dword [ebp - 0x7c]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x7c], 0xc8
jl 0x454da8
test esi, esi
je 0x454e16
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp eax, dword [ebx + 0x43d0]
jl 0x454da3
fld dword [ebx + 0x53c]
push ecx
mov ecx, dword [ebx + 0x52c]
fstp dword [esp]
call fcn.00402440
fld dword [ebx + 0xa08]
call fcn.0055a000
push eax
push 3
mov ecx, ebx
call fcn.004175d0
cmp dword [ebp - 0x84], 1
jne 0x45503c
test esi, esi
je 0x45503c
cmp dword [ebx + 0x3090], 0
jne 0x454e7d
cmp dword [ebx + 0x308c], 0
jne 0x454e7d
cmp dword [ebx + 0x30a4], 0
jne 0x454e7d
cmp dword [ebx + 0x3088], 0
je 0x45503c
mov edx, dword [ebx + 0x43cc]
push 0
push edx
mov ecx, ebx
call fcn.00416350
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.Flat_Capture
mov esi, eax
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
cmp esi, 1
jne 0x455032
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x454eee
mov esi, dword [ebp - 0x64]
mov edi, dword [ebp - 0x78]
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebx + 0x448]
push esi
push edi
push eax
push ecx
lea ecx, [ebp - 0x59]
call fcn.0040c580
mov edx, dword [ebp - 0x68]
mov eax, dword [ebx + 0x448]
push esi
push edi
push edx
push eax
lea ecx, [ebp - 0x59]
call fcn.0040c100
jmp 0x455042
cmp al, 1
je 0x454fc3
test al, al
je 0x454f6a
cmp al, 6
je 0x454f6a
cmp al, 7
jne 0x45503c
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 0x454fc3
xor esi, esi
jmp 0x454f30
mov edi, dword [ebx + 0x448]
mov al, byte [esi + edi]
mov byte [edi + ecx*2], al
mov edi, dword [ebx + 0x448]
mov dl, byte [esi + edi + 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 0x454f30
jmp 0x454fc3
mov eax, dword [ebp - 0x9c]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x454fc3
xor esi, esi
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x454f81
mov ecx, dword [ebx + 0xa28]
mov edx, dword [ebx + 0xa2c]
mov esi, dword [ebp - 0x64]
mov edi, dword [ebp - 0x78]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa30]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa34]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x448]
push edi
push eax
lea ecx, [ebp - 0x59]
call fcn.0040d160
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebx + 0x448]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041d2f0
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x448]
mov edx, dword [ebp - 0x68]
push eax
push ecx
push edx
call fcn.0055a7a0
add esp, 0xc
jmp 0x455042
mov dword [ebx + 0x23e4], 0
mov esi, dword [ebp - 0x64]
mov edi, dword [ebp - 0x78]
mov edx, 1
cmp dword [ebx + 0x30a4], edx
jne 0x455163
cmp dword [ebp - 0x84], edx
jne 0x455163
cmp dword [ebx + 0x23e4], edx
jne 0x455163
mov ecx, dword [ebx + 0xf68]
fld dword [ebx + 0x23e0]
mov edx, dword [ebp - 0x64]
push ecx
sub esp, 8
fstp dword [esp + 4]
lea esi, [ebx + 0x2564]
fld dword [ebx + 0x23dc]
lea eax, [ebx + 0x2568]
fstp dword [esp]
push esi
push eax
mov eax, dword [ebp - 0x80]
push edx
push edi
push eax
mov ecx, ebx
call fcn.00416220
push 0x588f0c
lea ecx, [ebp - 0x74]
call fcn.00401a90
cmp dword [ebx + 0x43b0], 1
mov byte [ebp - 4], 6
jne 0x45510a
fld dword [ebx + 0x2568]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0x74]
fld dword [esi]
fstp qword [esp]
push str.RoG:_4.4f_BoG:_4.4f
push ecx
call fcn.00402fb0
mov eax, dword [ebp - 0x74]
add esp, 0x18
push 1
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x60], esp
mov esi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041a570
mov esi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x80]
push esi
push edi
push edx
mov ecx, ebx
call fcn.0043fea0
fstp dword [ebx + 0x2d94]
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.Color
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
mov eax, dword [ebx + 0xf68]
mov edx, dword [ebp - 0x68]
push eax
lea ecx, [ebx + 0x2594]
push ecx
push esi
push edi
push edx
mov ecx, ebx
call fcn.0043e940
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 5
call fcn.004014f0
mov edx, 1
cmp dword [ebx + 0x30ac], edx
jne 0x4551af
cmp dword [ebp - 0x84], edx
jne 0x4551af
cmp dword [ebx + 0x23e4], edx
jne 0x4551af
movzx eax, word [ebx + 0x7b4]
mov ecx, dword [ebp - 0x68]
push eax
push esi
push edi
push ecx
lea edx, [ebx + 0x24f9]
push edx
lea eax, [ebx + 0x24f8]
push eax
mov ecx, ebx
call fcn.00417220
mov dword [ebp - 0x84], eax
mov dword [ebx + 0x24f4], eax
mov edx, 1
xor eax, eax
cmp dword [ebx + 0x3090], eax
je 0x455411
cmp dword [ebp - 0x84], edx
jne 0x455411
cmp dword [ebx + 0x23e4], edx
jne 0x455411
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x70], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x455252
mov ecx, dword [ebx + 0xe80]
fld dword [ebx + 0x7bc]
mov edx, dword [ebx + 0xe84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xe88]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xe8c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2644]
push eax
lea ecx, [ebx + 0x263c]
push ecx
mov ecx, dword [ebp - 0x68]
lea edx, [ebp - 0x70]
push edx
lea eax, [ebp - 0x88]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7b8]
fstp dword [esp]
push esi
push edi
push ecx
lea ecx, [ebp - 0x59]
call fcn.00410210
jmp 0x455326
cmp al, 1
jne 0x4552b5
mov edx, dword [ebx + 0xe80]
fld dword [ebx + 0x7bc]
mov ecx, dword [ebx + 0xe84]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xe88]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xe8c]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2644]
push edx
lea eax, [ebx + 0x263c]
push eax
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x70]
push ecx
lea edx, [ebp - 0x88]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7b8]
fstp dword [esp]
push esi
push edi
push eax
jmp 0x45531e
test al, al
je 0x4552c1
cmp al, 6
je 0x4552c1
cmp al, 7
jne 0x45532b
mov ecx, dword [ebx + 0xe80]
fld dword [ebx + 0x7bc]
mov edx, dword [ebx + 0xe84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xe88]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xe8c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2644]
push eax
lea ecx, [ebx + 0x263c]
push ecx
mov ecx, dword [ebp - 0x68]
lea edx, [ebp - 0x70]
push edx
lea eax, [ebp - 0x88]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7b8]
fstp dword [esp]
push esi
push edi
push ecx
lea ecx, [ebp - 0x59]
call fcn.00411e60
mov edx, 1
mov eax, dword [ebp - 0x88]
or ecx, 0xffffffff
cmp dword [ebx + 0x2638], ecx
jne 0x455342
mov dword [ebx + 0x2638], eax
cmp dword [ebx + 0x2640], ecx
jne 0x455358
mov edx, dword [ebp - 0x70]
mov dword [ebx + 0x2640], edx
mov edx, 1
cmp eax, ecx
je 0x4553b2
push eax
lea eax, [ebp - 0x94]
push str.HFPN:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x43b0], 1
jne 0x4553ad
mov eax, dword [ebp - 0x94]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x60], esp
mov esi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041a570
mov esi, dword [ebp - 0x64]
mov edx, 1
mov eax, dword [ebp - 0x70]
cmp eax, 0xffffffff
je 0x455411
push eax
lea ecx, [ebp - 0x94]
push str.VFPN:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x43b0], 1
jne 0x45540c
mov eax, dword [ebp - 0x94]
push 1
push 0xff
push 0xc8
push ecx
mov dword [ebp - 0x60], esp
add eax, 0xfffffff0
mov dword [ebp - 0x60], esp
push eax
call fcn.004013e0
mov edx, dword [ebp - 0x60]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041a570
mov edx, 1
cmp dword [ebx + 0x3088], 0
je 0x4555f4
cmp dword [ebp - 0x84], edx
jne 0x4555f4
cmp dword [ebx + 0x23e4], edx
jne 0x4555f4
lea eax, [ebp - 0x6c]
push eax
call fcn.00404b90
add esp, 4
push str.W_Log_
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 7
call fcn.00402fd0
mov eax, dword [ebx + 0x4fbc]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x6c]
call fcn.00402fd0
mov edx, dword [ebp - 0x6c]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x455492
push 0
lea ecx, [ebp - 0x6c]
call fcn.00401380
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
push ecx
push esi
push edi
push edx
mov ecx, ebx
call fcn.00413ae0
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x4554c6
mov edx, dword [ebp - 0x80]
push esi
push edi
push edx
mov ecx, ebx
call fcn.0041c650
mov eax, dword [ebp - 0x68]
push esi
push edi
push eax
mov ecx, ebx
call fcn.00434300
jmp 0x455505
cmp al, 1
jne 0x4554df
mov ecx, dword [ebp - 0x80]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.0041c650
mov edx, dword [ebp - 0x68]
push esi
push edi
push edx
jmp 0x4554fe
test al, al
je 0x4554eb
cmp al, 6
je 0x4554eb
cmp al, 7
jne 0x455505
mov eax, dword [ebp - 0x80]
push esi
push edi
push eax
mov ecx, ebx
call fcn.0041c650
mov ecx, dword [ebp - 0x68]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.00432f00
fld dword [ebx + 0x2508]
sub esp, 0x10
fstp qword [esp + 8]
lea edx, [ebp - 0x94]
fld dword [ebx + 0x2504]
fstp qword [esp]
push str.Mean:_4.4f__4.4f
push edx
call fcn.00402fb0
fld dword [ebx + 0x2504]
fld dword [ebx + 0x6d8]
add esp, 0x18
fcompp
fnstsw ax
test ah, 0x41
je 0x4555af
fld dword [ebx + 0x2504]
fld dword [ebx + 0x6d4]
fcompp
fnstsw ax
test ah, 5
jnp 0x4555af
fld dword [ebx + 0x2508]
fld dword [ebx + 0x6e0]
fcompp
fnstsw ax
test ah, 0x41
je 0x4555af
fld dword [ebx + 0x2508]
fld dword [ebx + 0x6dc]
fcompp
fnstsw ax
test ah, 5
jnp 0x4555af
mov eax, dword [ebp - 0x94]
push 1
push 0xff00
push 0xc8
push ecx
mov dword [ebp - 0x60], esp
add eax, 0xfffffff0
mov dword [ebp - 0x60], esp
push eax
call fcn.004013e0
mov ecx, dword [ebp - 0x60]
add eax, 0x10
mov dword [ecx], eax
jmp 0x4555d9
mov eax, dword [ebp - 0x94]
push 1
push 0xff
push 0xc8
push ecx
mov dword [ebp - 0x60], esp
add eax, 0xfffffff0
mov dword [ebp - 0x60], esp
push eax
call fcn.004013e0
mov edx, dword [ebp - 0x60]
add eax, 0x10
mov dword [edx], eax
add esp, 4
mov ecx, ebx
call fcn.0041a570
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 5
call fcn.004014f0
mov edx, 1
cmp dword [ebx + 0x308c], 0
je 0x455664
cmp dword [ebp - 0x84], edx
jne 0x455664
cmp dword [ebx + 0x23e4], edx
jne 0x455664
mov ecx, dword [ebx + 0xecc]
mov edx, dword [ebx + 0xed0]
sub esp, 0x14
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xed4]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xed8]
mov dword [eax + 8], ecx
mov ecx, dword [ebx + 0xedc]
mov dword [eax + 0xc], edx
lea edx, [ebx + 0x2dd8]
push edx
push esi
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x68]
push edi
push eax
mov ecx, ebx
call fcn.004504c0
mov ecx, dword [ebp - 0x68]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.00431a20
mov edx, 1
cmp dword [ebx + 0x30b8], 0
je 0x45568a
cmp dword [ebp - 0x84], edx
jne 0x45568a
cmp dword [ebx + 0x23e4], edx
jne 0x45568a
mov edx, dword [ebp - 0x68]
push esi
push edi
push edx
mov ecx, ebx
call fcn.004320b0
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.Normal_White
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x80]
mov esi, dword [ebp - 0xb4]
push eax
push ecx
push esi
call fcn.0055a7a0
add esp, 0xc
push 0
push esi
mov ecx, ebx
call fcn.00419aa0
mov esi, 1
cmp dword [ebx + 0x3090], esi
jne 0x4565dd
cmp dword [ebp - 0x84], esi
jne 0x4565dd
cmp dword [ebx + 0x23e4], esi
jne 0x4565dd
sub esp, 0x18
lea edx, [ebx + 0x2ac]
mov ecx, esp
mov dword [ebp - 0x60], esp
push edx
call fcn.00418f80
mov ecx, ebx
call fcn.00445640
cmp eax, esi
jne 0x455df6
mov dword [ebp - 0x6c], 0
jmp 0x455720
xor eax, eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0xa8], 0
jne 0x45579d
lea eax, [ebx + 0x488]
push eax
xor esi, esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x478], esi
je 0x455768
mov ecx, dword [ebx + 0x444]
mov eax, dword [ebx + 0x448]
mov dword [ebx + 0x448], ecx
mov dword [ebx + 0x444], eax
mov esi, 1
lea eax, [ebx + 0x488]
push eax
mov dword [ebx + 0x478], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc dword [ebp - 0x7c]
push 0xa
mov dword [ebp - 0xa8], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x7c], 0xc8
jl 0x45572b
test esi, esi
je 0x4557ad
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp eax, 3
jl 0x455720
cmp dword [ebp - 0xa8], 1
jne 0x4559cb
mov edx, dword [ebx + 0x43cc]
push 0
push edx
mov ecx, ebx
call fcn.00416350
cmp eax, 1
jne 0x4559cb
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45580f
mov esi, dword [ebp - 0x64]
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebx + 0x448]
push esi
push edi
push eax
push ecx
lea ecx, [ebp - 0x59]
call fcn.0040c580
mov edx, dword [ebp - 0x68]
mov eax, dword [ebx + 0x448]
push esi
push edi
push edx
push eax
lea ecx, [ebp - 0x59]
call fcn.0040c100
jmp 0x4559d8
cmp al, 1
jne 0x455882
mov ecx, dword [ebx + 0xa28]
mov edx, dword [ebx + 0xa2c]
mov esi, dword [ebp - 0x64]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa30]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa34]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x448]
push edi
push eax
lea ecx, [ebp - 0x59]
call fcn.0040d160
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebx + 0x448]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041d2f0
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x448]
mov edx, dword [ebp - 0x68]
push eax
push ecx
push edx
call fcn.0055a7a0
add esp, 0xc
jmp 0x4559d8
test al, al
je 0x455902
cmp al, 6
je 0x455902
cmp al, 7
jne 0x4559d5
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 0x45595f
xor esi, esi
jmp 0x4558c0
mov eax, dword [ebx + 0x448]
movzx edx, byte [esi + eax]
mov eax, dword [ebp - 0x90]
mov byte [eax + ecx*2], dl
mov edx, dword [ebx + 0x448]
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 0x4558c0
jmp 0x45595f
mov eax, dword [ebp - 0x9c]
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45595f
mov esi, dword [ebp - 0x90]
xor ecx, ecx
add esi, 2
mov edx, dword [ebx + 0x448]
movzx edx, byte [ecx + edx]
mov byte [esi - 2], dl
mov edx, dword [ebx + 0x448]
movzx edx, byte [edx + ecx + 1]
mov byte [esi - 1], dl
mov edx, dword [ebx + 0x448]
movzx edx, byte [edx + ecx + 2]
mov byte [esi], dl
mov edx, dword [ebx + 0x448]
movzx edx, byte [edx + ecx + 3]
mov byte [esi + 1], dl
add ecx, 5
add esi, 4
dec eax
jne 0x455920
mov ecx, dword [ebx + 0xa28]
mov edx, dword [ebx + 0xa2c]
mov esi, dword [ebp - 0x64]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa30]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa34]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x90]
push edi
push eax
lea ecx, [ebp - 0x59]
call fcn.0040d160
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x90]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041d2f0
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x68]
push eax
push ecx
push edx
call fcn.0055a7a0
add esp, 0xc
jmp 0x4559d8
mov dword [ebx + 0x23e4], 0
mov esi, dword [ebp - 0x64]
mov eax, 1
cmp dword [ebx + 0x30a4], eax
jne 0x455abc
cmp dword [ebx + 0x23e4], eax
jne 0x455abc
mov edx, dword [ebx + 0xf68]
fld dword [ebx + 0x23e0]
push edx
sub esp, 8
fstp dword [esp + 4]
lea eax, [ebx + 0x2574]
fld dword [ebx + 0x23dc]
lea ecx, [ebx + 0x2578]
fstp dword [esp]
push eax
mov eax, dword [ebp - 0x80]
push ecx
push esi
push edi
push eax
mov ecx, ebx
call fcn.00416220
push 0x588f0c
lea ecx, [ebp - 0x74]
call fcn.00401a90
cmp dword [ebx + 0x43b0], 1
mov byte [ebp - 4], 8
jne 0x455a99
fld dword [ebx + 0x2578]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0x74]
fld dword [ebx + 0x2574]
fstp qword [esp]
push str.RoG:_4.4f_BoG:_4.4f
push ecx
call fcn.00402fb0
mov eax, dword [ebp - 0x74]
add esp, 0x18
push 1
push 0
push 0xffffffffffffffff
push ecx
mov dword [ebp - 0x60], esp
add eax, 0xfffffff0
mov dword [ebp - 0x60], esp
push eax
call fcn.004013e0
mov edx, dword [ebp - 0x60]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041a570
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.ColorLG
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 5
call fcn.004014f0
mov eax, 1
cmp dword [ebx + 0x30ac], eax
jne 0x455b17
cmp dword [ebx + 0x23e4], eax
jne 0x455b17
movzx eax, word [ebx + 0x7b2]
mov ecx, dword [ebp - 0x68]
push eax
push esi
push edi
push ecx
lea edx, [ebx + 0x25cf]
push edx
lea eax, [ebx + 0x25ce]
push eax
mov ecx, ebx
call fcn.00417220
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push 0x58c6d0
mov dword [ebp - 0x84], eax
mov dword [ebx + 0x24f4], eax
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
lea ecx, [ebp - 0x70]
push ecx
call fcn.00404b90
add esp, 4
push str.LowGain_
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 9
call fcn.00402fd0
mov eax, dword [ebx + 0x4fbc]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x70]
call fcn.00402fd0
mov edx, dword [ebp - 0x70]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x455b73
push 0
lea ecx, [ebp - 0x70]
call fcn.00401380
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x68]
push eax
push esi
push edi
push edx
mov ecx, ebx
call fcn.00413ae0
cmp dword [ebx + 0x3090], 0
je 0x455dce
mov eax, 1
cmp dword [ebp - 0x84], eax
jne 0x455dce
cmp dword [ebx + 0x23e4], eax
jne 0x455dce
xor eax, eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x6c], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x455c2a
mov ecx, dword [ebx + 0xe80]
fld dword [ebx + 0x7cc]
mov edx, dword [ebx + 0xe84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xe88]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xe8c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2664]
push eax
lea ecx, [ebx + 0x265c]
push ecx
mov ecx, dword [ebp - 0x68]
lea edx, [ebp - 0x6c]
push edx
lea eax, [ebp - 0x88]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7c8]
fstp dword [esp]
push esi
push edi
push ecx
lea ecx, [ebp - 0x59]
call fcn.00410210
jmp 0x455cfe
cmp al, 1
jne 0x455c8d
mov edx, dword [ebx + 0xe80]
fld dword [ebx + 0x7cc]
mov ecx, dword [ebx + 0xe84]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xe88]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xe8c]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2664]
push edx
lea eax, [ebx + 0x265c]
push eax
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x6c]
push ecx
lea edx, [ebp - 0x88]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7c8]
fstp dword [esp]
push esi
push edi
push eax
jmp 0x455cf6
test al, al
je 0x455c99
cmp al, 6
je 0x455c99
cmp al, 7
jne 0x455cfe
mov ecx, dword [ebx + 0xe80]
fld dword [ebx + 0x7cc]
mov edx, dword [ebx + 0xe84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xe88]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xe8c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2664]
push eax
lea ecx, [ebx + 0x265c]
push ecx
mov ecx, dword [ebp - 0x68]
lea edx, [ebp - 0x6c]
push edx
lea eax, [ebp - 0x88]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7c8]
fstp dword [esp]
push esi
push edi
push ecx
lea ecx, [ebp - 0x59]
call fcn.00411e60
mov eax, dword [ebp - 0x88]
or ecx, 0xffffffff
cmp dword [ebx + 0x2658], ecx
jne 0x455d15
mov dword [ebx + 0x2658], eax
cmp dword [ebx + 0x2660], ecx
jne 0x455d26
mov edx, dword [ebp - 0x6c]
mov dword [ebx + 0x2660], edx
cmp eax, ecx
je 0x455d78
push eax
lea eax, [ebp - 0x94]
push str.HFPN_LG:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x43b0], 1
jne 0x455d78
mov eax, dword [ebp - 0x94]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x60], esp
mov esi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041a570
mov eax, dword [ebp - 0x6c]
cmp eax, 0xffffffff
je 0x455dce
push eax
lea ecx, [ebp - 0x94]
push str.VFPN_LG:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x43b0], 1
jne 0x455dce
mov eax, dword [ebp - 0x94]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x60], esp
mov esi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041a570
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push 0x58c0e0
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 5
call fcn.004014f0
mov esi, 1
sub esp, 0x18
lea edx, [ebx + 0x2c4]
mov ecx, esp
mov dword [ebp - 0x60], esp
push edx
call fcn.00418f80
mov ecx, ebx
call fcn.00445640
cmp eax, esi
jne 0x4564c9
mov dword [ebp - 0x6c], 0
xor esi, esi
mov dword [ebp - 0x7c], esi
test esi, esi
jne 0x455e84
lea edi, [ebx + 0x488]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x478], esi
je 0x455e5b
mov ecx, dword [ebx + 0x444]
mov eax, dword [ebx + 0x448]
mov dword [ebx + 0x448], ecx
mov dword [ebx + 0x444], eax
mov esi, 1
push edi
mov dword [ebx + 0x478], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc dword [ebp - 0x7c]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x7c], 0xc8
jl 0x455e25
test esi, esi
je 0x455e90
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp eax, 3
jl 0x455e20
cmp esi, 1
jne 0x45609e
mov edx, dword [ebx + 0x43cc]
push 0
add edx, edx
push edx
mov ecx, ebx
call fcn.00416350
cmp eax, esi
jne 0x45609e
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x455ef2
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x78]
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebx + 0x448]
push edi
push esi
push eax
push ecx
lea ecx, [ebp - 0x59]
call fcn.0040c580
mov edx, dword [ebp - 0x68]
mov eax, dword [ebx + 0x448]
push edi
push esi
push edx
push eax
lea ecx, [ebp - 0x59]
call fcn.0040c100
jmp 0x4560ae
cmp al, 1
jne 0x455f68
mov ecx, dword [ebx + 0xa28]
mov edx, dword [ebx + 0xa2c]
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x78]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa30]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa34]
mov dword [eax + 8], ecx
push edi
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x448]
push esi
push eax
lea ecx, [ebp - 0x59]
call fcn.0040d160
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebx + 0x448]
push edi
push esi
push ecx
push edx
mov ecx, ebx
call fcn.0041d2f0
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x448]
mov edx, dword [ebp - 0x68]
push eax
push ecx
push edx
call fcn.0055a7a0
add esp, 0xc
jmp 0x4560ae
test al, al
je 0x455fc6
cmp al, 6
je 0x455fc6
cmp al, 7
jne 0x4560a8
mov eax, dword [ebp - 0x9c]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
xor ecx, ecx
test edi, edi
jle 0x45602f
mov eax, dword [ebp - 0x90]
xor esi, esi
jmp 0x455fa0
mov edx, dword [ebx + 0x448]
movzx edx, byte [esi + edx]
mov byte [eax + ecx*2], dl
mov edx, dword [ebx + 0x448]
movzx edx, byte [edx + esi + 1]
mov byte [eax + ecx*2 + 1], dl
inc ecx
add esi, 3
cmp ecx, edi
jl 0x455fa0
jmp 0x45602f
mov eax, dword [ebp - 0x9c]
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45602f
mov esi, dword [ebp - 0x90]
xor ecx, ecx
add esi, 2
mov edi, eax
jmp 0x455ff0
mov eax, dword [ebx + 0x448]
movzx edx, byte [ecx + eax]
mov byte [esi - 2], dl
mov eax, dword [ebx + 0x448]
movzx edx, byte [eax + ecx + 1]
mov byte [esi - 1], dl
mov eax, dword [ebx + 0x448]
movzx edx, byte [eax + ecx + 2]
mov byte [esi], dl
mov eax, dword [ebx + 0x448]
movzx edx, byte [eax + ecx + 3]
mov byte [esi + 1], dl
add ecx, 5
add esi, 4
dec edi
jne 0x455ff0
mov ecx, dword [ebx + 0xa28]
mov edx, dword [ebx + 0xa2c]
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x78]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa30]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa34]
mov dword [eax + 8], ecx
push edi
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x90]
push esi
push eax
lea ecx, [ebp - 0x59]
call fcn.0040d160
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x90]
push edi
push esi
push ecx
push edx
mov ecx, ebx
call fcn.0041d2f0
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x68]
push eax
push ecx
push edx
call fcn.0055a7a0
add esp, 0xc
jmp 0x4560ae
mov dword [ebx + 0x23e4], 0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x64]
mov eax, 1
cmp dword [ebx + 0x30a4], eax
jne 0x4561a3
cmp dword [ebp - 0x84], eax
jne 0x4561a3
cmp dword [ebx + 0x23e4], eax
jne 0x4561a3
mov edx, dword [ebx + 0xf68]
fld dword [ebx + 0x23e0]
push edx
sub esp, 8
fstp dword [esp + 4]
lea eax, [ebx + 0x256c]
fld dword [ebx + 0x23dc]
lea ecx, [ebx + 0x2570]
fstp dword [esp]
push eax
mov eax, dword [ebp - 0x80]
push ecx
push edi
push esi
push eax
mov ecx, ebx
call fcn.00416220
push 0x588f0c
lea ecx, [ebp - 0x74]
call fcn.00401a90
cmp dword [ebx + 0x43b0], 1
mov byte [ebp - 4], 0xa
jne 0x45617b
fld dword [ebx + 0x2570]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0x74]
fld dword [ebx + 0x256c]
fstp qword [esp]
push str.RoG:_4.4f_BoG:_4.4f
push ecx
call fcn.00402fb0
mov eax, dword [ebp - 0x74]
add esp, 0x18
push 1
push 0
push 0xffffffffffffffff
push ecx
mov dword [ebp - 0x60], esp
add eax, 0xfffffff0
mov dword [ebp - 0x60], esp
push eax
call fcn.004013e0
mov edx, dword [ebp - 0x60]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041a570
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.ColorHG
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 5
call fcn.004014f0
mov eax, 1
cmp dword [ebx + 0x30ac], eax
jne 0x4561ea
cmp dword [ebp - 0x84], eax
jne 0x4561ea
cmp dword [ebx + 0x23e4], eax
jne 0x4561ea
movzx eax, word [ebx + 0x7b0]
mov ecx, dword [ebp - 0x68]
push eax
push edi
push esi
push ecx
lea edx, [ebx + 0x25cd]
push edx
lea eax, [ebx + 0x25cc]
push eax
mov ecx, ebx
call fcn.00417220
mov dword [ebp - 0x84], eax
mov dword [ebx + 0x24f4], eax
lea ecx, [ebp - 0x70]
push ecx
call fcn.00404b90
add esp, 4
push str.HighGain_
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0xb
call fcn.00402fd0
mov eax, dword [ebx + 0x4fbc]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x70]
call fcn.00402fd0
mov edx, dword [ebp - 0x70]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x456246
push 0
lea ecx, [ebp - 0x70]
call fcn.00401380
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x68]
push eax
push edi
push esi
push edx
mov ecx, ebx
call fcn.00413ae0
cmp dword [ebx + 0x3090], 0
je 0x4564a1
mov eax, 1
cmp dword [ebp - 0x84], eax
jne 0x4564a1
cmp dword [ebx + 0x23e4], eax
jne 0x4564a1
xor eax, eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x6c], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x4562fd
mov ecx, dword [ebx + 0xe80]
fld dword [ebx + 0x7c4]
mov edx, dword [ebx + 0xe84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xe88]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xe8c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2654]
push eax
lea ecx, [ebx + 0x264c]
push ecx
mov ecx, dword [ebp - 0x68]
lea edx, [ebp - 0x6c]
push edx
lea eax, [ebp - 0x88]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7c0]
fstp dword [esp]
push edi
push esi
push ecx
lea ecx, [ebp - 0x59]
call fcn.00410210
jmp 0x4563d1
cmp al, 1
jne 0x456360
mov edx, dword [ebx + 0xe80]
fld dword [ebx + 0x7c4]
mov ecx, dword [ebx + 0xe84]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xe88]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xe8c]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2654]
push edx
lea eax, [ebx + 0x264c]
push eax
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x6c]
push ecx
lea edx, [ebp - 0x88]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7c0]
fstp dword [esp]
push edi
push esi
push eax
jmp 0x4563c9
test al, al
je 0x45636c
cmp al, 6
je 0x45636c
cmp al, 7
jne 0x4563d1
mov ecx, dword [ebx + 0xe80]
fld dword [ebx + 0x7c4]
mov edx, dword [ebx + 0xe84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xe88]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xe8c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2654]
push eax
lea ecx, [ebx + 0x264c]
push ecx
mov ecx, dword [ebp - 0x68]
lea edx, [ebp - 0x6c]
push edx
lea eax, [ebp - 0x88]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7c0]
fstp dword [esp]
push edi
push esi
push ecx
lea ecx, [ebp - 0x59]
call fcn.00411e60
mov eax, dword [ebp - 0x88]
or ecx, 0xffffffff
cmp dword [ebx + 0x2648], ecx
jne 0x4563e8
mov dword [ebx + 0x2648], eax
cmp dword [ebx + 0x2650], ecx
jne 0x4563f9
mov edx, dword [ebp - 0x6c]
mov dword [ebx + 0x2650], edx
cmp eax, ecx
je 0x45644b
push eax
lea eax, [ebp - 0x94]
push str.HFPN_HG:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x43b0], 1
jne 0x45644b
mov eax, dword [ebp - 0x94]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x60], esp
mov esi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041a570
mov eax, dword [ebp - 0x6c]
cmp eax, 0xffffffff
je 0x4564a1
push eax
lea ecx, [ebp - 0x94]
push str.VFPN_HG:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x43b0], 1
jne 0x4564a1
mov eax, dword [ebp - 0x94]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x60], esp
mov esi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041a570
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push 0x58c0d4
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 5
call fcn.004014f0
mov esi, 1
fld dword [ebx + 0x2568]
fstp dword [ebp - 0x6c]
fld dword [ebx + 0x2568]
fstp dword [ebp - 0x7c]
fld dword [ebp - 0x6c]
fld dword [ebx + 0x2578]
fcompp
fnstsw ax
test ah, 5
jnp 0x4564f6
fld dword [ebx + 0x2578]
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x7c]
fld dword [ebx + 0x2578]
fcompp
fnstsw ax
test ah, 5
jp 0x456511
fld dword [ebx + 0x2578]
fstp dword [ebp - 0x7c]
fld dword [ebp - 0x6c]
fld dword [ebx + 0x2570]
fcompp
fnstsw ax
test ah, 5
jnp 0x45652c
fld dword [ebx + 0x2570]
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x7c]
fld dword [ebx + 0x2570]
fcompp
fnstsw ax
test ah, 5
jp 0x456547
fld dword [ebx + 0x2570]
fstp dword [ebp - 0x7c]
fld dword [ebp - 0x6c]
fsub dword [ebp - 0x7c]
fstp dword [ebx + 0x2580]
fld dword [ebx + 0x2564]
fstp dword [ebp - 0x6c]
fld dword [ebx + 0x2564]
fstp dword [ebp - 0x7c]
fld dword [ebp - 0x6c]
fld dword [ebx + 0x2574]
fcompp
fnstsw ax
test ah, 5
jnp 0x456580
fld dword [ebx + 0x2574]
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x7c]
fld dword [ebx + 0x2574]
fcompp
fnstsw ax
test ah, 5
jp 0x45659b
fld dword [ebx + 0x2574]
fstp dword [ebp - 0x7c]
fld dword [ebp - 0x6c]
fld dword [ebx + 0x256c]
fcompp
fnstsw ax
test ah, 5
jnp 0x4565b6
fld dword [ebx + 0x256c]
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x7c]
fld dword [ebx + 0x256c]
fcompp
fnstsw ax
test ah, 5
jp 0x4565d1
fld dword [ebx + 0x256c]
fstp dword [ebp - 0x7c]
fld dword [ebp - 0x6c]
fsub dword [ebp - 0x7c]
fstp dword [ebx + 0x257c]
cmp dword [ebx + 0x30bc], 0
je 0x4565fd
cmp dword [ebp - 0x84], esi
jne 0x4565fd
cmp dword [ebx + 0x23e4], esi
jne 0x4565fd
mov ecx, ebx
call fcn.00447dd0
cmp dword [ebx + 0x3094], 0
je 0x456b48
cmp dword [ebp - 0x84], 1
jne 0x456b48
cmp dword [ebx + 0x23e4], 1
jne 0x456b48
sub esp, 0x18
lea edx, [ebx + 0x234]
mov ecx, esp
mov dword [ebp - 0x60], esp
push edx
call fcn.00418f80
mov ecx, ebx
call fcn.00445640
push 0
push 4
mov ecx, ebx
call fcn.00416350
cmp eax, 1
jne 0x456b48
mov eax, dword [ebx + 0x43dc]
push 0
push eax
mov ecx, ebx
call fcn.00416350
mov edi, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x448]
mov esi, dword [ebp - 0x90]
lea eax, [edi + edi]
push eax
push ecx
push esi
call fcn.0055a7a0
add esp, 8
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.SNR_Capture
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x4566ce
mov edx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x78]
mov eax, dword [ebp - 0x80]
push edx
push edi
push eax
push esi
mov ecx, ebx
call fcn.00413bd0
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x68]
push ecx
push edi
push edx
push esi
lea ecx, [ebp - 0x59]
call fcn.0040c100
jmp 0x4567ae
cmp al, 1
jne 0x456732
mov ecx, dword [ebx + 0xa28]
mov edx, dword [ebx + 0xa2c]
mov edi, dword [ebp - 0x78]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa30]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa34]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x64]
push eax
push edi
push esi
lea ecx, [ebp - 0x59]
call fcn.0040d160
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x68]
push ecx
push esi
push edx
call fcn.0055a7a0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x80]
add esp, 0xc
push eax
push edi
push ecx
push esi
mov ecx, ebx
call fcn.0041d2f0
jmp 0x4567ae
test al, al
je 0x45676b
cmp al, 6
je 0x45676b
cmp al, 7
jne 0x4567ab
mov eax, edi
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x4566d2
mov edi, esi
lea ecx, [ecx]
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 0x456750
jmp 0x4566d2
mov eax, edi
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x4566d2
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 0x456783
jmp 0x4566d2
mov edi, dword [ebp - 0x78]
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x80]
push edx
push edi
push eax
mov ecx, ebx
call fcn.0041c650
cmp dword [ebx + 0x43b0], 1
mov dword [ebp - 0x6c], 0
jne 0x4567eb
push 1
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.SNR:
call fcn.00401a90
mov ecx, ebx
call fcn.0041a570
push 0x64
call fcn.00559e6f
push 0x64
mov esi, eax
push 0
push esi
mov dword [ebp - 0x88], esi
call fcn.00559f80
mov al, byte [ebx + 0x160]
add esp, 0x10
cmp al, 2
jne 0x456827
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x68]
push esi
push 5
push ecx
push edi
push edx
lea ecx, [ebp - 0x59]
call fcn.0040fd30
jmp 0x456859
cmp al, 1
jne 0x456839
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
push esi
push 5
push eax
push edi
push ecx
jmp 0x456851
test al, al
je 0x456845
cmp al, 6
je 0x456845
cmp al, 7
jne 0x456859
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
push esi
push 5
push edx
push edi
push eax
lea ecx, [ebp - 0x59]
call fcn.004103d0
lea ecx, [ebp - 0x70]
push ecx
call fcn.00404b90
add esp, 4
push str.N_Log_
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0xc
call fcn.00402fd0
mov eax, dword [ebx + 0x4fbc]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x70]
call fcn.00402fd0
mov edx, dword [ebp - 0x70]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x4568b5
push 0
lea ecx, [ebp - 0x70]
call fcn.00401380
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
push eax
push ecx
push edi
push edx
mov ecx, ebx
call fcn.00413ae0
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.SNR_Test
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
fld dword [esi]
fstp dword [ebp - 0xa0]
mov dword [ebp - 0x74], 0
fld dword [esi + 0x30]
fstp dword [ebp - 0xa8]
push 0
push 0x588f0c
lea ecx, [ebp - 0x94]
call fcn.004017e0
xor eax, eax
mov dword [ebp - 0x60], eax
dec eax
cmp eax, 2
ja 0x4569e7
mov edx, dword [ebp - 0x74]
dec edx
cmp edx, 2
ja 0x4569e7
fld dword [esi]
sub esp, 8
fstp qword [esp]
lea eax, [ebp - 0x98]
push str._4.2f_t
push eax
call fcn.00402fb0
fld dword [esi]
fld dword [ebx + 0x6c4]
add esp, 0x10
fcompp
push 0
fnstsw ax
test ah, 0x41
mov eax, dword [ebp - 0x98]
jne 0x4569a0
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x7c], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a570
fld dword [esi]
fld dword [ebx + 0x6c4]
inc dword [ebp - 0x6c]
fsub qword [0x58b650]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4569c5
add dword [ebp - 0x6c], 0xa
jmp 0x4569c5
push 0
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x7c], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a570
fld dword [ebp - 0xa8]
fld dword [esi]
fcompp
fnstsw ax
test ah, 0x41
je 0x456aa2
fld dword [esi]
fstp dword [ebp - 0xa8]
jmp 0x456aa2
fld dword [esi]
sub esp, 8
fstp qword [esp]
lea ecx, [ebp - 0x98]
push str._4.2f_t
push ecx
call fcn.00402fb0
fld dword [esi]
fld dword [ebx + 0x6c8]
add esp, 0x10
fcompp
push 0
fnstsw ax
test ah, 0x41
mov eax, dword [ebp - 0x98]
jne 0x456a64
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x7c], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a570
fld dword [esi]
fld dword [ebx + 0x6c8]
inc dword [ebp - 0x6c]
fsub qword [0x58b650]
fcompp
fnstsw ax
test ah, 0x41
jne 0x456a89
add dword [ebp - 0x6c], 0xa
jmp 0x456a89
push 0
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x7c], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a570
fld dword [ebp - 0xa0]
fld dword [esi]
fcompp
fnstsw ax
test ah, 0x41
je 0x456aa2
fld dword [esi]
fstp dword [ebp - 0xa0]
mov eax, dword [ebp - 0x60]
inc eax
add esi, 4
mov dword [ebp - 0x60], eax
cmp eax, 5
jl 0x45690c
mov eax, dword [ebp - 0x94]
push 1
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x60], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a570
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, 5
jl 0x4568f5
mov edx, dword [ebp - 0x88]
push edx
call fcn.00559984
fld dword [ebp - 0xa0]
xor eax, eax
fstp dword [ebx + 0x2514]
fld dword [ebp - 0xa8]
add esp, 4
cmp dword [ebp - 0x6c], 1
fstp dword [ebx + 0x2510]
mov byte [ebp - 4], 5
setle al
or edx, 0xffffffff
mov dword [ebx + 0x2518], eax
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x456b48
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x30b8], 0
je 0x4571ea
cmp dword [ebp - 0x84], 1
jne 0x4571ea
cmp dword [ebx + 0x23e4], 1
jne 0x4571ea
fld dword [ebx + 0x760]
push ecx
mov ecx, dword [ebx + 0x52c]
fstp dword [esp]
call fcn.00402440
fld dword [ebx + 0xa0c]
call fcn.0055a000
push eax
push 3
mov ecx, ebx
call fcn.004175d0
sub esp, 0x18
lea edx, [ebx + 0x234]
mov ecx, esp
mov dword [ebp - 0x60], esp
push edx
call fcn.00418f80
mov ecx, ebx
call fcn.00445640
push 0
push 3
mov ecx, ebx
call fcn.00416350
cmp eax, 1
jne 0x4571ea
push 0
push eax
mov ecx, ebx
call fcn.00416350
fldz
push ecx
fstp dword [esp]
mov ecx, dword [ebx + 0x52c]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.004175d0
mov edi, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x90]
lea eax, [edi + edi]
push eax
mov eax, dword [ebx + 0x448]
push eax
push esi
call fcn.0055a7a0
add esp, 8
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.SNR_Capture
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x456c59
mov ecx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x78]
mov edx, dword [ebp - 0x80]
push ecx
push edi
push edx
push esi
mov ecx, ebx
call fcn.00413bd0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
push eax
push edi
push ecx
push esi
lea ecx, [ebp - 0x59]
call fcn.0040c100
jmp 0x456dab
cmp al, 1
jne 0x456cc0
mov edx, dword [ebx + 0xa28]
mov ecx, dword [ebx + 0xa2c]
mov edi, dword [ebp - 0x78]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xa30]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xa34]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x64]
push edx
push edi
mov dword [eax + 0xc], ecx
push esi
lea ecx, [ebp - 0x59]
call fcn.0040d160
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x68]
push eax
push esi
push ecx
call fcn.0055a7a0
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x80]
add esp, 0xc
push edx
push edi
push eax
push esi
mov ecx, ebx
call fcn.0041d2f0
jmp 0x456dab
test al, al
je 0x456d66
cmp al, 6
je 0x456d66
cmp al, 7
jne 0x456da8
mov eax, edi
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x456d06
mov edi, esi
jmp 0x456cf0
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 0x456cf0
mov ecx, dword [ebx + 0xa28]
mov edx, dword [ebx + 0xa2c]
mov edi, dword [ebp - 0x78]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa30]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa34]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x64]
push eax
push edi
push esi
lea ecx, [ebp - 0x59]
call fcn.0040d160
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x68]
push ecx
push esi
push edx
call fcn.0055a7a0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x80]
add esp, 0xc
push eax
push edi
push ecx
push esi
mov ecx, ebx
call fcn.0041d2f0
jmp 0x456dab
mov eax, edi
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x456d06
lea ecx, [esi + 2]
mov edi, ecx
lea ebx, [ebx]
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 0x456d80
jmp 0x456d06
mov edi, dword [ebp - 0x78]
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x80]
push edx
push edi
push eax
mov ecx, ebx
call fcn.0041c650
cmp dword [ebx + 0x43b0], 1
mov dword [ebp - 0x6c], 0
jne 0x456de8
push 1
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.STDEV:
call fcn.00401a90
mov ecx, ebx
call fcn.0041a570
push 0x64
call fcn.00559e6f
push 0x64
mov esi, eax
push 0
push esi
mov dword [ebp - 0x7c], esi
call fcn.00559f80
mov al, byte [ebx + 0x160]
add esp, 0x10
cmp al, 2
jne 0x456e21
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x68]
push esi
push 5
push ecx
push edi
push edx
lea ecx, [ebp - 0x59]
call fcn.00410080
jmp 0x456e57
cmp al, 1
jne 0x456e35
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
push 0
push esi
push 5
push eax
push edi
push ecx
jmp 0x456e4f
test al, al
je 0x456e41
cmp al, 6
je 0x456e41
cmp al, 7
jne 0x456e57
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
push 0
push esi
push 5
push edx
push edi
push eax
lea ecx, [ebp - 0x59]
call fcn.00411820
lea ecx, [ebp - 0x70]
push ecx
call fcn.00404b90
add esp, 4
push str.N_Log_
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0xd
call fcn.00402fd0
mov eax, dword [ebx + 0x4fbc]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x70]
call fcn.00402fd0
mov edx, dword [ebp - 0x70]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x456eb3
push 0
lea ecx, [ebp - 0x70]
call fcn.00401380
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
push eax
push ecx
push edi
push edx
mov ecx, ebx
call fcn.00413ae0
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.STD_Test
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
fld dword [esi]
fstp dword [ebp - 0xa8]
mov dword [ebp - 0xa0], 0
fld dword [esi + 0x30]
fstp dword [ebp - 0x88]
push 0
push 0x588f0c
lea ecx, [ebp - 0x94]
call fcn.004017e0
xor eax, eax
mov dword [ebp - 0x60], eax
dec eax
cmp eax, 2
ja 0x456feb
mov edx, dword [ebp - 0xa0]
dec edx
cmp edx, 2
ja 0x456feb
fld dword [esi]
sub esp, 8
fstp qword [esp]
lea eax, [ebp - 0x98]
push str._4.2f_t
push eax
call fcn.00402fb0
fld dword [esi]
fld dword [ebx + 0x764]
add esp, 0x10
fcompp
push 0
fnstsw ax
test ah, 5
mov eax, dword [ebp - 0x98]
jp 0x456fa4
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x74], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a570
fld dword [esi]
fld dword [ebx + 0x764]
inc dword [ebp - 0x6c]
fadd qword [0x58b650]
fcompp
fnstsw ax
test ah, 5
jp 0x456fc9
add dword [ebp - 0x6c], 0xa
jmp 0x456fc9
push 0
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x74], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a570
fld dword [ebp - 0x88]
fld dword [esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x4570a6
fld dword [esi]
fstp dword [ebp - 0x88]
jmp 0x4570a6
fld dword [esi]
sub esp, 8
fstp qword [esp]
lea ecx, [ebp - 0x98]
push str._4.2f_t
push ecx
call fcn.00402fb0
fld dword [esi]
fld dword [ebx + 0x768]
add esp, 0x10
fcompp
push 0
fnstsw ax
test ah, 5
mov eax, dword [ebp - 0x98]
jp 0x457068
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x74], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a570
fld dword [esi]
fld dword [ebx + 0x768]
inc dword [ebp - 0x6c]
fadd qword [0x58b650]
fcompp
fnstsw ax
test ah, 5
jp 0x45708d
add dword [ebp - 0x6c], 0xa
jmp 0x45708d
push 0
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x74], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a570
fld dword [ebp - 0xa8]
fld dword [esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x4570a6
fld dword [esi]
fstp dword [ebp - 0xa8]
mov eax, dword [ebp - 0x60]
inc eax
add esi, 4
mov dword [ebp - 0x60], eax
cmp eax, 5
jl 0x456f0d
mov edi, dword [ebp - 0x94]
push 1
push 0
push 0xffffffffffffffff
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [ebp - 0x60], esp
mov dword [ebp - 0x60], esp
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x4570f4
cmp eax, dword [edi]
jne 0x4570f4
mov dword [ebp - 0x74], edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x45712c
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 - 0x74], eax
test eax, eax
je 0x4571b8
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x74]
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.005598bc
add esp, 0x10
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x60]
add ecx, 0x10
mov dword [edx], ecx
mov ecx, ebx
call fcn.0041a570
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp eax, 5
jl 0x456ef6
mov eax, dword [ebp - 0x7c]
push eax
call fcn.00559984
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x68]
add esp, 4
push ecx
push edx
lea ecx, [ebp - 0x59]
call fcn.0040cd30
fstp dword [ebx + 0x2524]
cmp dword [ebp - 0x6c], 0
fld dword [ebp - 0xa8]
fstp dword [ebx + 0x2520]
fld dword [ebp - 0x88]
fstp dword [ebx + 0x251c]
jg 0x4571bd
fld dword [ebx + 0x2524]
fld dword [ebx + 0x76c]
fcompp
fnstsw ax
test ah, 5
jnp 0x4571bd
mov dword [ebx + 0x2528], 1
jmp 0x4571c7
call fcn.00401170
mov dword [ebx + 0x2528], 0
mov eax, dword [ebp - 0x70]
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 0x4571ea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x30d0], 0
mov esi, dword [ebp - 0x84]
mov edi, 1
je 0x457231
cmp esi, edi
jne 0x457231
cmp dword [ebx + 0x23e4], edi
jne 0x457231
lea ecx, [ebx + 0x294c]
push ecx
mov ecx, ebx
call fcn.00449d80
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.Blooming
mov esi, eax
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
cmp dword [ebx + 0x30cc], 0
je 0x45726c
cmp esi, edi
jne 0x45726c
cmp dword [ebx + 0x23e4], edi
jne 0x45726c
mov ecx, ebx
call fcn.0044aeb0
push ecx
mov esi, eax
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.bHighLightTest1
mov dword [ebx + 0x25d0], esi
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
cmp dword [ebx + 0x30d4], 0
je 0x4572a5
cmp esi, edi
jne 0x4572a5
cmp dword [ebx + 0x23e4], edi
jne 0x4572a5
mov ecx, ebx
call fcn.0044a3a0
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.HighLightTest2
mov dword [ebx + 0x25fc], eax
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
push 0
mov ecx, ebx
call fcn.00415f70
cmp dword [ebx + 0x309c], 0
mov dword [ebp - 0x84], eax
je 0x45741c
mov edx, dword [ebx + 0x43b8]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
push 0x588f0c
lea ecx, [ebp - 0x74]
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], 0xe
cmp dword [ebx + 0x43b0], edi
jne 0x457318
push edi
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.Current:
call fcn.00401a90
mov ecx, ebx
call fcn.0041a570
mov ecx, dword [ebx + 0x52c]
lea eax, [ebp - 0x24]
push eax
call fcn.00402aa0
fild dword [ebp - 0x24]
fld qword [0x5890f0]
sub esp, 0x30
lea ecx, [ebp - 0x74]
fdiv st(1), st(0)
fxch st(1)
fstp dword [ebx + 0x2530]
fild dword [ebp - 0x20]
fdiv st(1)
fstp dword [ebx + 0x2534]
fild dword [ebp - 0x1c]
fdiv st(1)
fstp dword [ebx + 0x2538]
fild dword [ebp - 0x18]
fdiv st(1)
fstp dword [ebx + 0x253c]
fidivr dword [ebp - 0x14]
fstp dword [ebx + 0x2540]
fld dword [ebx + 0x2534]
fadd dword [ebx + 0x2530]
fadd dword [ebx + 0x2538]
fstp dword [ebp - 0x60]
fld dword [ebp - 0x60]
fst dword [ebx + 0x2544]
fstp qword [esp + 0x28]
fld dword [ebx + 0x2540]
fstp qword [esp + 0x20]
fld dword [ebx + 0x253c]
fstp qword [esp + 0x18]
fld dword [ebx + 0x2538]
fstp qword [esp + 0x10]
fld dword [ebx + 0x2534]
fstp qword [esp + 8]
fld dword [ebx + 0x2530]
fstp qword [esp]
push 0x58ef54
push ecx
call fcn.00402fb0
add esp, 0x38
cmp dword [ebx + 0x43b0], edi
jne 0x4573f9
mov eax, dword [ebp - 0x74]
push edi
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x60], esp
mov esi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041a570
mov eax, dword [ebp - 0x74]
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 0x45741c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x30dc], edi
je 0x457435
cmp dword [ebx + 0x30a0], edi
jne 0x4580a5
mov edi, 1
cmp dword [ebp - 0x84], edi
jne 0x4580a5
cmp dword [ebx + 0x23e4], 1
jne 0x4580a5
fldz
push ecx
mov ecx, dword [ebx + 0x52c]
fstp dword [esp]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.004175d0
mov eax, dword [ebx + 0x204]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0x60], esp
mov esi, esp
push eax
call fcn.004013e0
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.00445640
fld dword [0x58b63c]
mov dword [ebp - 0x88], 0
fstp dword [ebx + 0x250c]
fld dword [0x58ef50]
fcomp dword [ebx + 0x250c]
fnstsw ax
test ah, 5
jp 0x4576fb
xor esi, esi
lea edi, [ebx + 0x488]
push edi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x60], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x478], esi
je 0x457524
mov ecx, dword [ebx + 0x444]
mov eax, dword [ebx + 0x448]
mov dword [ebx + 0x448], ecx
mov dword [ebx + 0x444], eax
mov esi, 1
push edi
mov dword [ebx + 0x478], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x4576da
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x457580
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebx + 0x448]
mov esi, dword [ebp - 0x90]
add eax, eax
push eax
push edx
push esi
call fcn.0055a7a0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x68]
add esp, 0xc
push eax
push ecx
push edx
push esi
lea ecx, [ebp - 0x59]
call fcn.0040c100
jmp 0x45768b
cmp al, 1
je 0x457632
test al, al
je 0x4575d6
cmp al, 6
je 0x4575d6
cmp al, 7
jne 0x45768b
mov eax, dword [ebp - 0x9c]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x457632
xor edi, edi
nop
mov esi, dword [ebx + 0x448]
movzx edx, byte [edi + esi]
mov byte [esi + ecx*2], dl
mov esi, dword [ebx + 0x448]
movzx edx, byte [edi + esi + 1]
mov byte [esi + ecx*2 + 1], dl
inc ecx
add edi, 3
cmp ecx, eax
jl 0x4575b0
jmp 0x457632
mov eax, dword [ebp - 0x9c]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x457632
xor esi, esi
lea ecx, [ecx]
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x4575f0
mov ecx, dword [ebx + 0xa28]
mov edx, dword [ebx + 0xa2c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa30]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa34]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x78]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x64]
mov edx, dword [ebx + 0x448]
push eax
push ecx
push edx
lea ecx, [ebp - 0x59]
call fcn.0040d160
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x448]
mov edx, dword [ebp - 0x68]
push eax
push ecx
push edx
call fcn.0055a7a0
add esp, 0xc
mov eax, dword [ebp - 0x9c]
cdq
and edx, 3
lea ecx, [edx + eax]
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar ecx, 2
sar eax, 2
cmp ecx, eax
jge 0x4576ce
mov esi, dword [ebp - 0x68]
mov edx, eax
sub edx, ecx
mov dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x74]
jmp 0x4576c0
movzx edi, byte [ecx + esi]
inc ecx
add edx, edi
cmp ecx, eax
jl 0x4576c0
mov dword [ebp - 0x74], edx
fild dword [ebp - 0x74]
fidiv dword [ebp - 0x60]
fstp dword [ebx + 0x250c]
mov esi, dword [ebp - 0x88]
inc esi
push 0xa
mov dword [ebp - 0x88], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x4574d3
xor eax, eax
push eax
push 4
mov ecx, ebx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x7c], eax
call fcn.00416350
mov dword [ebp - 0xa8], eax
jmp 0x457720
cmp dword [ebp - 0x7c], 0
mov esi, 0x186a0
jne 0x457ec4
cmp dword [ebp - 0xa8], 1
jne 0x457ec4
mov eax, dword [ebx + 0x43d4]
inc dword [ebp - 0x88]
push 0
push eax
mov ecx, ebx
call fcn.00416350
cmp eax, 1
jne 0x457e93
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45776f
mov ecx, dword [ebp - 0x9c]
add ecx, ecx
jmp 0x457785
cmp al, 1
je 0x45777f
test al, al
je 0x45777f
cmp al, 6
je 0x45777f
cmp al, 7
jne 0x45778b
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x8c], ecx
cmp al, 2
jne 0x457847
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x78]
mov edx, dword [ebp - 0x80]
mov eax, dword [ebx + 0x448]
push edi
push esi
push edx
push eax
lea ecx, [ebp - 0x59]
call fcn.0040c580
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebx + 0x448]
push edi
push esi
push ecx
push edx
lea ecx, [ebp - 0x59]
call fcn.0040c100
fld dword [ebx + 0x6f4]
mov eax, dword [ebx + 0x614]
mov edx, dword [ebp - 0x68]
push eax
push ecx
fstp dword [esp]
push 1
lea ecx, [ebx + 0x2474]
push ecx
push edi
push esi
push edx
mov ecx, ebx
call fcn.00432390
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x80]
push 1
push eax
mov ecx, ebx
call fcn.00419aa0
mov esi, dword [ebx + 0x2ea0]
test esi, esi
je 0x457814
push esi
mov esi, dword [esi + 0x1c]
call fcn.00459eb3
add esp, 4
test esi, esi
jne 0x457804
mov esi, dword [ebx + 0x2ea4]
test esi, esi
je 0x457830
mov edi, edi
push esi
mov esi, dword [esi + 0x1c]
call fcn.00459eb3
add esp, 4
test esi, esi
jne 0x457820
fldz
fstp dword [ebx + 0x25c0]
mov dword [ebx + 0x25bc], 0xffffffff
jmp 0x457dfa
cmp al, 1
je 0x45785b
test al, al
je 0x457863
cmp al, 6
je 0x45785b
cmp al, 7
jne 0x457dfa
test al, al
je 0x457863
cmp al, 6
jne 0x4578dc
mov eax, dword [ebp - 0x9c]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x4578c2
xor esi, esi
lea ebx, [ebx]
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x457880
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x448]
mov edx, dword [ebp - 0x68]
push eax
push ecx
push edx
call fcn.0055a7a0
add esp, 0xc
cmp byte [ebx + 0x160], 7
jne 0x45793e
mov eax, dword [ebp - 0x9c]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x457924
xor esi, esi
jmp 0x457900
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi]
mov byte [edi + ecx*2], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 1]
mov byte [edi + ecx*2 + 1], dl
inc ecx
add esi, 3
cmp ecx, eax
jl 0x457900
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x448]
mov edx, dword [ebp - 0x68]
push eax
push ecx
push edx
call fcn.0055a7a0
add esp, 0xc
mov ecx, dword [ebx + 0xa28]
mov edx, dword [ebx + 0xa2c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa30]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa34]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x78]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x64]
mov edx, dword [ebx + 0x448]
push eax
push ecx
push edx
lea ecx, [ebp - 0x59]
call fcn.0040d160
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x448]
mov edx, dword [ebp - 0x68]
push eax
push ecx
push edx
call fcn.0055a7a0
lea eax, [ebp - 0x70]
push eax
call fcn.00404b90
add esp, 0x10
push 8
push str.DB_Log_
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0xf
call fcn.00401720
mov eax, dword [ebx + 0x4fbc]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.00401720
push 4
push str..png
lea ecx, [ebp - 0x70]
call fcn.00401720
mov edx, dword [ebp - 0x70]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x4579f4
push 0
lea ecx, [ebp - 0x70]
call fcn.00401380
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x78]
push ecx
push edi
push esi
push edx
mov ecx, ebx
call fcn.00413ae0
mov edx, dword [ebp - 0x80]
mov eax, dword [ebx + 0x448]
push edi
push esi
push edx
push eax
mov ecx, ebx
call fcn.0041d2f0
mov ecx, dword [ebp - 0x80]
push edi
push esi
push ecx
mov ecx, ebx
call fcn.0041c650
fld dword [ebx + 0x6f4]
mov edx, dword [ebx + 0x638]
push edx
sub esp, 0x28
fstp dword [esp + 0x24]
mov edi, esp
sub esp, 0x24
lea esi, [ebx + 0x5f4]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebx + 0x618]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x68]
lea eax, [ebx + 0x2474]
push eax
push edi
push esi
push ecx
mov ecx, ebx
call fcn.004459c0
mov edx, dword [ebp - 0x80]
push edi
push esi
push edx
mov ecx, ebx
mov dword [ebp - 0x7c], eax
call fcn.0043fea0
push 1
fstp dword [ebx + 0x2d98]
push 0
push 0xffffffffffffffff
push ecx
mov eax, esp
mov dword [ebp - 0x74], esp
push eax
mov ecx, ebx
call fcn.0043cd70
mov ecx, ebx
call fcn.0041a570
cmp dword [ebp - 0x7c], 1
jne 0x457ad0
mov ecx, dword [ebx + 0xf68]
push ecx
lea edx, [ebx + 0x2914]
push edx
mov eax, edi
mov edi, dword [ebp - 0x68]
push eax
mov ecx, esi
push ecx
push edi
mov ecx, ebx
call fcn.0043e940
jmp 0x457ad3
mov edi, dword [ebp - 0x68]
push 1
push 0
push 0xffffffffffffffff
push ecx
mov edx, esp
mov dword [ebp - 0x74], esp
push edx
mov ecx, ebx
call fcn.0043cd70
mov ecx, ebx
call fcn.0041a570
mov eax, dword [ebp - 0x80]
push 1
push eax
mov ecx, ebx
call fcn.00419aa0
mov esi, dword [ebx + 0x2ea0]
test esi, esi
je 0x457b15
push esi
mov esi, dword [esi + 0x1c]
call fcn.00459eb3
add esp, 4
test esi, esi
jne 0x457b05
mov esi, dword [ebx + 0x2ea4]
test esi, esi
je 0x457b30
nop
push esi
mov esi, dword [esi + 0x1c]
call fcn.00459eb3
add esp, 4
test esi, esi
jne 0x457b20
cmp dword [ebp - 0x7c], 1
jne 0x457b61
fld dword [ebx + 0x6f0]
mov eax, dword [ebp - 0x64]
push ecx
fstp dword [esp]
lea ecx, [ebx + 0x25c0]
push ecx
mov ecx, dword [ebp - 0x78]
lea edx, [ebx + 0x25bc]
push edx
push eax
push ecx
push edi
mov ecx, ebx
call fcn.004165b0
mov dword [ebp - 0x7c], eax
cmp dword [ebx + 0x25bc], 0
jle 0x457be0
push 0x588f0c
lea ecx, [ebp - 0x60]
call fcn.00401a90
mov edx, dword [ebx + 0x25bc]
push edx
lea eax, [ebp - 0x60]
push str.Band:_d
push eax
mov byte [ebp - 4], 0x10
call fcn.00402fb0
mov eax, dword [ebp - 0x60]
add esp, 0xc
push 1
push 0xff
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x74], esp
mov esi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041a570
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xf
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x457be0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, 1
cmp dword [ebx + 0x23e4], esi
jne 0x457dbd
xor eax, eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x74], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x457c70
mov ecx, dword [ebx + 0xe80]
fld dword [ebx + 0x7d4]
mov edx, dword [ebx + 0xe84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xe88]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xe8c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2674]
push eax
lea ecx, [ebx + 0x266c]
push ecx
mov ecx, dword [ebp - 0x64]
lea edx, [ebp - 0x74]
push edx
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0xa0]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7d0]
fstp dword [esp]
push ecx
push edx
push edi
lea ecx, [ebp - 0x59]
call fcn.00410210
jmp 0x457ce8
cmp al, 1
je 0x457c80
test al, al
je 0x457c80
cmp al, 6
je 0x457c80
cmp al, 7
jne 0x457ce8
mov ecx, dword [ebx + 0xe80]
fld dword [ebx + 0x7d4]
mov edx, dword [ebx + 0xe84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xe88]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xe8c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2674]
push eax
lea ecx, [ebx + 0x266c]
push ecx
mov ecx, dword [ebp - 0x64]
lea edx, [ebp - 0x74]
push edx
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0xa0]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7d0]
fstp dword [esp]
push ecx
push edx
push edi
lea ecx, [ebp - 0x59]
call fcn.00411e60
mov eax, dword [ebp - 0xa0]
or ecx, 0xffffffff
cmp dword [ebx + 0x2668], ecx
jne 0x457cff
mov dword [ebx + 0x2668], eax
cmp dword [ebx + 0x2670], ecx
jne 0x457d10
mov edx, dword [ebp - 0x74]
mov dword [ebx + 0x2670], edx
cmp eax, ecx
je 0x457d64
push eax
lea eax, [ebp - 0x94]
push str.HFPN_Dark:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x43b0], esi
jne 0x457d64
mov eax, dword [ebp - 0x94]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xa4], esp
mov esi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041a570
mov eax, dword [ebp - 0x74]
cmp eax, 0xffffffff
je 0x457dbd
push eax
lea ecx, [ebp - 0x94]
push str.VFPN_Dark:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x43b0], 1
jne 0x457dbd
mov eax, dword [ebp - 0x94]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xa4], esp
mov esi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041a570
push ecx
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0x58ce0c
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
mov eax, dword [ebp - 0x70]
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 0x457dfa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x6c]
push ecx
call fcn.00404b90
add esp, 4
push 8
push str.DE_Log_
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x11
call fcn.00401720
mov eax, dword [ebx + 0x4fbc]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00401720
push 4
push str..png
lea ecx, [ebp - 0x6c]
call fcn.00401720
mov edx, dword [ebp - 0x6c]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x457e5a
push 0
lea ecx, [ebp - 0x6c]
call fcn.00401380
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x78]
push ecx
push eax
push edx
mov ecx, ebx
call fcn.00413ae0
mov eax, dword [ebp - 0x6c]
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 0x457eb7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x457eb7
mov dword [ebx + 0x2478], esi
mov dword [ebx + 0x2488], esi
mov dword [ebx + 0x2474], esi
mov dword [ebx + 0x2484], esi
mov dword [ebx + 0x247c], esi
mov dword [ebx + 0x248c], esi
cmp dword [ebp - 0x88], 1
jl 0x457720
mov esi, 1
cmp dword [ebx + 0x30dc], esi
jne 0x457ede
mov ecx, ebx
call fcn.0044cbd0
fstp dword [ebx + 0x290c]
cmp dword [ebx + 0x30e0], esi
jne 0x457ef3
mov ecx, ebx
call fcn.0044b940
fstp dword [ebx + 0x2910]
cmp dword [ebx + 0x30e4], 0
je 0x457fcc
lea esi, [ebx + 0xe00]
mov ecx, 0xa
lea edi, [ebp - 0x38]
rep movsd dword es:[edi], dword [esi]
fld dword [ebp - 0x34]
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebx + 0x414]
sub esp, 0x20
sub eax, 0x10
mov dword [ebp - 0xa4], esp
fstp dword [esp + 0x1c]
mov esi, esp
fld dword [ebp - 0x38]
fstp dword [esp + 0x18]
push eax
call fcn.004013e0
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [ebx + 0x418]
mov dword [esi + 4], ecx
mov edx, dword [ebx + 0x41c]
mov dword [esi + 8], edx
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 + 0xa1c]
fstp dword [esp]
push 1
call fcn.0044de70
fstp st(0)
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov dword [ebx + 0x2d9c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0x2da0], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebx + 0x2da4], edx
mov edx, dword [ebp - 0x14]
mov dword [ebx + 0x2da8], eax
mov dword [ebx + 0x2dac], ecx
mov dword [ebx + 0x2db0], edx
cmp dword [ebx + 0x30e8], 0
je 0x4580a5
lea esi, [ebx + 0xe28]
mov ecx, 0xa
lea edi, [ebp - 0x38]
rep movsd dword es:[edi], dword [esi]
fld dword [ebp - 0x34]
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebx + 0x42c]
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 0x24]
push edx
sub esp, 0x20
sub eax, 0x10
mov dword [ebp - 0xa4], esp
fstp dword [esp + 0x1c]
mov esi, esp
fld dword [ebp - 0x38]
fstp dword [esp + 0x18]
push eax
call fcn.004013e0
add eax, 0x10
mov dword [esi], eax
mov eax, dword [ebx + 0x430]
mov dword [esi + 4], eax
mov ecx, dword [ebx + 0x434]
mov dword [esi + 8], ecx
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 + 0xa20]
fstp dword [esp]
push 2
call fcn.0044de70
fstp st(0)
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov dword [ebx + 0x2db4], edx
mov edx, dword [ebp - 0x1c]
mov dword [ebx + 0x2db8], eax
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x2dbc], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebx + 0x2dc0], edx
mov dword [ebx + 0x2dc4], eax
mov dword [ebx + 0x2dc8], ecx
cmp dword [ebx + 0x30c0], 0
jne 0x4580bb
cmp dword [ebx + 0x30c4], 0
je 0x4584b3
mov eax, 1
cmp dword [ebp - 0x84], eax
jne 0x4587c9
cmp dword [ebx + 0x23e4], eax
jne 0x4587c9
mov eax, dword [ebx + 0x294]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0xa4], esp
mov esi, esp
push eax
call fcn.004013e0
add eax, 0x10
mov dword [esi], eax
mov edx, dword [ebx + 0x298]
mov dword [esi + 4], edx
mov eax, dword [ebx + 0x29c]
mov dword [esi + 8], eax
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.00445640
fldz
push ecx
mov ecx, dword [ebx + 0x52c]
fstp dword [esp]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.004175d0
fld dword [0x58b63c]
push 0
fstp dword [ebx + 0x250c]
push 5
mov ecx, ebx
mov dword [ebp - 0xa0], 0
call fcn.00416350
jmp 0x458170
fld dword [0x58ef50]
mov esi, dword [ebp - 0x78]
fcomp dword [ebx + 0x250c]
mov edi, dword [ebp - 0x64]
fnstsw ax
test ah, 5
jp 0x4583a1
xor esi, esi
lea edi, [ebx + 0x488]
push edi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x74], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x478], esi
je 0x4581c7
mov ecx, dword [ebx + 0x444]
mov eax, dword [ebx + 0x448]
mov dword [ebx + 0x448], ecx
mov dword [ebx + 0x444], eax
mov esi, 1
push edi
mov dword [ebx + 0x478], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x45837a
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x458223
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebx + 0x448]
mov esi, dword [ebp - 0x90]
add eax, eax
push eax
push edx
push esi
call fcn.0055a7a0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x68]
add esp, 0xc
push eax
push ecx
push edx
push esi
lea ecx, [ebp - 0x59]
call fcn.0040c100
jmp 0x45832b
cmp al, 1
je 0x4582d2
test al, al
je 0x458278
cmp al, 6
je 0x458278
cmp al, 7
jne 0x45832b
mov eax, dword [ebp - 0x9c]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x4582d2
xor edi, edi
mov esi, dword [ebx + 0x448]
movzx edx, byte [esi + edi]
mov byte [esi + ecx*2], dl
mov esi, dword [ebx + 0x448]
movzx edx, byte [esi + edi + 1]
mov byte [esi + ecx*2 + 1], dl
inc ecx
add edi, 3
cmp ecx, eax
jl 0x458252
jmp 0x4582d2
mov eax, dword [ebp - 0x9c]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x4582d2
xor esi, esi
nop
mov edi, dword [ebx + 0x448]
movzx edx, byte [edi + esi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [edi + esi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x448]
movzx edx, byte [edi + esi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x458290
mov ecx, dword [ebx + 0xa28]
mov edx, dword [ebx + 0xa2c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa30]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa34]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x78]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x64]
mov edx, dword [ebx + 0x448]
push eax
push ecx
push edx
lea ecx, [ebp - 0x59]
call fcn.0040d160
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x448]
mov edx, dword [ebp - 0x68]
push eax
push ecx
push edx
call fcn.0055a7a0
add esp, 0xc
mov eax, dword [ebp - 0x9c]
cdq
and edx, 3
lea ecx, [edx + eax]
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar ecx, 2
sar eax, 2
cmp ecx, eax
jge 0x45836e
mov esi, dword [ebp - 0x68]
mov edx, eax
sub edx, ecx
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 0x60]
jmp 0x458360
movzx edi, byte [ecx + esi]
inc ecx
add edx, edi
cmp ecx, eax
jl 0x458360
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
fidiv dword [ebp - 0x74]
fstp dword [ebx + 0x250c]
mov esi, dword [ebp - 0xa0]
inc esi
push 0xa
mov dword [ebp - 0xa0], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x458170
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x78]
push 0
push 1
mov ecx, ebx
call fcn.00416350
cmp eax, 1
jne 0x4587b2
cmp byte [ebx + 0x160], 2
jne 0x458422
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebx + 0x448]
push edi
push esi
push eax
push ecx
lea ecx, [ebp - 0x59]
call fcn.0040c580
mov edx, dword [ebp - 0x68]
mov eax, dword [ebx + 0x448]
push edi
push esi
push edx
push eax
lea ecx, [ebp - 0x59]
call fcn.0040c100
cmp dword [ebx + 0x30c0], 0
je 0x458405
mov ecx, dword [ebp - 0x68]
push edi
push esi
push ecx
lea ecx, [ebp - 0x59]
call fcn.0040f180
fstp dword [ebx + 0x25c4]
cmp dword [ebx + 0x30c4], 0
je 0x458422
mov edx, dword [ebp - 0x68]
push edi
push esi
push edx
lea ecx, [ebp - 0x59]
call fcn.0040f0a0
fstp dword [ebx + 0x25c8]
lea eax, [ebp - 0x70]
push eax
call fcn.00404b90
add esp, 4
push 0xc
push str.D_RowN_Log_
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x12
call fcn.00401720
mov eax, dword [ebx + 0x4fbc]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.00401720
push 4
push str..png
lea ecx, [ebp - 0x70]
call fcn.00401720
mov edx, dword [ebp - 0x70]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x458482
push 0
lea ecx, [ebp - 0x70]
call fcn.00401380
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x68]
push ecx
push edi
push esi
push edx
mov ecx, ebx
call fcn.00413ae0
mov eax, dword [ebp - 0x70]
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 0x4584b3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, 1
mov esi, dword [ebp - 0x84]
cmp dword [ebx + 0x30ec], edi
jne 0x4584d9
cmp esi, edi
jne 0x4584d9
cmp dword [ebx + 0x23e4], edi
jne 0x4584d9
mov ecx, ebx
call fcn.00448bf0
cmp dword [ebx + 0x30fc], edi
jne 0x4584f4
cmp esi, edi
jne 0x4584f4
cmp dword [ebx + 0x23e4], edi
jne 0x4584f4
mov ecx, ebx
call fcn.004478b0
cmp dword [ebx + 0x3100], 0
je 0x45858f
cmp esi, edi
jne 0x45858f
cmp dword [ebx + 0x23e4], edi
jne 0x45858f
cmp dword [ebx + 0x43e0], 0
jle 0x45855c
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ecx, dword [ebx + 0x43e0]
mov edi, dword [ebp - 0xac]
imul ecx, ecx, 0x3e8
sub eax, edi
cmp eax, ecx
jae 0x45855c
lea ebx, [ebx]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
call esi
mov edx, dword [ebx + 0x43e0]
imul edx, edx, 0x3e8
sub eax, edi
cmp eax, edx
jb 0x458540
lea eax, [ebx + 0x2964]
push eax
mov ecx, ebx
call fcn.004536b0
push ecx
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0x58c05c
mov dword [ebp - 0x84], eax
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
mov edi, 1
cmp dword [ebx + 0x30a0], 0
je 0x4585cf
cmp dword [ebp - 0x84], edi
jne 0x4585cf
cmp dword [ebx + 0x23e4], edi
jne 0x4585cf
mov ecx, ebx
call fcn.004485f0
push ecx
mov ecx, esp
mov dword [ebp - 0xa4], esp
push str.DarkTest2
mov dword [ebp - 0x84], eax
call fcn.00401a90
mov ecx, ebx
call fcn.00445e10
cmp dword [ebx + 0x3088], edi
je 0x4585e3
cmp dword [ebx + 0x308c], edi
jne 0x458740
mov ecx, dword [ebp - 0xb4]
push 0
push ecx
mov ecx, ebx
call fcn.00419aa0
cmp dword [ebx + 0x3088], 0
je 0x458700
mov esi, dword [ebx + 0x2e80]
test esi, esi
je 0x458620
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00459eb3
add esp, 4
test esi, esi
jne 0x458610
mov esi, dword [ebx + 0x2e84]
test esi, esi
je 0x458640
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00459eb3
add esp, 4
test esi, esi
jne 0x458630
mov esi, dword [ebx + 0x2e98]
test esi, esi
je 0x458660
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00459eb3
add esp, 4
test esi, esi
jne 0x458650
mov esi, dword [ebx + 0x2e9c]
test esi, esi
je 0x458680
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00459eb3
add esp, 4
test esi, esi
jne 0x458670
mov esi, dword [ebx + 0x2e90]
test esi, esi
je 0x4586a0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00459eb3
add esp, 4
test esi, esi
jne 0x458690
mov esi, dword [ebx + 0x2e94]
test esi, esi
je 0x4586c0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00459eb3
add esp, 4
test esi, esi
jne 0x4586b0
mov esi, dword [ebx + 0x2e88]
test esi, esi
je 0x4586e0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00459eb3
add esp, 4
test esi, esi
jne 0x4586d0
mov esi, dword [ebx + 0x2e8c]
test esi, esi
je 0x458700
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00459eb3
add esp, 4
test esi, esi
jne 0x4586f0
cmp dword [ebx + 0x308c], 0
je 0x458740
mov esi, dword [ebx + 0x2ea8]
test esi, esi
je 0x458723
push esi
mov esi, dword [esi + 0x1c]
call fcn.00459eb3
add esp, 4
test esi, esi
jne 0x458713
mov esi, dword [ebx + 0x2eac]
test esi, esi
je 0x458740
lea ecx, [ecx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00459eb3
add esp, 4
test esi, esi
jne 0x458730
mov edx, dword [ebp - 0x68]
push edx
call fcn.00559984
mov eax, dword [ebp - 0x80]
push eax
call fcn.00559984
mov eax, dword [ebp - 0x94]
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 0x45877b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x98]
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 0x4587a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x59]
mov dword [ebp - 4], 0xffffffff
call fcn.00417740
jmp 0x458830
fld dword [0x58d3e4]
fst dword [ebx + 0x25c4]
fstp dword [ebx + 0x25c8]
jmp 0x4584b3
mov edi, eax
jmp 0x4584b8
push 1
push 0xff
push 0x12c
push ecx
mov ecx, esp
mov dword [ebp - 0xa4], esp
push str.Capture_Image_Fail
call fcn.00401a90
mov ecx, ebx
call fcn.0041a570
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0xa4], esp
push str.FALI
mov dword [ebx + 0x23e4], 0
call fcn.00401a90
push 0
push 0xff
push 0x3ed
mov ecx, ebx
call fcn.00418e80
mov edi, 1
cmp dword [ebx + 0x30a8], edi
jne 0x45884f
cmp dword [ebp - 0x84], edi
jne 0x45884f
mov ecx, ebx
call fcn.00417de0
mov dword [ebx + 0x2560], eax
jmp 0x458859
mov dword [ebx + 0x2560], 0
cmp dword [ebx + 0x404], 0
jle 0x4588b8
mov eax, dword [ebx + 0x3fc]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0xa4], esp
mov esi, esp
push eax
call fcn.004013e0
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.00445640
mov ecx, ebx
call fcn.0041cad0
xor esi, esi
mov ecx, ebx
call fcn.00445b20
mov ecx, ebx
call fcn.00445f20
mov eax, dword [ebp - 0x90]
push eax
call fcn.00559984
add esp, 4
cmp dword [ebx + 0x4dd8], 3
jne 0x458951
cmp dword [ebx + 0x30b4], 1
jne 0x458951
push 0x588f0c
lea ecx, [ebp - 0x60]
call fcn.00401a90
mov ecx, dword [ebx + 0x23f0]
push ecx
lea edx, [ebp - 0x60]
push str.RESULT__d_e46a_r
push edx
mov dword [ebp - 4], 0x13
call fcn.00402fb0
mov eax, dword [ebp - 0x60]
add esp, 0xc
push eax
lea ecx, [ebx + 0x4e28]
call fcn.00404f70
mov eax, dword [ebp - 0x60]
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 0x458951
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x588f0c
lea ecx, [ebp - 0xc0]
call fcn.00401a90
fld dword [ebx + 0x2524]
sub esp, 8
fstp qword [esp]
lea ecx, [ebp - 0xc0]
push str._4.4f
push ecx
mov dword [ebp - 4], 0x14
call fcn.00402fb0
mov eax, dword [ebp - 0xc0]
add esp, 0x10
push 1
push esi
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xa4], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a570
push 1
push esi
push 0xffffffffffffffff
push ecx
mov edx, esp
mov dword [ebp - 0xa4], esp
push edx
mov ecx, ebx
call fcn.0043cd70
mov ecx, ebx
call fcn.0041a570
push 0x588f0c
lea ecx, [ebp - 0xbc]
call fcn.00401a90
mov eax, dword [ebx + 0x23f0]
movzx ecx, byte [ebx + 0x43e4]
push eax
push ecx
lea edx, [ebp - 0xbc]
push str._d_d
push edx
mov byte [ebp - 4], 0x15
call fcn.00402fb0
mov eax, dword [ebp - 0xbc]
add esp, 0x10
push 1
push esi
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xa4], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a570
push 1
push esi
push 0x64
push ecx
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0x58eec0
call fcn.00401a90
mov ecx, ebx
call fcn.0041a570
lea eax, [ebp - 0x58]
mov dword [ebx + 0x474], esi
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx edx, word [ebp - 0x40]
movzx ecx, word [ebp - 0x50]
movzx eax, word [ebp - 0x4e]
sub ecx, edx
movzx edx, word [ebp - 0x4c]
mov dword [ebp - 0xac], ecx
movzx ecx, word [ebp - 0x3e]
fild dword [ebp - 0xac]
sub eax, ecx
movzx ecx, word [ebp - 0x3a]
fmul qword [0x58be00]
mov dword [ebp - 0xac], eax
movzx eax, word [ebp - 0x3c]
fild dword [ebp - 0xac]
sub edx, eax
mov dword [ebp - 0xac], edx
fmul qword [0x58eeb8]
movzx edx, word [ebp - 0x4a]
faddp st(1)
sub edx, ecx
push 0x588f0c
lea ecx, [ebp - 0xb8]
fiadd dword [ebp - 0xac]
mov dword [ebp - 0xac], edx
fild dword [ebp - 0xac]
fdiv qword [0x588f40]
faddp st(1)
fstp dword [ebp - 0xac]
call fcn.00401a90
lea eax, [ebx + 0x4a0]
push eax
mov byte [ebp - 4], 0x16
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
fld dword [ebp - 0xac]
sub esp, 8
fstp qword [esp]
lea eax, [ebp - 0xb8]
push str.TestTime:__4.4f_s
push eax
call fcn.00402fb0
mov eax, dword [ebp - 0xb8]
add esp, 0x10
push 1
push esi
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xa4], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a570
cmp dword [ebx + 0x23f0], esi
jne 0x458b86
mov eax, dword [ebx + 0x2eb0]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa4], esp
mov edi, esp
push eax
call fcn.004013e0
add esp, 4
push esi
push 0xff00
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00418e80
cmp dword [ebx + 0x23f0], 1
jne 0x458bc6
mov eax, dword [ebx + 0x2eb0]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa4], esp
mov edi, esp
push eax
call fcn.004013e0
add esp, 4
push esi
push 0xff0000
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00418e80
cmp dword [ebx + 0x23f0], 2
jne 0x458c0d
mov eax, dword [ebx + 0x2eb0]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa4], esp
mov edi, esp
push eax
call fcn.004013e0
add esp, 4
push esi
push 0xffff
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00418e80
cmp dword [ebx + 0x23f0], 2
jle 0x458c46
mov eax, dword [ebx + 0x2eb0]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa4], esp
mov edi, esp
push eax
call fcn.004013e0
add esp, 4
push esi
push 0xff
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00418e80
push 1
push 0x3e8
mov ecx, ebx
call fcn.0046688f
mov ecx, eax
call fcn.00466ab2
mov eax, dword [ebx + 0x2eb0]
push 1
push esi
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov dword [ebp - 0xa4], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a570
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.00559984
add esp, 4
cmp dword [ebx + 0x3104], esi
je 0x458d02
mov eax, dword [ebx + 0x23bc]
cmp eax, esi
je 0x458cb7
push eax
call fcn.00559984
add esp, 4
mov dword [ebx + 0x23bc], esi
mov eax, dword [ebx + 0x23c0]
cmp eax, esi
je 0x458cd0
push eax
call fcn.00559984
add esp, 4
mov dword [ebx + 0x23c0], esi
mov eax, dword [ebx + 0x23c4]
cmp eax, esi
je 0x458ce9
push eax
call fcn.00559984
add esp, 4
mov dword [ebx + 0x23c4], esi
mov eax, dword [ebx + 0x23c8]
cmp eax, esi
je 0x458d02
push eax
call fcn.00559984
add esp, 4
mov dword [ebx + 0x23c8], esi
push 2
push 3
mov ecx, ebx
call fcn.004175d0
push esi
mov dword [ebx + 0x4fb4], 1
push 0x3e8
mov dword [ebx + 0x4fb8], esi
mov edx, dword [ebx + 0x20]
push 3
push edx
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [ebp - 0xb8]
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 0x458d55
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], 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x458d7b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xc0]
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 0x458da4
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.00559da2
mov esp, ebp
pop ebp
ret