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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x584794
mov eax, dword fs:[0]
push eax
sub esp, 0x18c
mov eax, dword [0x5e9eac]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov edi, 1
xor esi, esi
cmp dword [ebx + 0x5084], edi
jne 0x45cb7c
push esi
lea ecx, [ebp - 0x198]
call fcn.00412690
push 0xd
push 0x599af4
lea ecx, [ebp - 0xdc]
mov dword [ebp - 4], esi
call fcn.004017e0
lea ecx, [ebp - 0x198]
call fcn.00466d34
cmp eax, edi
jne 0x45cb35
lea eax, [ebp - 0xe0]
lea ecx, [ebx + 0x5088]
push eax
call fcn.004019a0
push 0xd
push 0x599ae4
lea ecx, [ebp - 0xdc]
call fcn.004017e0
lea ecx, [ebp - 0x198]
call fcn.00466d34
cmp eax, edi
jne 0x45cb68
lea edx, [ebp - 0xe0]
lea ecx, [ebx + 0x508c]
push edx
call fcn.004019a0
lea ecx, [ebp - 0x198]
mov dword [ebp - 4], 0xffffffff
call fcn.004125d0
jmp 0x45cb9e
push edi
lea ecx, [ebx + 0x5088]
push 0x597964
call fcn.004017e0
push edi
lea ecx, [ebx + 0x508c]
push 0x597964
call fcn.004017e0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
push 0x3e8
mov ecx, ebx
mov dword [ebp - 0xa0], eax
call fcn.0046f959
mov ecx, eax
call fcn.0046fb7c
lea eax, [ebx + 0x4d0]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, ebx
call fcn.0041ad70
push esi
lea ecx, [ebx + 0x5144]
push 0x592f0c
call fcn.004017e0
fldz
lea eax, [ebp - 0x50]
fst dword [ebx + 0x26b4]
push eax
fstp dword [ebx + 0x26b8]
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [ebx + 0x508c]
mov edx, dword [ebx + 0x5088]
push ecx
movzx ecx, word [ebp - 0x44]
push edx
movzx edx, word [ebp - 0x46]
push ecx
movzx ecx, word [ebp - 0x48]
push edx
movzx edx, word [ebp - 0x4a]
push ecx
movzx ecx, word [ebp - 0x4e]
push edx
movzx edx, word [ebp - 0x50]
push ecx
push edx
lea eax, [ebx + 0x5228]
push str._04d_02d_02d_02d_02d_02d__s__s
push eax
call fcn.00402fb0
mov eax, dword [ebx + 0x20]
add esp, 0x28
push edi
push esi
push eax
mov dword [ebx + 0x4a0], esi
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp dword [ebx + 0x5040], 4
jne 0x45cc5d
mov ecx, ebx
call fcn.00442ce0
mov ecx, ebx
call fcn.00445d20
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.NULL
call fcn.00401a90
push 0
push 0xffff
push 0x3ed
mov ecx, ebx
call fcn.00419550
push 0x3eb
mov ecx, ebx
call fcn.0046f959
mov esi, eax
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.00475f83
push 0x592f0c
mov ecx, esi
call fcn.0046fa6f
cmp dword [ebx + 0x158], 2
mov dword [ebx + 0x2580], 0xffffffff
mov dword [ebx + 0x2584], edi
je 0x45ccdf
push 0
push 0
push str.Please_stop_preview_
call fcn.00465504
xor eax, eax
jmp 0x461e15
push edi
push 0
push 0x190
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Test_Start_
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
push edi
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push ecx
mov ecx, ebx
call fcn.004416c0
mov ecx, ebx
call fcn.0041ac40
cmp dword [ebx + 0x334c], 0
je 0x45cd41
mov ecx, ebx
call fcn.00449760
xor edx, edx
cmp dword [ebx + 0x2584], 0xffffffff
setne dl
dec edx
and edx, 0x3e8
mov dword [ebx + 0x26e8], edx
movzx eax, word [ebx + 0x15c]
movzx esi, word [ebx + 0x15e]
imul esi, eax
lea edi, [esi + esi]
push edi
call fcn.00563562
push edi
push 0
push eax
mov dword [ebp - 0xa8], eax
call fcn.00563670
lea esi, [esi + esi*2]
push esi
call fcn.00563562
push esi
push 0
push eax
mov dword [ebp - 0xc8], eax
call fcn.00563670
mov edi, 1
add esp, 0x20
mov dword [ebp - 0x98], edi
cmp dword [ebx + 0x3340], edi
jne 0x45d206
cmp dword [ebx + 0x2584], 0xffffffff
je 0x45d206
push 2
mov ecx, ebx
call fcn.0044c0f0
test eax, eax
jne 0x45ce11
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.FAIL
mov dword [ebx + 0x2594], eax
call fcn.00401a90
push 0
push 0xff
push 0x3ed
mov ecx, ebx
call fcn.00419550
push edi
push 0xff
push 0x190
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.Open_Camera_Fail_2_
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
jmp 0x461909
movzx eax, word [ebx + 0x15c]
movzx esi, word [ebx + 0x15e]
mov ecx, dword [ebp - 0xa8]
imul esi, eax
lea eax, [esi + esi]
push ecx
mov dword [ebp - 0x90], eax
call fcn.00563077
mov edx, dword [ebp - 0x90]
push edx
call fcn.00563562
mov ecx, dword [ebp - 0x90]
push ecx
push 0
push eax
mov dword [ebp - 0xa8], eax
call fcn.00563670
mov edx, dword [ebp - 0xc8]
push edx
call fcn.00563077
lea esi, [esi + esi*2]
push esi
call fcn.00563562
push esi
xor esi, esi
push esi
push eax
mov dword [ebp - 0xc8], eax
call fcn.00563670
add esp, 0x28
mov dword [ebx + 0x158], edi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x94], esi
test edi, edi
jne 0x45cef6
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45cece
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov edi, 1
lea eax, [ebx + 0x4b8]
push eax
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0xa
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x45ce98
cmp byte [ebx + 0x1c7], 0
jne 0x45cf0b
mov edx, dword [ebx + 0x4b0]
mov dword [ebp - 0x88], edx
cmp dword [ebx + 0x461c], 0
jle 0x45d1af
xor edi, edi
mov dword [ebp - 0x90], edi
test edi, edi
jne 0x45cf84
lea esi, [ebx + 0x4b8]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45cf56
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov edi, 1
push esi
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x90]
inc esi
push 0xa
mov dword [ebp - 0x90], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x45cf20
mov al, byte [ebx + 0x160]
mov dword [ebp - 0x7c], edi
cmp al, 2
jne 0x45cffe
mov ecx, dword [ebx + 0x478]
movzx edx, word [ebx + 0x15c]
mov eax, dword [ebx + 0x480]
movzx esi, word [ebx + 0x15e]
mov dword [ebp - 0xb4], ecx
lea ecx, [ebp - 0x61]
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xc4], eax
call fcn.0040c250
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xb4]
push esi
push edx
push eax
push ecx
lea ecx, [ebp - 0x61]
mov dword [ebp - 4], 1
call fcn.0040c6e0
lea ecx, [ebp - 0x61]
mov dword [ebp - 4], 0xffffffff
call fcn.00417d70
jmp 0x45d174
cmp al, 1
jne 0x45d02c
movzx edx, word [ebx + 0x15e]
movzx eax, word [ebx + 0x15c]
mov ecx, dword [ebx + 0x480]
push edx
mov edx, dword [ebx + 0x478]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.0041e4e0
jmp 0x45d174
test al, al
je 0x45d0c6
cmp al, 6
je 0x45d0c6
cmp al, 7
jne 0x45d174
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 0x45d09c
xor esi, esi
mov eax, dword [ebx + 0x478]
movzx edx, byte [eax + esi]
mov byte [eax + ecx*2], dl
mov eax, dword [ebx + 0x478]
movzx edx, byte [eax + esi + 1]
mov byte [eax + ecx*2 + 1], dl
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
sub eax, edx
inc ecx
sar eax, 1
add esi, 3
cmp ecx, eax
jl 0x45d062
movzx eax, word [ebx + 0x15e]
movzx ecx, word [ebx + 0x15c]
mov edx, dword [ebx + 0x480]
push eax
mov eax, dword [ebx + 0x478]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041e4e0
jmp 0x45d174
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 0x45d14c
xor esi, esi
jmp 0x45d0f0
mov edi, dword [ebx + 0x478]
movzx eax, byte [edi + esi]
mov byte [edi + ecx*4], al
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x478]
movzx eax, byte [edi + esi + 2]
mov byte [edi + ecx*4 + 2], al
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 3]
mov byte [edi + ecx*4 + 3], dl
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
and edx, 3
add eax, edx
inc ecx
sar eax, 2
add esi, 5
cmp ecx, eax
jl 0x45d0f0
movzx eax, word [ebx + 0x15e]
movzx ecx, word [ebx + 0x15c]
mov edx, dword [ebx + 0x480]
push eax
mov eax, dword [ebx + 0x478]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041e4e0
mov edi, dword [ebp - 0x7c]
movzx ecx, word [ebx + 0x15e]
movzx edx, word [ebx + 0x15c]
mov eax, dword [ebx + 0x480]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041d7e0
test edi, edi
je 0x45d1af
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, dword [ebx + 0x461c]
jl 0x45cf18
cmp byte [ebx + 0x1c7], 0
jne 0x45d1c0
mov eax, dword [ebx + 0x4b0]
jmp 0x45d1c6
mov eax, dword [ebp - 0x94]
mov dword [ebx + 0x2b58], eax
cmp eax, dword [ebp - 0x88]
jge 0x45d1de
mov dword [ebx + 0x2b58], 0x10000
mov ecx, dword [ebx + 0x2b58]
cmp ecx, dword [ebx + 0x1ac8]
jle 0x45d1f6
mov dword [ebx + 0x26ac], 0
mov ecx, ebx
call fcn.0041dc60
cmp edi, 1
jne 0x461909
xor esi, esi
cmp dword [ebx + 0x2584], 0xffffffff
je 0x46190b
push 1
mov ecx, ebx
mov dword [ebx + 0x2594], esi
call fcn.0044c0f0
test eax, eax
jne 0x45d283
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.FAIL
mov dword [ebx + 0x2594], esi
call fcn.00401a90
push esi
push 0xff
push 0x3ed
mov ecx, ebx
call fcn.00419550
push 1
push 0xff
push 0x190
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.Open_Camera_Fail_1_
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
jmp 0x46190b
movzx eax, word [ebx + 0x15c]
movzx esi, word [ebx + 0x15e]
mov dword [ebp - 0x68], esi
imul esi, eax
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0xa8]
lea edx, [esi + esi]
push eax
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xc0], edx
call fcn.00563077
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.00563562
mov edx, dword [ebp - 0xc0]
push edx
push 0
push eax
mov dword [ebp - 0xa8], eax
call fcn.00563670
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00563077
lea esi, [esi + esi*2]
push esi
mov dword [ebp - 0xc0], esi
call fcn.00563562
push esi
push 0
push eax
mov dword [ebp - 0xc8], eax
call fcn.00563670
add esp, 0x24
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x599a6c
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
cmp dword [ebx + 0x3320], 1
jne 0x45d33a
lea ecx, [ebx + 0x281c]
push ecx
lea edx, [ebx + 0x2814]
push edx
mov ecx, ebx
call fcn.00417a30
mov esi, 1
cmp dword [ebx + 0x333c], esi
jne 0x45d3d8
fld dword [0x599a68]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, ebx
call fcn.004572c0
movzx eax, al
mov dword [ebp - 0x98], eax
cmp eax, esi
jne 0x45d38d
mov dword [ebx + 0x30ac], 0
mov dword [ebx + 0x26b0], esi
jmp 0x45d3c7
mov dword [ebx + 0x30ac], 0xffffffff
mov dword [ebx + 0x26b0], 0
test eax, eax
jne 0x45d3c7
push esi
push 0xff
push 0xc8
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Trimming_Test_Fail_
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
fldz
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
mov dword [ebx + 0x158], esi
xor esi, esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x88], esi
test edi, edi
jne 0x45d44d
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45d425
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov edi, 1
lea eax, [ebx + 0x4b8]
push eax
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0xa
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x45d3ef
cmp byte [ebx + 0x1c7], 0
mov dword [ebx + 0x26ac], 1
jne 0x45d46c
mov edx, dword [ebx + 0x4b0]
mov dword [ebp - 0x90], edx
fld dword [ebx + 0x56c]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
fld dword [ebx + 0xa74]
call fcn.005636f0
push eax
push 3
mov ecx, ebx
call fcn.00417bf0
cmp dword [ebx + 0x461c], 0
jle 0x45d6e8
xor edi, edi
xor esi, esi
test edi, edi
jne 0x45d505
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45d4dd
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov edi, 1
lea eax, [ebx + 0x4b8]
push eax
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0xa
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x45d4a7
mov al, byte [ebx + 0x160]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], esi
cmp al, 2
jne 0x45d571
mov edx, dword [ebx + 0x480]
mov eax, dword [ebx + 0x478]
lea ecx, [ebp - 0x61]
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xc4], eax
call fcn.0040c250
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0xa4]
push ecx
mov ecx, dword [ebp - 0xc4]
push edx
push eax
push ecx
lea ecx, [ebp - 0x61]
mov dword [ebp - 4], 2
call fcn.0040c6e0
lea ecx, [ebp - 0x61]
mov dword [ebp - 4], 0xffffffff
call fcn.00417d70
jmp 0x45d6b8
cmp al, 1
jne 0x45d59a
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebx + 0x480]
push edx
mov edx, dword [ebx + 0x478]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.0041e4e0
jmp 0x45d6b8
test al, al
je 0x45d632
cmp al, 6
je 0x45d632
cmp al, 7
jne 0x45d6b8
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 0x45d60a
xor esi, esi
mov eax, dword [ebx + 0x478]
movzx edx, byte [eax + esi]
mov byte [eax + ecx*2], dl
mov eax, dword [ebx + 0x478]
movzx edx, byte [eax + esi + 1]
mov byte [eax + ecx*2 + 1], dl
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
sub eax, edx
inc ecx
sar eax, 1
add esi, 3
cmp ecx, eax
jl 0x45d5d0
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebx + 0x480]
push eax
mov eax, dword [ebx + 0x478]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041e4e0
mov esi, dword [ebp - 0x80]
jmp 0x45d6b8
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45d695
xor esi, esi
lea esp, [esp]
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x45d650
mov esi, dword [ebp - 0x80]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebx + 0x480]
push eax
mov eax, dword [ebx + 0x478]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041e4e0
mov edi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebx + 0x480]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041d7e0
test edi, edi
je 0x45d6e8
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, dword [ebx + 0x461c]
jl 0x45d4a3
cmp byte [ebx + 0x1c7], 0
jne 0x45d6f9
mov eax, dword [ebx + 0x4b0]
jmp 0x45d6ff
mov eax, dword [ebp - 0x88]
mov dword [ebx + 0x2b58], eax
cmp eax, dword [ebp - 0x90]
jge 0x45d717
mov dword [ebx + 0x2b58], 0x10000
mov ecx, dword [ebx + 0x2b58]
cmp ecx, dword [ebx + 0x1ac8]
jle 0x45d72f
mov dword [ebx + 0x26ac], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Bypass
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
cmp edi, 1
jne 0x461816
xor edi, edi
cmp esi, 0xc8
jge 0x461816
test edi, edi
jne 0x45d7bb
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45d793
mov edx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], edx
mov dword [ebx + 0x474], eax
mov edi, 1
lea eax, [ebx + 0x4b8]
push eax
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0xa
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x45d75d
cmp edi, 1
jne 0x461816
mov esi, dword [ebp - 0x98]
cmp esi, edi
jne 0x461816
cmp dword [ebx + 0x3350], 0
je 0x45d7f7
mov ecx, ebx
call fcn.00459230
fld dword [ebx + 0x56c]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
cmp dword [ebx + 0x3310], 0
mov dword [ebx + 0x2594], 1
je 0x45d83c
mov ecx, ebx
call fcn.00456e90
push ecx
mov esi, eax
and esi, dword [ebx + 0x26ac]
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x596150
mov dword [ebp - 0x98], esi
mov dword [ebx + 0x26ac], esi
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
cmp dword [ebx + 0x3338], 0
je 0x45d8b2
cmp esi, 1
jne 0x45d8b2
mov ecx, ebx
call fcn.00445ac0
mov dword [ebp - 0x98], eax
cmp eax, esi
jne 0x45d867
mov dword [ebx + 0x3044], 0
jmp 0x45d89b
mov ecx, ebx
call fcn.004455e0
fld dword [ebx + 0x56c]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
mov ecx, ebx
call fcn.00445ac0
mov dword [ebp - 0x98], eax
dec eax
neg eax
sbb eax, eax
mov dword [ebx + 0x3044], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.GetFuseID
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
mov esi, dword [ebp - 0xc0]
push esi
call fcn.00563562
push esi
push 0
push eax
mov dword [ebp - 0x8c], eax
call fcn.00563670
add esp, 0x10
lea ecx, [ebp - 0x61]
call fcn.0040c250
mov esi, dword [ebp - 0xb0]
push esi
mov dword [ebp - 4], 3
mov dword [ebp - 0x9c], esi
call fcn.00563562
push esi
push 0
push eax
mov dword [ebp - 0x6c], eax
call fcn.00563670
add esp, 0x10
push 0x592f0c
lea ecx, [ebp - 0xbc]
call fcn.00401a90
push 0x592f0c
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 4
call fcn.00401a90
mov al, byte [ebx + 0x160]
mov byte [ebp - 4], 5
cmp al, 2
jne 0x45d936
add esi, esi
jmp 0x45d93a
cmp al, 1
jne 0x45d940
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x74], 0
xor esi, esi
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x45d9ab
lea edi, [ebx + 0x4b8]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45d982
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov esi, 1
push edi
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc dword [ebp - 0x80]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x80], 0xc8
jl 0x45d94c
test esi, esi
je 0x45d9b7
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, 3
jl 0x45d947
mov eax, dword [ebx + 0x24c]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [edi], eax
mov edx, dword [ebx + 0x250]
mov dword [edi + 4], edx
mov eax, dword [ebx + 0x254]
mov dword [edi + 8], eax
fld dword [ebx + 0x258]
fstp dword [edi + 0xc]
add esp, 4
fld dword [ebx + 0x25c]
mov ecx, ebx
fstp dword [edi + 0x10]
fld dword [ebx + 0x260]
fstp dword [edi + 0x14]
call fcn.0044c960
cmp dword [ebx + 0x4624], 0
mov dword [ebp - 0x74], 0
jle 0x45da93
lea ebx, [ebx]
xor esi, esi
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x45da84
lea edi, [ebx + 0x4b8]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45da5b
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov esi, 1
push edi
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc dword [ebp - 0x80]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x80], 0xc8
jl 0x45da25
test esi, esi
je 0x45da93
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, dword [ebx + 0x4624]
jl 0x45da20
fld dword [ebx + 0x56c]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
fld dword [ebx + 0xa74]
call fcn.005636f0
push eax
push 3
mov ecx, ebx
call fcn.00417bf0
cmp dword [ebp - 0x98], 1
jne 0x45dcc2
test esi, esi
je 0x45dcc2
cmp dword [ebx + 0x32d8], 0
jne 0x45dafa
cmp dword [ebx + 0x32d4], 0
jne 0x45dafa
cmp dword [ebx + 0x32ec], 0
jne 0x45dafa
cmp dword [ebx + 0x32d0], 0
je 0x45dcc2
mov edx, dword [ebx + 0x4620]
push 0
push edx
mov ecx, ebx
call fcn.004168e0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Flat_Capture
mov esi, eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
cmp esi, 1
jne 0x45dcb8
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45db71
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x84]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x478]
push esi
push edi
push eax
push ecx
lea ecx, [ebp - 0x61]
call fcn.0040c6e0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push esi
push edi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c260
jmp 0x45dccb
cmp al, 1
je 0x45dc43
test al, al
je 0x45dbea
cmp al, 6
je 0x45dbea
cmp al, 7
jne 0x45dcc2
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 0x45dc43
xor esi, esi
jmp 0x45dbb0
mov edi, dword [ebx + 0x478]
mov al, byte [edi + esi]
mov byte [edi + ecx*2], al
mov edi, dword [ebx + 0x478]
mov dl, byte [edi + esi + 1]
mov byte [edi + ecx*2 + 1], dl
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
sub eax, edx
inc ecx
sar eax, 1
add esi, 3
cmp ecx, eax
jl 0x45dbb0
jmp 0x45dc43
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45dc43
xor esi, esi
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x45dc01
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x478]
push edi
push eax
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebx + 0x478]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e4e0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00563e90
add esp, 0xc
jmp 0x45dccb
mov dword [ebx + 0x2594], 0
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x84]
mov edx, 1
cmp dword [ebx + 0x32ec], edx
jne 0x45dec1
cmp dword [ebp - 0x98], edx
jne 0x45dec1
cmp dword [ebx + 0x2594], edx
jne 0x45dec1
mov ecx, dword [ebx + 0x1014]
fld dword [ebx + 0x2590]
mov edx, dword [ebp - 0x68]
push ecx
sub esp, 8
fstp dword [esp + 4]
lea esi, [ebx + 0x2720]
fld dword [ebx + 0x258c]
lea eax, [ebx + 0x2724]
fstp dword [esp]
push esi
push eax
mov eax, dword [ebp - 0x8c]
push edx
push edi
push eax
mov ecx, ebx
call fcn.004167b0
push 0x592f0c
lea ecx, [ebp - 0x88]
call fcn.00401a90
cmp dword [ebx + 0x4600], 1
mov byte [ebp - 4], 6
jne 0x45dd9f
fld dword [ebx + 0x2724]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0x88]
fld dword [esi]
fstp qword [esp]
push str.RoG:_4.4f_BoG:_4.4f
push ecx
call fcn.00402fb0
mov eax, dword [ebp - 0x88]
add esp, 0x18
push 1
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
push edx
push edi
push eax
mov ecx, ebx
call fcn.004453f0
fstp dword [ebx + 0x2fb0]
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Color
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00563562
mov edx, dword [ebp - 0x9c]
push edx
mov esi, eax
push 0
push esi
call fcn.00563670
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x6c]
push eax
push ecx
push esi
call fcn.00563e90
mov edx, dword [ebx + 0x1014]
mov eax, dword [ebp - 0x68]
add esp, 0x1c
push edx
push eax
push edi
push esi
mov ecx, ebx
call fcn.0041b850
mov ecx, dword [ebx + 0x1014]
mov eax, dword [ebp - 0x68]
push ecx
lea edx, [ebx + 0x2750]
push edx
push eax
push edi
push esi
mov ecx, ebx
call fcn.00443290
lea ecx, [ebp - 0x7c]
push ecx
call fcn.00404b80
add esp, 4
push str.CS_Log_
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 7
call fcn.00402fd0
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x7c]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x7c]
call fcn.00402fd0
mov edx, dword [ebp - 0x7c]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x45de8b
push 0
lea ecx, [ebp - 0x7c]
call fcn.004013a0
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x68]
push esi
push eax
push edi
push edx
mov ecx, ebx
call fcn.00413ca0
push esi
call fcn.00563077
add esp, 4
lea ecx, [ebp - 0x7c]
call fcn.00401380
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.00401380
mov esi, dword [ebp - 0x68]
mov edx, 1
cmp dword [ebx + 0x32f4], edx
jne 0x45df0d
cmp dword [ebp - 0x98], edx
jne 0x45df0d
cmp dword [ebx + 0x2594], edx
jne 0x45df0d
movzx ecx, word [ebx + 0x7f0]
mov edx, dword [ebp - 0x6c]
push ecx
push esi
push edi
push edx
lea eax, [ebx + 0x26a9]
push eax
lea ecx, [ebx + 0x26a8]
push ecx
mov ecx, ebx
call fcn.00417840
mov dword [ebp - 0x98], eax
mov dword [ebx + 0x26a4], eax
mov edx, 1
xor eax, eax
cmp dword [ebx + 0x32d8], eax
je 0x45e175
cmp dword [ebp - 0x98], edx
jne 0x45e175
cmp dword [ebx + 0x2594], edx
jne 0x45e175
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x78], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45dfb0
mov edx, dword [ebx + 0xefc]
fld dword [ebx + 0x7f8]
mov ecx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xf04]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xf08]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2830]
push edx
lea eax, [ebx + 0x2828]
push eax
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x78]
push ecx
lea edx, [ebp - 0x94]
push edx
sub esp, 8
fstp dword [esp + 4]
lea ecx, [ebp - 0x61]
fld dword [ebx + 0x7f4]
fstp dword [esp]
push esi
push edi
push eax
call fcn.004103e0
jmp 0x45e084
cmp al, 1
jne 0x45e013
mov ecx, dword [ebx + 0xefc]
fld dword [ebx + 0x7f8]
mov edx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf04]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf08]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2830]
push eax
lea ecx, [ebx + 0x2828]
push ecx
mov ecx, dword [ebp - 0x6c]
lea edx, [ebp - 0x78]
push edx
lea eax, [ebp - 0x94]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7f4]
fstp dword [esp]
push esi
push edi
push ecx
jmp 0x45e07c
test al, al
je 0x45e01f
cmp al, 6
je 0x45e01f
cmp al, 7
jne 0x45e089
mov edx, dword [ebx + 0xefc]
fld dword [ebx + 0x7f8]
mov ecx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xf04]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xf08]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2830]
push edx
lea eax, [ebx + 0x2828]
push eax
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x78]
push ecx
lea edx, [ebp - 0x94]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7f4]
fstp dword [esp]
push esi
push edi
push eax
lea ecx, [ebp - 0x61]
call fcn.00411fb0
mov edx, 1
mov eax, dword [ebp - 0x94]
or ecx, 0xffffffff
cmp dword [ebx + 0x2824], ecx
jne 0x45e0a0
mov dword [ebx + 0x2824], eax
cmp dword [ebx + 0x282c], ecx
jne 0x45e0b6
mov edx, dword [ebp - 0x78]
mov dword [ebx + 0x282c], edx
mov edx, 1
cmp eax, ecx
je 0x45e110
push eax
lea eax, [ebp - 0xac]
push str.HFPN:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], 1
jne 0x45e10b
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
mov esi, dword [ebp - 0x68]
mov edx, 1
mov eax, dword [ebp - 0x78]
cmp eax, 0xffffffff
je 0x45e175
push eax
lea ecx, [ebp - 0xac]
push str.VFPN:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], 1
jne 0x45e170
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov dword [ebp - 0xa4], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xa4]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ac40
mov edx, 1
cmp dword [ebx + 0x32d0], 0
je 0x45e36d
cmp dword [ebp - 0x98], edx
jne 0x45e36d
cmp dword [ebx + 0x2594], edx
jne 0x45e36d
lea eax, [ebp - 0x7c]
push eax
call fcn.00404b80
add esp, 4
push str.W_Log_
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 8
call fcn.00402fd0
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x7c]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x7c]
call fcn.00402fd0
mov edx, dword [ebp - 0x7c]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x45e1f6
push 0
lea ecx, [ebp - 0x7c]
call fcn.004013a0
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x6c]
push ecx
push esi
push edi
push edx
mov ecx, ebx
call fcn.00413ca0
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45e22d
mov edx, dword [ebp - 0x8c]
push esi
push edi
push edx
mov ecx, ebx
call fcn.0041d7e0
mov eax, dword [ebp - 0x6c]
push esi
push edi
push eax
mov ecx, ebx
call fcn.00437e20
jmp 0x45e272
cmp al, 1
jne 0x45e249
mov ecx, dword [ebp - 0x8c]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.0041d7e0
mov edx, dword [ebp - 0x6c]
push esi
push edi
push edx
jmp 0x45e26b
test al, al
je 0x45e255
cmp al, 6
je 0x45e255
cmp al, 7
jne 0x45e272
mov eax, dword [ebp - 0x8c]
push esi
push edi
push eax
mov ecx, ebx
call fcn.0041d7e0
mov ecx, dword [ebp - 0x6c]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.004369f0
fld dword [ebx + 0x26b8]
sub esp, 0x10
fstp qword [esp + 8]
lea edx, [ebp - 0xac]
fld dword [ebx + 0x26b4]
fstp qword [esp]
push str.Mean:_4.4f__4.4f
push edx
call fcn.00402fb0
fld dword [ebx + 0x26b4]
fld dword [ebx + 0x708]
add esp, 0x18
fcompp
fnstsw ax
test ah, 0x41
je 0x45e322
fld dword [ebx + 0x26b4]
fld dword [ebx + 0x704]
fcompp
fnstsw ax
test ah, 5
jnp 0x45e322
fld dword [ebx + 0x26b8]
fld dword [ebx + 0x710]
fcompp
fnstsw ax
test ah, 0x41
je 0x45e322
fld dword [ebx + 0x26b8]
fld dword [ebx + 0x70c]
fcompp
fnstsw ax
test ah, 5
jnp 0x45e322
mov eax, dword [ebp - 0xac]
push 1
push 0xff00
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov dword [ebp - 0xa4], esp
push eax
call fcn.00401400
mov ecx, dword [ebp - 0xa4]
add eax, 0x10
mov dword [ecx], eax
jmp 0x45e352
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov dword [ebp - 0xa4], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xa4]
add eax, 0x10
mov dword [edx], eax
add esp, 4
mov ecx, ebx
call fcn.0041ac40
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 5
call fcn.00401380
mov edx, 1
cmp dword [ebx + 0x32d4], 0
je 0x45e3dd
cmp dword [ebp - 0x98], edx
jne 0x45e3dd
cmp dword [ebx + 0x2594], edx
jne 0x45e3dd
mov ecx, dword [ebx + 0xf78]
mov edx, dword [ebx + 0xf7c]
sub esp, 0x14
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf80]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf84]
mov dword [eax + 8], ecx
mov ecx, dword [ebx + 0xf88]
mov dword [eax + 0xc], edx
lea edx, [ebx + 0x3014]
push edx
push esi
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x6c]
push edi
push eax
mov ecx, ebx
call fcn.00457930
mov ecx, dword [ebp - 0x6c]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.00435510
mov edx, 1
cmp dword [ebx + 0x3300], 0
je 0x45e403
cmp dword [ebp - 0x98], edx
jne 0x45e403
cmp dword [ebx + 0x2594], edx
jne 0x45e403
mov edx, dword [ebp - 0x6c]
push esi
push edi
push edx
mov ecx, ebx
call fcn.00435ba0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Normal_White
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0xc8]
push eax
push ecx
push esi
call fcn.00563e90
add esp, 0xc
push 0
push esi
mov ecx, ebx
call fcn.0041a170
mov esi, 1
cmp dword [ebx + 0x32d8], esi
jne 0x45f37f
cmp dword [ebp - 0x98], esi
jne 0x45f37f
cmp dword [ebx + 0x2594], esi
jne 0x45f37f
sub esp, 0x18
lea edx, [ebx + 0x2ac]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.00419650
mov ecx, ebx
call fcn.0044c960
cmp eax, esi
jne 0x45eb6e
mov dword [ebp - 0x74], 0
xor eax, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x7c], 0
jne 0x45e508
lea eax, [ebx + 0x4b8]
push eax
xor esi, esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45e4d6
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov esi, 1
lea eax, [ebx + 0x4b8]
push eax
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc dword [ebp - 0x80]
push 0xa
mov dword [ebp - 0x7c], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x80], 0xc8
jl 0x45e49c
test esi, esi
je 0x45e514
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, 3
jl 0x45e494
cmp dword [ebp - 0x7c], 1
jne 0x45e72e
mov edx, dword [ebx + 0x4620]
push 0
push edx
mov ecx, ebx
call fcn.004168e0
cmp eax, 1
jne 0x45e72e
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45e576
mov esi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x478]
push esi
push edi
push eax
push ecx
lea ecx, [ebp - 0x61]
call fcn.0040c6e0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push esi
push edi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c260
jmp 0x45e73b
cmp al, 1
jne 0x45e5ec
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
mov esi, dword [ebp - 0x68]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x478]
push edi
push eax
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebx + 0x478]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e4e0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00563e90
add esp, 0xc
jmp 0x45e73b
test al, al
je 0x45e662
cmp al, 6
je 0x45e662
cmp al, 7
jne 0x45e738
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 0x45e6bf
xor esi, esi
mov edi, edi
mov eax, dword [ebx + 0x478]
movzx edx, byte [esi + eax]
mov eax, dword [ebp - 0xa8]
mov byte [eax + ecx*2], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [esi + edx + 1]
mov byte [eax + ecx*2 + 1], dl
movzx edx, word [ebx + 0x15c]
movzx eax, word [ebx + 0x15e]
imul eax, edx
cdq
sub eax, edx
inc ecx
sar eax, 1
add esi, 3
cmp ecx, eax
jl 0x45e620
jmp 0x45e6bf
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45e6bf
mov esi, dword [ebp - 0xa8]
xor ecx, ecx
add esi, 2
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx]
mov byte [esi - 2], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx + 1]
mov byte [esi - 1], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx + 2]
mov byte [esi], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx + 3]
mov byte [esi + 1], dl
add ecx, 5
add esi, 4
dec eax
jne 0x45e680
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
mov esi, dword [ebp - 0x68]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0xa8]
push edi
push eax
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xa8]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e4e0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00563e90
add esp, 0xc
jmp 0x45e73b
mov dword [ebx + 0x2594], 0
mov esi, dword [ebp - 0x68]
mov eax, 1
cmp dword [ebx + 0x32ec], eax
jne 0x45e834
cmp dword [ebx + 0x2594], eax
jne 0x45e834
mov edx, dword [ebx + 0x1014]
fld dword [ebx + 0x2590]
push edx
sub esp, 8
fstp dword [esp + 4]
lea eax, [ebx + 0x2730]
fld dword [ebx + 0x258c]
lea ecx, [ebx + 0x2734]
fstp dword [esp]
push eax
mov eax, dword [ebp - 0x8c]
push ecx
push esi
push edi
push eax
mov ecx, ebx
call fcn.004167b0
push 0x592f0c
lea ecx, [ebp - 0x88]
call fcn.00401a90
cmp dword [ebx + 0x4600], 1
mov byte [ebp - 4], 9
jne 0x45e80e
fld dword [ebx + 0x2734]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0x88]
fld dword [ebx + 0x2730]
fstp qword [esp]
push str.RoG:_4.4f_BoG:_4.4f
push ecx
call fcn.00402fb0
mov eax, dword [ebp - 0x88]
add esp, 0x18
push 1
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov dword [ebp - 0xa4], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xa4]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ac40
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.ColorLG
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.00401380
mov eax, 1
cmp dword [ebx + 0x32f4], eax
jne 0x45e88f
cmp dword [ebx + 0x2594], eax
jne 0x45e88f
movzx eax, word [ebx + 0x7ee]
mov ecx, dword [ebp - 0x6c]
push eax
push esi
push edi
push ecx
lea edx, [ebx + 0x27bb]
push edx
lea eax, [ebx + 0x27ba]
push eax
mov ecx, ebx
call fcn.00417840
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x59684c
mov dword [ebp - 0x98], eax
mov dword [ebx + 0x26a4], eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
lea ecx, [ebp - 0x78]
push ecx
call fcn.00404b80
add esp, 4
push str.LowGain_
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xa
call fcn.00402fd0
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x78]
call fcn.00402fd0
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x45e8eb
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
push eax
push esi
push edi
push edx
mov ecx, ebx
call fcn.00413ca0
cmp dword [ebx + 0x32d8], 0
je 0x45eb46
mov eax, 1
cmp dword [ebp - 0x98], eax
jne 0x45eb46
cmp dword [ebx + 0x2594], eax
jne 0x45eb46
xor eax, eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x7c], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45e9a2
mov ecx, dword [ebx + 0xefc]
fld dword [ebx + 0x808]
mov edx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf04]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf08]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2850]
push eax
lea ecx, [ebx + 0x2848]
push ecx
mov ecx, dword [ebp - 0x6c]
lea edx, [ebp - 0x7c]
push edx
lea eax, [ebp - 0x94]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x804]
fstp dword [esp]
push esi
push edi
push ecx
lea ecx, [ebp - 0x61]
call fcn.004103e0
jmp 0x45ea76
cmp al, 1
jne 0x45ea05
mov edx, dword [ebx + 0xefc]
fld dword [ebx + 0x808]
mov ecx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xf04]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xf08]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2850]
push edx
lea eax, [ebx + 0x2848]
push eax
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x7c]
push ecx
lea edx, [ebp - 0x94]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x804]
fstp dword [esp]
push esi
push edi
push eax
jmp 0x45ea6e
test al, al
je 0x45ea11
cmp al, 6
je 0x45ea11
cmp al, 7
jne 0x45ea76
mov ecx, dword [ebx + 0xefc]
fld dword [ebx + 0x808]
mov edx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf04]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf08]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2850]
push eax
lea ecx, [ebx + 0x2848]
push ecx
mov ecx, dword [ebp - 0x6c]
lea edx, [ebp - 0x7c]
push edx
lea eax, [ebp - 0x94]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x804]
fstp dword [esp]
push esi
push edi
push ecx
lea ecx, [ebp - 0x61]
call fcn.00411fb0
mov eax, dword [ebp - 0x94]
or ecx, 0xffffffff
cmp dword [ebx + 0x2844], ecx
jne 0x45ea8d
mov dword [ebx + 0x2844], eax
cmp dword [ebx + 0x284c], ecx
jne 0x45ea9e
mov edx, dword [ebp - 0x7c]
mov dword [ebx + 0x284c], edx
cmp eax, ecx
je 0x45eaf0
push eax
lea eax, [ebp - 0xac]
push str.HFPN_LG:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], 1
jne 0x45eaf0
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
mov eax, dword [ebp - 0x7c]
cmp eax, 0xffffffff
je 0x45eb46
push eax
lea ecx, [ebp - 0xac]
push str.VFPN_LG:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], 1
jne 0x45eb46
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x596168
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 5
call fcn.00401380
mov esi, 1
sub esp, 0x18
lea edx, [ebx + 0x2c4]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.00419650
mov ecx, ebx
call fcn.0044c960
cmp eax, esi
jne 0x45f26b
mov dword [ebp - 0x74], 0
xor eax, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x7c], 0
jne 0x45ec0c
lea eax, [ebx + 0x4b8]
push eax
xor esi, esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45ebda
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov esi, 1
lea eax, [ebx + 0x4b8]
push eax
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc dword [ebp - 0x80]
push 0xa
mov dword [ebp - 0x7c], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x80], 0xc8
jl 0x45eba0
test esi, esi
je 0x45ec18
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, 3
jl 0x45eb98
cmp dword [ebp - 0x7c], 1
jne 0x45ee2e
mov edx, dword [ebx + 0x4620]
push 0
add edx, edx
push edx
mov ecx, ebx
call fcn.004168e0
cmp eax, 1
jne 0x45ee2e
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45ec7c
mov esi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x478]
push esi
push edi
push eax
push ecx
lea ecx, [ebp - 0x61]
call fcn.0040c6e0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push esi
push edi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c260
jmp 0x45ee3b
cmp al, 1
jne 0x45ecf2
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
mov esi, dword [ebp - 0x68]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x478]
push edi
push eax
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebx + 0x478]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e4e0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00563e90
add esp, 0xc
jmp 0x45ee3b
test al, al
je 0x45ed5a
cmp al, 6
je 0x45ed5a
cmp al, 7
jne 0x45ee38
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
mov dword [ebp - 0xa4], eax
test eax, eax
jle 0x45edbf
mov eax, dword [ebp - 0xa8]
xor esi, esi
jmp 0x45ed30
mov edx, dword [ebx + 0x478]
movzx edx, byte [esi + edx]
mov byte [eax + ecx*2], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [esi + edx + 1]
mov byte [eax + ecx*2 + 1], dl
inc ecx
add esi, 3
cmp ecx, dword [ebp - 0xa4]
jl 0x45ed30
jmp 0x45edbf
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45edbf
mov esi, dword [ebp - 0xa8]
xor ecx, ecx
add esi, 2
jmp 0x45ed80
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx]
mov byte [esi - 2], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx + 1]
mov byte [esi - 1], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx + 2]
mov byte [esi], dl
mov edx, dword [ebx + 0x478]
movzx edx, byte [ecx + edx + 3]
mov byte [esi + 1], dl
add ecx, 5
add esi, 4
dec eax
jne 0x45ed80
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
mov esi, dword [ebp - 0x68]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0xa8]
push edi
push eax
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xa8]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e4e0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00563e90
add esp, 0xc
jmp 0x45ee3b
mov dword [ebx + 0x2594], 0
mov esi, dword [ebp - 0x68]
mov eax, 1
cmp dword [ebx + 0x32ec], eax
jne 0x45ef40
cmp dword [ebp - 0x98], eax
jne 0x45ef40
cmp dword [ebx + 0x2594], eax
jne 0x45ef40
mov edx, dword [ebx + 0x1014]
fld dword [ebx + 0x2590]
push edx
sub esp, 8
fstp dword [esp + 4]
lea eax, [ebx + 0x2728]
fld dword [ebx + 0x258c]
lea ecx, [ebx + 0x272c]
fstp dword [esp]
push eax
mov eax, dword [ebp - 0x8c]
push ecx
push esi
push edi
push eax
mov ecx, ebx
call fcn.004167b0
push 0x592f0c
lea ecx, [ebp - 0x88]
call fcn.00401a90
cmp dword [ebx + 0x4600], 1
mov byte [ebp - 4], 0xb
jne 0x45ef1a
fld dword [ebx + 0x272c]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0x88]
fld dword [ebx + 0x2728]
fstp qword [esp]
push str.RoG:_4.4f_BoG:_4.4f
push ecx
call fcn.00402fb0
mov eax, dword [ebp - 0x88]
add esp, 0x18
push 1
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov dword [ebp - 0xa4], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xa4]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ac40
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.ColorHG
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.00401380
mov eax, 1
cmp dword [ebx + 0x32f4], eax
jne 0x45ef8c
cmp dword [ebp - 0x98], eax
jne 0x45ef8c
cmp dword [ebx + 0x2594], eax
jne 0x45ef8c
movzx eax, word [ebx + 0x7ec]
mov ecx, dword [ebp - 0x6c]
push eax
push esi
push edi
push ecx
lea edx, [ebx + 0x27b9]
push edx
lea eax, [ebx + 0x27b8]
push eax
mov ecx, ebx
call fcn.00417840
mov dword [ebp - 0x98], eax
mov dword [ebx + 0x26a4], eax
lea ecx, [ebp - 0x78]
push ecx
call fcn.00404b80
add esp, 4
push str.HighGain_
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xc
call fcn.00402fd0
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x78]
call fcn.00402fd0
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x45efe8
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
push eax
push esi
push edi
push edx
mov ecx, ebx
call fcn.00413ca0
cmp dword [ebx + 0x32d8], 0
je 0x45f243
mov eax, 1
cmp dword [ebp - 0x98], eax
jne 0x45f243
cmp dword [ebx + 0x2594], eax
jne 0x45f243
xor eax, eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x7c], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45f09f
mov ecx, dword [ebx + 0xefc]
fld dword [ebx + 0x800]
mov edx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf04]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf08]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2840]
push eax
lea ecx, [ebx + 0x2838]
push ecx
mov ecx, dword [ebp - 0x6c]
lea edx, [ebp - 0x7c]
push edx
lea eax, [ebp - 0x94]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7fc]
fstp dword [esp]
push esi
push edi
push ecx
lea ecx, [ebp - 0x61]
call fcn.004103e0
jmp 0x45f173
cmp al, 1
jne 0x45f102
mov edx, dword [ebx + 0xefc]
fld dword [ebx + 0x800]
mov ecx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xf04]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xf08]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2840]
push edx
lea eax, [ebx + 0x2838]
push eax
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x7c]
push ecx
lea edx, [ebp - 0x94]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7fc]
fstp dword [esp]
push esi
push edi
push eax
jmp 0x45f16b
test al, al
je 0x45f10e
cmp al, 6
je 0x45f10e
cmp al, 7
jne 0x45f173
mov ecx, dword [ebx + 0xefc]
fld dword [ebx + 0x800]
mov edx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf04]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf08]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2840]
push eax
lea ecx, [ebx + 0x2838]
push ecx
mov ecx, dword [ebp - 0x6c]
lea edx, [ebp - 0x7c]
push edx
lea eax, [ebp - 0x94]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x7fc]
fstp dword [esp]
push esi
push edi
push ecx
lea ecx, [ebp - 0x61]
call fcn.00411fb0
mov eax, dword [ebp - 0x94]
or ecx, 0xffffffff
cmp dword [ebx + 0x2834], ecx
jne 0x45f18a
mov dword [ebx + 0x2834], eax
cmp dword [ebx + 0x283c], ecx
jne 0x45f19b
mov edx, dword [ebp - 0x7c]
mov dword [ebx + 0x283c], edx
cmp eax, ecx
je 0x45f1ed
push eax
lea eax, [ebp - 0xac]
push str.HFPN_HG:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], 1
jne 0x45f1ed
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
mov eax, dword [ebp - 0x7c]
cmp eax, 0xffffffff
je 0x45f243
push eax
lea ecx, [ebp - 0xac]
push str.VFPN_HG:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], 1
jne 0x45f243
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x59615c
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 5
call fcn.00401380
mov esi, 1
fld dword [ebx + 0x2724]
fstp dword [ebp - 0x74]
fld dword [ebx + 0x2724]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fld dword [ebx + 0x2734]
fcompp
fnstsw ax
test ah, 5
jnp 0x45f298
fld dword [ebx + 0x2734]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x2734]
fcompp
fnstsw ax
test ah, 5
jp 0x45f2b3
fld dword [ebx + 0x2734]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fld dword [ebx + 0x272c]
fcompp
fnstsw ax
test ah, 5
jnp 0x45f2ce
fld dword [ebx + 0x272c]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x272c]
fcompp
fnstsw ax
test ah, 5
jp 0x45f2e9
fld dword [ebx + 0x272c]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fsub dword [ebp - 0x80]
fstp dword [ebx + 0x273c]
fld dword [ebx + 0x2720]
fstp dword [ebp - 0x74]
fld dword [ebx + 0x2720]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fld dword [ebx + 0x2730]
fcompp
fnstsw ax
test ah, 5
jnp 0x45f322
fld dword [ebx + 0x2730]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x2730]
fcompp
fnstsw ax
test ah, 5
jp 0x45f33d
fld dword [ebx + 0x2730]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fld dword [ebx + 0x2728]
fcompp
fnstsw ax
test ah, 5
jnp 0x45f358
fld dword [ebx + 0x2728]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x2728]
fcompp
fnstsw ax
test ah, 5
jp 0x45f373
fld dword [ebx + 0x2728]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fsub dword [ebp - 0x80]
fstp dword [ebx + 0x2738]
cmp dword [ebx + 0x3304], 0
je 0x45f39f
cmp dword [ebp - 0x98], esi
jne 0x45f39f
cmp dword [ebx + 0x2594], esi
jne 0x45f39f
mov ecx, ebx
call fcn.0044f0e0
cmp dword [ebx + 0x32dc], 0
je 0x45f915
cmp dword [ebp - 0x98], 1
jne 0x45f915
cmp dword [ebx + 0x2594], 1
jne 0x45f915
sub esp, 0x18
lea edx, [ebx + 0x234]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.00419650
mov ecx, ebx
call fcn.0044c960
push 0
push 4
mov ecx, ebx
call fcn.004168e0
cmp eax, 1
jne 0x45f915
mov eax, dword [ebx + 0x4630]
push 0
push eax
mov ecx, ebx
call fcn.004168e0
mov edi, dword [ebp - 0xb0]
mov ecx, dword [ebx + 0x478]
mov esi, dword [ebp - 0xa8]
lea eax, [edi + edi]
push eax
push ecx
push esi
call fcn.00563e90
add esp, 8
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.SNR_Capture
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45f476
mov edx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x84]
mov eax, dword [ebp - 0x8c]
push edx
push edi
push eax
push esi
mov ecx, ebx
call fcn.00413d90
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
push ecx
push edi
push edx
push esi
lea ecx, [ebp - 0x61]
call fcn.0040c260
jmp 0x45f563
cmp al, 1
jne 0x45f4e3
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
mov edi, dword [ebp - 0x84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x68]
push eax
push edi
push esi
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x6c]
push ecx
push esi
push edx
call fcn.00563e90
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x8c]
add esp, 0xc
push eax
push edi
push ecx
push esi
mov ecx, ebx
call fcn.0041e4e0
jmp 0x45f563
test al, al
je 0x45f51d
cmp al, 6
je 0x45f51d
cmp al, 7
jne 0x45f55d
mov eax, edi
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45f47a
mov edi, esi
movzx edx, byte [edi]
mov byte [esi + ecx*2], dl
movzx edx, byte [edi + 1]
mov byte [esi + ecx*2 + 1], dl
inc ecx
add edi, 3
cmp ecx, eax
jl 0x45f502
jmp 0x45f47a
mov eax, edi
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45f47a
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 0x45f535
jmp 0x45f47a
mov edi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
push edx
push edi
push eax
mov ecx, ebx
call fcn.0041d7e0
cmp dword [ebx + 0x4600], 1
mov dword [ebp - 0x74], 0
jne 0x45f5a3
push 1
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.SNR:
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
push 0x64
call fcn.00563562
push 0x64
mov esi, eax
push 0
push esi
mov dword [ebp - 0xa4], esi
call fcn.00563670
mov al, byte [ebx + 0x160]
add esp, 0x10
cmp al, 2
jne 0x45f5df
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
push esi
push 5
push ecx
push edi
push edx
lea ecx, [ebp - 0x61]
call fcn.0040ff00
jmp 0x45f611
cmp al, 1
jne 0x45f5f1
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
push esi
push 5
push eax
push edi
push ecx
jmp 0x45f609
test al, al
je 0x45f5fd
cmp al, 6
je 0x45f5fd
cmp al, 7
jne 0x45f611
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
push esi
push 5
push edx
push edi
push eax
lea ecx, [ebp - 0x61]
call fcn.004105a0
lea ecx, [ebp - 0x78]
push ecx
call fcn.00404b80
add esp, 4
push str.N_Log_
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xd
call fcn.00402fd0
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x78]
call fcn.00402fd0
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x45f66d
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
push eax
push ecx
push edi
push edx
mov ecx, ebx
call fcn.00413ca0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.SNR_Test
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
fld dword [esi]
fstp dword [ebp - 0xb4]
mov dword [ebp - 0x88], 0
fld dword [esi + 0x30]
fstp dword [ebp - 0x94]
push 0
push 0x592f0c
lea ecx, [ebp - 0xac]
call fcn.004017e0
xor eax, eax
mov dword [ebp - 0x90], eax
dec eax
cmp eax, 2
ja 0x45f7a8
mov edx, dword [ebp - 0x88]
dec edx
cmp edx, 2
ja 0x45f7a8
fld dword [esi]
sub esp, 8
fstp qword [esp]
lea eax, [ebp - 0xbc]
push str._4.2f_t
push eax
call fcn.00402fb0
fld dword [esi]
fld dword [ebx + 0x6f4]
add esp, 0x10
fcompp
push 0
fnstsw ax
test ah, 0x41
mov eax, dword [ebp - 0xbc]
jne 0x45f761
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
fld dword [esi]
fld dword [ebx + 0x6f4]
inc dword [ebp - 0x74]
fsub qword [0x595698]
fcompp
fnstsw ax
test ah, 0x41
jne 0x45f786
add dword [ebp - 0x74], 0xa
jmp 0x45f786
push 0
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
fld dword [ebp - 0x94]
fld dword [esi]
fcompp
fnstsw ax
test ah, 0x41
je 0x45f863
fld dword [esi]
fstp dword [ebp - 0x94]
jmp 0x45f863
fld dword [esi]
sub esp, 8
fstp qword [esp]
lea ecx, [ebp - 0xbc]
push str._4.2f_t
push ecx
call fcn.00402fb0
fld dword [esi]
fld dword [ebx + 0x6f8]
add esp, 0x10
fcompp
push 0
fnstsw ax
test ah, 0x41
mov eax, dword [ebp - 0xbc]
jne 0x45f825
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
fld dword [esi]
fld dword [ebx + 0x6f8]
inc dword [ebp - 0x74]
fsub qword [0x595698]
fcompp
fnstsw ax
test ah, 0x41
jne 0x45f84a
add dword [ebp - 0x74], 0xa
jmp 0x45f84a
push 0
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
fld dword [ebp - 0xb4]
fld dword [esi]
fcompp
fnstsw ax
test ah, 0x41
je 0x45f863
fld dword [esi]
fstp dword [ebp - 0xb4]
mov eax, dword [ebp - 0x90]
inc eax
add esi, 4
mov dword [ebp - 0x90], eax
cmp eax, 5
jl 0x45f6ca
mov eax, dword [ebp - 0xac]
push 1
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp eax, 5
jl 0x45f6b0
mov edx, dword [ebp - 0xa4]
push edx
call fcn.00563077
fld dword [ebp - 0xb4]
xor eax, eax
fstp dword [ebx + 0x26c4]
fld dword [ebp - 0x94]
add esp, 4
cmp dword [ebp - 0x74], 1
fstp dword [ebx + 0x26c0]
mov byte [ebp - 4], 5
setle al
or edx, 0xffffffff
mov dword [ebx + 0x26c8], eax
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x45f915
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x3300], 0
je 0x4601b2
cmp dword [ebp - 0x98], 1
jne 0x4601b2
cmp dword [ebx + 0x2594], 1
jne 0x4601b2
fld dword [ebx + 0x790]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
fld dword [ebx + 0xa78]
call fcn.005636f0
push eax
push 3
mov ecx, ebx
call fcn.00417bf0
sub esp, 0x18
lea edx, [ebx + 0x234]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.00419650
mov ecx, ebx
call fcn.0044c960
push 0
push 3
mov ecx, ebx
call fcn.004168e0
cmp eax, 1
jne 0x4601b2
push 0
push eax
mov ecx, ebx
call fcn.004168e0
fldz
push ecx
fstp dword [esp]
mov ecx, dword [ebx + 0x55c]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.00417bf0
mov edi, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xa8]
lea eax, [edi + edi]
push eax
mov eax, dword [ebx + 0x478]
push eax
push esi
call fcn.00563e90
add esp, 8
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.SNR_Capture
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45fa2c
mov ecx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x8c]
push ecx
push edi
push edx
push esi
mov ecx, ebx
call fcn.00413d90
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
push eax
push edi
push ecx
push esi
lea ecx, [ebp - 0x61]
call fcn.0040c260
jmp 0x45fb7e
cmp al, 1
jne 0x45fa99
mov edx, dword [ebx + 0xa94]
mov ecx, dword [ebx + 0xa98]
mov edi, dword [ebp - 0x84]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xa9c]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xaa0]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x68]
push edx
push edi
mov dword [eax + 0xc], ecx
push esi
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x6c]
push eax
push esi
push ecx
call fcn.00563e90
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
add esp, 0xc
push edx
push edi
push eax
push esi
mov ecx, ebx
call fcn.0041e4e0
jmp 0x45fb7e
test al, al
je 0x45fb3c
cmp al, 6
je 0x45fb3c
cmp al, 7
jne 0x45fb78
mov eax, edi
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45fad6
mov edi, esi
movzx edx, byte [edi]
mov byte [esi + ecx*2], dl
movzx edx, byte [edi + 1]
mov byte [esi + ecx*2 + 1], dl
inc ecx
add edi, 3
cmp ecx, eax
jl 0x45fac0
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
mov edi, dword [ebp - 0x84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x68]
push eax
push edi
push esi
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x6c]
push ecx
push esi
push edx
call fcn.00563e90
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x8c]
add esp, 0xc
push eax
push edi
push ecx
push esi
mov ecx, ebx
call fcn.0041e4e0
jmp 0x45fb7e
mov eax, edi
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45fad6
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 0x45fb50
jmp 0x45fad6
mov edi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
push edx
push edi
push eax
mov ecx, ebx
call fcn.0041d7e0
cmp dword [ebx + 0x4600], 1
mov dword [ebp - 0x74], 0
jne 0x45fbbe
push 1
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.STDEV:
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
fldz
push 0x64
fst dword [ebp - 0x80]
fstp dword [ebp - 0x90]
call fcn.00563562
push 0x64
mov esi, eax
push 0
push esi
mov dword [ebp - 0x70], esi
call fcn.00563670
push 0x64
call fcn.00563562
push 0x64
push 0
push eax
mov dword [ebp - 0xa4], eax
call fcn.00563670
push 0x64
call fcn.00563562
push 0x64
push 0
push eax
mov dword [ebp - 0x88], eax
call fcn.00563670
push 0x64
call fcn.00563562
push 0x64
push 0
push eax
mov dword [ebp - 0xc4], eax
call fcn.00563670
mov al, byte [ebx + 0x160]
add esp, 0x40
cmp al, 2
jne 0x45fc47
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
push esi
push 5
push ecx
push edi
push edx
lea ecx, [ebp - 0x61]
call fcn.00410250
jmp 0x45fc80
cmp al, 1
je 0x45fc57
test al, al
je 0x45fc57
cmp al, 6
je 0x45fc57
cmp al, 7
jne 0x45fc80
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x68]
push ecx
mov ecx, dword [ebp - 0x6c]
push edx
push esi
push 5
push eax
push edi
push ecx
lea ecx, [ebp - 0x61]
call fcn.00410c10
lea edx, [ebp - 0x78]
push edx
call fcn.00404b80
add esp, 4
push str.N_Log_
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xe
call fcn.00402fd0
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00401720
push str..png
lea ecx, [ebp - 0x78]
call fcn.00402fd0
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x45fcdc
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x84]
push ecx
push eax
push edx
mov ecx, ebx
call fcn.00413ca0
push ecx
mov ecx, esp
mov dword [ebp - 0xb8], esp
push str.STD_Test
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
fld dword [esi]
fstp dword [ebp - 0x94]
mov edi, esi
fld dword [esi + 0x30]
mov esi, dword [ebp - 0x88]
sub edi, esi
fstp dword [ebp - 0x7c]
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xd8], edi
jmp 0x45fd46
mov edi, dword [ebp - 0xd8]
push 0
push 0x592f0c
lea ecx, [ebp - 0xac]
call fcn.004017e0
mov dword [ebp - 0x88], 0
mov ecx, dword [ebp - 0x88]
dec ecx
cmp ecx, 2
ja 0x45feb5
mov edx, dword [ebp - 0xb4]
dec edx
cmp edx, 2
ja 0x45feb5
fld dword [esi]
sub esp, 0x10
fstp qword [esp + 8]
lea eax, [ebp - 0xbc]
fld dword [edi + esi]
fstp qword [esp]
push str._4.2f__4.2f_t
push eax
call fcn.00402fb0
fld dword [edi + esi]
fld dword [ebx + 0x794]
add esp, 0x18
fcompp
fnstsw ax
test ah, 5
jnp 0x45fe07
fld dword [esi]
fld dword [ebx + 0x7a0]
fcompp
fnstsw ax
test ah, 5
jnp 0x45fe07
mov eax, dword [ebp - 0xbc]
push 0
push 0
push 0xc8
push ecx
mov dword [ebp - 0xb8], esp
add eax, 0xfffffff0
mov dword [ebp - 0xb8], esp
push eax
call fcn.00401400
mov ecx, dword [ebp - 0xb8]
add eax, 0x10
mov dword [ecx], eax
add esp, 4
mov ecx, ebx
call fcn.0041ac40
jmp 0x45fe7e
mov eax, dword [ebp - 0xbc]
push 0
push 0xff
push 0xc8
push ecx
mov dword [ebp - 0xb8], esp
add eax, 0xfffffff0
mov dword [ebp - 0xb8], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xb8]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ac40
fld dword [edi + esi]
fld dword [ebx + 0x794]
inc dword [ebp - 0x74]
fld qword [0x595698]
fadd st(1), st(0)
fxch st(2)
fcompp
fnstsw ax
test ah, 0x41
je 0x45fe78
fld dword [esi]
fld dword [ebx + 0x7a0]
faddp st(2)
fcompp
fnstsw ax
test ah, 0x41
jne 0x45fe7e
jmp 0x45fe7a
fstp st(0)
add dword [ebp - 0x74], 0xa
fld dword [ebp - 0x7c]
fld dword [edi + esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x45fe93
fld dword [edi + esi]
fstp dword [ebp - 0x7c]
fld dword [ebp - 0x90]
fld dword [esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x45ffdf
fld dword [esi]
fstp dword [ebp - 0x90]
jmp 0x45ffdf
fld dword [esi]
sub esp, 0x10
fstp qword [esp + 8]
lea eax, [ebp - 0xbc]
fld dword [edi + esi]
fstp qword [esp]
push str._4.2f__4.2f_t
push eax
call fcn.00402fb0
fld dword [edi + esi]
fld dword [ebx + 0x798]
add esp, 0x18
fcompp
fnstsw ax
test ah, 5
jnp 0x45ff3a
fld dword [esi]
fld dword [ebx + 0x7a4]
fcompp
fnstsw ax
test ah, 5
jnp 0x45ff3a
mov eax, dword [ebp - 0xbc]
push 0
push 0
push 0xc8
push ecx
mov dword [ebp - 0xb8], esp
add eax, 0xfffffff0
mov dword [ebp - 0xb8], esp
push eax
call fcn.00401400
mov ecx, dword [ebp - 0xb8]
add eax, 0x10
mov dword [ecx], eax
add esp, 4
mov ecx, ebx
call fcn.0041ac40
jmp 0x45ffb1
mov eax, dword [ebp - 0xbc]
push 0
push 0xff
push 0xc8
push ecx
mov dword [ebp - 0xb8], esp
add eax, 0xfffffff0
mov dword [ebp - 0xb8], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xb8]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ac40
fld dword [edi + esi]
fld dword [ebx + 0x798]
inc dword [ebp - 0x74]
fld qword [0x595698]
fadd st(1), st(0)
fxch st(2)
fcompp
fnstsw ax
test ah, 0x41
je 0x45ffab
fld dword [esi]
fld dword [ebx + 0x7a4]
faddp st(2)
fcompp
fnstsw ax
test ah, 0x41
jne 0x45ffb1
jmp 0x45ffad
fstp st(0)
add dword [ebp - 0x74], 0xa
fld dword [ebp - 0x94]
fld dword [edi + esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x45ffcc
fld dword [edi + esi]
fstp dword [ebp - 0x94]
fld dword [ebp - 0x80]
fld dword [esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x45ffdf
fld dword [esi]
fstp dword [ebp - 0x80]
mov eax, dword [ebp - 0x88]
inc eax
add esi, 4
mov dword [ebp - 0x88], eax
cmp eax, 5
jl 0x45fd62
mov edi, dword [ebp - 0xac]
push 1
push 0
push 0xffffffffffffffff
push ecx
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
add edi, 0xfffffff0
mov dword [ebp - 0xb8], esp
mov dword [ebp - 0xb8], esp
call edx
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x46003c
cmp eax, dword [edi]
jne 0x46003c
mov dword [ebp - 0x88], edi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x46007a
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov dword [ebp - 0x88], eax
test eax, eax
je 0x460180
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x88]
mov dword [ecx + 4], eax
mov eax, dword [edi + 4]
inc eax
push eax
add edi, 0x10
push edi
push eax
add ecx, 0x10
push ecx
call fcn.00562faf
add esp, 0x10
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0xb8]
add ecx, 0x10
mov dword [edx], ecx
mov ecx, ebx
call fcn.0041ac40
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, 5
jl 0x45fd40
mov eax, dword [ebp - 0x70]
push eax
call fcn.00563077
fldz
mov eax, dword [ebp - 0xc4]
fst dword [ebp - 0x88]
mov ecx, dword [ebp - 0xa4]
fstp dword [ebp - 0xb4]
add esp, 4
sub ecx, eax
mov edx, 0x19
fld dword [ecx + eax]
add eax, 4
dec edx
fadd dword [ebp - 0x88]
fstp dword [ebp - 0x88]
fld dword [ebp - 0xb4]
fadd dword [eax - 4]
fstp dword [ebp - 0xb4]
jne 0x4600d5
fld dword [ebp - 0x88]
fld qword [0x598fb8]
fdiv st(1), st(0)
fxch st(1)
fstp dword [ebx + 0x26d4]
fld dword [ebp - 0x94]
fstp dword [ebx + 0x26d0]
fld dword [ebp - 0x7c]
fstp dword [ebx + 0x26cc]
fdivr dword [ebp - 0xb4]
fstp dword [ebx + 0x26e0]
fld dword [ebp - 0x80]
fstp dword [ebx + 0x26dc]
fld dword [ebp - 0x90]
fstp dword [ebx + 0x26d8]
cmp dword [ebp - 0x74], edx
jg 0x460185
fld dword [ebx + 0x26d4]
fld dword [ebx + 0x79c]
fcompp
fnstsw ax
test ah, 5
jnp 0x460185
fld dword [ebx + 0x26e0]
fld dword [ebx + 0x7a8]
fcompp
fnstsw ax
test ah, 5
jnp 0x460185
mov dword [ebx + 0x26e4], 1
jmp 0x46018f
call fcn.00401170
mov dword [ebx + 0x26e4], 0
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4601b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x3318], 0
mov esi, dword [ebp - 0x98]
mov edi, 1
je 0x4601f9
cmp esi, edi
jne 0x4601f9
cmp dword [ebx + 0x2594], edi
jne 0x4601f9
lea ecx, [ebx + 0x2b68]
push ecx
mov ecx, ebx
call fcn.00451090
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Blooming
mov esi, eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
cmp dword [ebx + 0x3314], 0
je 0x460234
cmp esi, edi
jne 0x460234
cmp dword [ebx + 0x2594], edi
jne 0x460234
mov ecx, ebx
call fcn.004521c0
push ecx
mov esi, eax
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.bHighLightTest1
mov dword [ebx + 0x27bc], esi
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
cmp dword [ebx + 0x331c], 0
je 0x46026d
cmp esi, edi
jne 0x46026d
cmp dword [ebx + 0x2594], edi
jne 0x46026d
mov ecx, ebx
call fcn.004516b0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.HighLightTest2
mov dword [ebx + 0x27e8], eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
push 0
mov ecx, ebx
call fcn.00416500
cmp dword [ebx + 0x32e4], 0
mov dword [ebp - 0x98], eax
je 0x4603f0
mov edx, dword [ebx + 0x4608]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
push 0x592f0c
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
call fcn.00401a90
mov byte [ebp - 4], 0xf
cmp dword [ebx + 0x4600], edi
jne 0x4602e3
push edi
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Current:
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
mov ecx, dword [ebx + 0x55c]
lea eax, [ebp - 0x24]
push eax
call fcn.00402aa0
fild dword [ebp - 0x24]
fld qword [0x5930f0]
sub esp, 0x30
lea ecx, [ebp - 0x90]
fdiv st(1), st(0)
fxch st(1)
fstp dword [ebx + 0x26ec]
fild dword [ebp - 0x20]
fdiv st(1)
fstp dword [ebx + 0x26f0]
fild dword [ebp - 0x1c]
fdiv st(1)
fstp dword [ebx + 0x26f4]
fild dword [ebp - 0x18]
fdiv st(1)
fstp dword [ebx + 0x26f8]
fidivr dword [ebp - 0x14]
fstp dword [ebx + 0x26fc]
fld dword [ebx + 0x26f0]
fadd dword [ebx + 0x26ec]
fadd dword [ebx + 0x26f4]
fstp dword [ebp - 0x70]
fld dword [ebp - 0x70]
fst dword [ebx + 0x2700]
fstp qword [esp + 0x28]
fld dword [ebx + 0x26fc]
fstp qword [esp + 0x20]
fld dword [ebx + 0x26f8]
fstp qword [esp + 0x18]
fld dword [ebx + 0x26f4]
fstp qword [esp + 0x10]
fld dword [ebx + 0x26f0]
fstp qword [esp + 8]
fld dword [ebx + 0x26ec]
fstp qword [esp]
push 0x5998f8
push ecx
call fcn.00402fb0
add esp, 0x38
cmp dword [ebx + 0x4600], edi
jne 0x4603ca
mov eax, dword [ebp - 0x90]
push edi
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4603f0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x3324], edi
je 0x460409
cmp dword [ebx + 0x32e8], edi
jne 0x4610cc
mov edi, 1
cmp dword [ebp - 0x98], edi
jne 0x4610cc
cmp dword [ebx + 0x2594], 1
jne 0x4610cc
fldz
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.00417bf0
mov eax, dword [ebx + 0x204]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [ebx + 0x208]
mov dword [esi + 4], ecx
mov edx, dword [ebx + 0x20c]
mov dword [esi + 8], edx
fld dword [ebx + 0x210]
fstp dword [esi + 0xc]
add esp, 4
fld dword [ebx + 0x214]
mov ecx, ebx
fstp dword [esi + 0x10]
fld dword [ebx + 0x218]
fstp dword [esi + 0x14]
call fcn.0044c960
fld dword [0x59567c]
mov dword [ebp - 0x94], 0
fstp dword [ebx + 0x26bc]
fld dword [0x5998f4]
fcomp dword [ebx + 0x26bc]
fnstsw ax
test ah, 5
jp 0x4606e8
xor esi, esi
lea edi, [ebx + 0x4b8]
push edi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xa4], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x4604fe
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov esi, 1
push edi
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x4606c7
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x46055d
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebx + 0x478]
mov esi, dword [ebp - 0xa8]
add eax, eax
push eax
push edx
push esi
call fcn.00563e90
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x6c]
add esp, 0xc
push eax
push ecx
push edx
push esi
lea ecx, [ebp - 0x61]
call fcn.0040c260
jmp 0x46066e
cmp al, 1
je 0x460612
test al, al
je 0x4605b6
cmp al, 6
je 0x4605b6
cmp al, 7
jne 0x46066e
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x460612
xor edi, edi
lea esp, [esp]
mov esi, dword [ebx + 0x478]
movzx edx, byte [esi + edi]
mov byte [esi + ecx*2], dl
mov esi, dword [ebx + 0x478]
movzx edx, byte [esi + edi + 1]
mov byte [esi + ecx*2 + 1], dl
inc ecx
add edi, 3
cmp ecx, eax
jl 0x460590
jmp 0x460612
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x460612
xor esi, esi
lea ecx, [ecx]
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x4605d0
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x84]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x68]
mov edx, dword [ebx + 0x478]
push eax
push ecx
push edx
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00563e90
add esp, 0xc
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
lea ecx, [edx + eax]
mov eax, dword [ebp - 0xc0]
cdq
and edx, 3
add eax, edx
sar ecx, 2
sar eax, 2
cmp ecx, eax
jge 0x4606b5
mov esi, dword [ebp - 0x6c]
mov edx, eax
sub edx, ecx
mov dword [ebp - 0xa4], edx
mov edx, dword [ebp - 0x90]
movzx edi, byte [esi + ecx]
inc ecx
add edx, edi
cmp ecx, eax
jl 0x4606a4
mov dword [ebp - 0x90], edx
fild dword [ebp - 0x90]
fidiv dword [ebp - 0xa4]
fstp dword [ebx + 0x26bc]
mov esi, dword [ebp - 0x94]
inc esi
push 0xa
mov dword [ebp - 0x94], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x4604a7
xor eax, eax
push eax
push 4
mov ecx, ebx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x80], eax
call fcn.004168e0
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x80], 0
mov esi, 0x186a0
jne 0x460f01
cmp dword [ebp - 0x7c], 1
jne 0x460f01
mov eax, dword [ebx + 0x4628]
inc dword [ebp - 0x94]
push 0
push eax
mov ecx, ebx
call fcn.004168e0
cmp eax, 1
jne 0x460ed0
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x46074c
mov ecx, dword [ebp - 0xb0]
add ecx, ecx
jmp 0x460762
cmp al, 1
je 0x46075c
test al, al
je 0x46075c
cmp al, 6
je 0x46075c
cmp al, 7
jne 0x460768
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x9c], ecx
cmp al, 2
jne 0x460837
mov edi, dword [ebp - 0x68]
mov esi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebx + 0x478]
push edi
push esi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c6e0
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebx + 0x478]
push edi
push esi
push ecx
push edx
lea ecx, [ebp - 0x61]
call fcn.0040c260
fld dword [ebx + 0x724]
mov eax, dword [ebx + 0x644]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
fstp dword [esp]
push 1
lea ecx, [ebx + 0x2624]
push ecx
push edi
push esi
push edx
mov ecx, ebx
call fcn.00435e80
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x8c]
push 1
push eax
mov ecx, ebx
call fcn.0041a170
mov esi, dword [ebx + 0x30e4]
test esi, esi
je 0x460800
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00462f2e
add esp, 4
test esi, esi
jne 0x4607f0
mov esi, dword [ebx + 0x30e8]
test esi, esi
je 0x460820
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00462f2e
add esp, 4
test esi, esi
jne 0x460810
fldz
fstp dword [ebx + 0x27ac]
mov dword [ebx + 0x27a8], 0xffffffff
jmp 0x460e34
cmp al, 1
je 0x46084b
test al, al
je 0x460857
cmp al, 6
je 0x46084b
cmp al, 7
jne 0x460e34
test al, al
je 0x460857
cmp al, 6
jne 0x4608cc
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x4608b2
xor esi, esi
mov edi, edi
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x460870
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00563e90
add esp, 0xc
cmp byte [ebx + 0x160], 7
jne 0x46092e
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x460914
xor esi, esi
jmp 0x4608f0
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi]
mov byte [edi + ecx*2], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*2 + 1], dl
inc ecx
add esi, 3
cmp ecx, eax
jl 0x4608f0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00563e90
add esp, 0xc
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x84]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x68]
mov edx, dword [ebx + 0x478]
push eax
push ecx
push edx
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00563e90
lea eax, [ebp - 0x78]
push eax
call fcn.00404b80
add esp, 0x10
push 8
push str.DB_Log_
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x10
call fcn.00401720
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00401720
push 4
push str..png
lea ecx, [ebp - 0x78]
call fcn.00401720
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x4609e7
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x68]
mov esi, dword [ebp - 0x84]
push ecx
push edi
push esi
push edx
mov ecx, ebx
call fcn.00413ca0
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebx + 0x478]
push edi
push esi
push edx
push eax
mov ecx, ebx
call fcn.0041e4e0
mov ecx, dword [ebp - 0x8c]
push edi
push esi
push ecx
mov ecx, ebx
call fcn.0041d7e0
fld dword [ebx + 0x724]
mov edx, dword [ebx + 0x668]
push edx
sub esp, 0x28
fstp dword [esp + 0x24]
mov edi, esp
sub esp, 0x24
lea esi, [ebx + 0x624]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebx + 0x648]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x68]
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x6c]
lea eax, [ebx + 0x2624]
push eax
push edi
push esi
push ecx
mov ecx, ebx
call fcn.0044cd50
mov edx, dword [ebp - 0x8c]
push edi
push esi
push edx
mov ecx, ebx
mov dword [ebp - 0x80], eax
call fcn.004453f0
push 1
fstp dword [ebx + 0x2fb4]
push 0
push 0xffffffffffffffff
push ecx
mov eax, esp
mov dword [ebp - 0x70], esp
push eax
mov ecx, ebx
call fcn.004416c0
mov ecx, ebx
call fcn.0041ac40
cmp dword [ebp - 0x80], 1
jne 0x460ad2
mov ecx, dword [ebx + 0x1014]
push ecx
lea edx, [ebx + 0x2b00]
push edx
mov eax, edi
mov edi, dword [ebp - 0x6c]
push eax
mov ecx, esi
push ecx
push edi
mov ecx, ebx
call fcn.00443290
jmp 0x460ad5
mov edi, dword [ebp - 0x6c]
push 1
push 0
push 0xffffffffffffffff
push ecx
mov edx, esp
mov dword [ebp - 0x70], esp
push edx
mov ecx, ebx
call fcn.004416c0
mov ecx, ebx
call fcn.0041ac40
mov eax, dword [ebp - 0x8c]
push 1
push eax
mov ecx, ebx
call fcn.0041a170
mov esi, dword [ebx + 0x30e4]
test esi, esi
je 0x460b20
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00462f2e
add esp, 4
test esi, esi
jne 0x460b10
mov esi, dword [ebx + 0x30e8]
test esi, esi
je 0x460b40
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00462f2e
add esp, 4
test esi, esi
jne 0x460b30
cmp dword [ebp - 0x80], 1
jne 0x460b74
fld dword [ebx + 0x720]
mov eax, dword [ebp - 0x68]
push ecx
fstp dword [esp]
lea ecx, [ebx + 0x27ac]
push ecx
mov ecx, dword [ebp - 0x84]
lea edx, [ebx + 0x27a8]
push edx
push eax
push ecx
push edi
mov ecx, ebx
call fcn.00416b30
mov dword [ebp - 0x80], eax
cmp dword [ebx + 0x27a8], 0
jle 0x460c03
push 0x592f0c
lea ecx, [ebp - 0x90]
call fcn.00401a90
mov edx, dword [ebx + 0x27a8]
push edx
lea eax, [ebp - 0x90]
push str.Band:_d
push eax
mov byte [ebp - 4], 0x11
call fcn.00402fb0
mov eax, dword [ebp - 0x90]
add esp, 0xc
push 1
push 0xff
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x460c03
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, 1
cmp dword [ebx + 0x2594], esi
jne 0x460dfa
xor eax, eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x88], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x460ca3
mov ecx, dword [ebx + 0xefc]
fld dword [ebx + 0x810]
mov edx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf04]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf08]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2860]
push eax
lea ecx, [ebx + 0x2858]
push ecx
mov ecx, dword [ebp - 0x68]
lea edx, [ebp - 0x88]
push edx
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 0xb4]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x80c]
fstp dword [esp]
push ecx
push edx
push edi
lea ecx, [ebp - 0x61]
call fcn.004103e0
jmp 0x460d25
cmp al, 1
je 0x460cb7
test al, al
je 0x460cb7
cmp al, 6
je 0x460cb7
cmp al, 7
jne 0x460d25
mov ecx, dword [ebx + 0xefc]
fld dword [ebx + 0x810]
mov edx, dword [ebx + 0xf00]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf04]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf08]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2860]
push eax
lea ecx, [ebx + 0x2858]
push ecx
mov ecx, dword [ebp - 0x68]
lea edx, [ebp - 0x88]
push edx
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 0xb4]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0x80c]
fstp dword [esp]
push ecx
push edx
push edi
lea ecx, [ebp - 0x61]
call fcn.00411fb0
mov eax, dword [ebp - 0xb4]
or ecx, 0xffffffff
cmp dword [ebx + 0x2854], ecx
jne 0x460d3c
mov dword [ebx + 0x2854], eax
cmp dword [ebx + 0x285c], ecx
jne 0x460d50
mov edx, dword [ebp - 0x88]
mov dword [ebx + 0x285c], edx
cmp eax, ecx
je 0x460da1
push eax
lea eax, [ebp - 0xac]
push str.HFPN_Dark:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], esi
jne 0x460da1
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
mov eax, dword [ebp - 0x88]
cmp eax, 0xffffffff
je 0x460dfa
push eax
lea ecx, [ebp - 0xac]
push str.VFPN_Dark:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x4600], 1
jne 0x460dfa
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ac40
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x5970c8
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x460e34
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x74]
push ecx
call fcn.00404b80
add esp, 4
push 8
push str.DE_Log_
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x12
call fcn.00401720
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.00401720
push 4
push str..png
lea ecx, [ebp - 0x74]
call fcn.00401720
mov edx, dword [ebp - 0x74]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x460e94
push 0
lea ecx, [ebp - 0x74]
call fcn.004013a0
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x84]
push ecx
push eax
push edx
mov ecx, ebx
call fcn.00413ca0
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x460ef4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x460ef4
mov dword [ebx + 0x2628], esi
mov dword [ebx + 0x2638], esi
mov dword [ebx + 0x2624], esi
mov dword [ebx + 0x2634], esi
mov dword [ebx + 0x262c], esi
mov dword [ebx + 0x263c], esi
cmp dword [ebp - 0x94], 1
jl 0x460700
mov esi, 1
cmp dword [ebx + 0x3324], esi
jne 0x460f1b
mov ecx, ebx
call fcn.00454040
fstp dword [ebx + 0x2af8]
cmp dword [ebx + 0x3328], esi
jne 0x460f30
mov ecx, ebx
call fcn.00452db0
fstp dword [ebx + 0x2afc]
cmp dword [ebx + 0x332c], 0
je 0x460ffe
lea esi, [ebx + 0xe6c]
mov ecx, 0xc
lea edi, [ebp - 0x40]
rep movsd dword es:[edi], dword [esi]
fld dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x18]
push edx
push ecx
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x20]
fstp dword [esp]
push eax
fld dword [ebp - 0x18]
push ecx
push ecx
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x2c]
fstp dword [esp]
push edx
fld dword [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebx + 0x414]
lea ecx, [ebp - 0x34]
push ecx
sub esp, 0x20
sub eax, 0x10
mov dword [ebp - 0x70], esp
fstp dword [esp + 0x1c]
mov esi, esp
fld dword [ebp - 0x40]
fstp dword [esp + 0x18]
push eax
call fcn.00401400
add eax, 0x10
mov dword [esi], eax
mov edx, dword [ebx + 0x418]
mov dword [esi + 4], edx
mov eax, dword [ebx + 0x41c]
mov dword [esi + 8], eax
fld dword [ebx + 0x420]
fstp dword [esi + 0xc]
mov ecx, ebx
fld dword [ebx + 0x424]
fstp dword [esi + 0x10]
fld dword [ebx + 0x428]
fstp dword [esi + 0x14]
fld dword [ebx + 0xa88]
fstp dword [esp]
push 1
call fcn.004552d0
fstp st(0)
lea edi, [ebx + 0x2fb8]
mov ecx, 0xa
lea esi, [ebp - 0x38]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebx + 0x3330], 0
je 0x4610cc
lea esi, [ebx + 0xe9c]
mov ecx, 0xc
lea edi, [ebp - 0x40]
rep movsd dword es:[edi], dword [esi]
fld dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x18]
push edx
push ecx
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x20]
fstp dword [esp]
push eax
fld dword [ebp - 0x18]
push ecx
push ecx
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x2c]
fstp dword [esp]
push edx
fld dword [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebx + 0x42c]
lea ecx, [ebp - 0x34]
push ecx
sub esp, 0x20
sub eax, 0x10
mov dword [ebp - 0x70], esp
fstp dword [esp + 0x1c]
mov esi, esp
fld dword [ebp - 0x40]
fstp dword [esp + 0x18]
push eax
call fcn.00401400
add eax, 0x10
mov dword [esi], eax
mov edx, dword [ebx + 0x430]
mov dword [esi + 4], edx
mov eax, dword [ebx + 0x434]
mov dword [esi + 8], eax
fld dword [ebx + 0x438]
fstp dword [esi + 0xc]
mov ecx, ebx
fld dword [ebx + 0x43c]
fstp dword [esi + 0x10]
fld dword [ebx + 0x440]
fstp dword [esi + 0x14]
fld dword [ebx + 0xa8c]
fstp dword [esp]
push 2
call fcn.004552d0
fstp st(0)
lea edi, [ebx + 0x2fe0]
mov ecx, 0xa
lea esi, [ebp - 0x38]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebx + 0x3308], 0
jne 0x4610e2
cmp dword [ebx + 0x330c], 0
je 0x4614fa
mov eax, 1
cmp dword [ebp - 0x98], eax
jne 0x46180f
cmp dword [ebx + 0x2594], eax
jne 0x46180f
mov eax, dword [ebx + 0x294]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [ebx + 0x298]
mov dword [esi + 4], ecx
mov edx, dword [ebx + 0x29c]
mov dword [esi + 8], edx
fld dword [ebx + 0x2a0]
fstp dword [esi + 0xc]
add esp, 4
fld dword [ebx + 0x2a4]
mov ecx, ebx
fstp dword [esi + 0x10]
fld dword [ebx + 0x2a8]
fstp dword [esi + 0x14]
call fcn.0044c960
fldz
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.00417bf0
fld dword [0x59567c]
push 0
fstp dword [ebx + 0x26bc]
push 5
mov ecx, ebx
mov dword [ebp - 0xc4], 0
call fcn.004168e0
nop
fld dword [0x5998f4]
mov edi, dword [ebp - 0x68]
fcomp dword [ebx + 0x26bc]
mov esi, dword [ebp - 0x84]
fnstsw ax
test ah, 5
jp 0x4613e1
xor esi, esi
lea edi, [ebx + 0x4b8]
push edi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xa4], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x4611f0
mov ecx, dword [ebx + 0x474]
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x478], ecx
mov dword [ebx + 0x474], eax
mov esi, 1
push edi
mov dword [ebx + 0x4a8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x4613b7
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x46124f
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebx + 0x478]
mov esi, dword [ebp - 0xa8]
add eax, eax
push eax
push edx
push esi
call fcn.00563e90
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x6c]
add esp, 0xc
push eax
push ecx
push edx
push esi
lea ecx, [ebp - 0x61]
call fcn.0040c260
jmp 0x46135e
cmp al, 1
je 0x461302
test al, al
je 0x4612a9
cmp al, 6
je 0x4612a9
cmp al, 7
jne 0x46135e
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x461302
xor edi, edi
mov edi, edi
mov esi, dword [ebx + 0x478]
movzx edx, byte [esi + edi]
mov byte [esi + ecx*2], dl
mov esi, dword [ebx + 0x478]
movzx edx, byte [esi + edi + 1]
mov byte [esi + ecx*2 + 1], dl
inc ecx
add edi, 3
cmp ecx, eax
jl 0x461280
jmp 0x461302
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x461302
xor esi, esi
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi]
mov byte [edi + ecx*4], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 1]
mov byte [edi + ecx*4 + 1], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 2]
mov byte [edi + ecx*4 + 2], dl
mov edi, dword [ebx + 0x478]
movzx edx, byte [edi + esi + 3]
mov byte [edi + ecx*4 + 3], dl
inc ecx
add esi, 5
cmp ecx, eax
jl 0x4612c0
mov ecx, dword [ebx + 0xa94]
mov edx, dword [ebx + 0xa98]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa9c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xaa0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x84]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x68]
mov edx, dword [ebx + 0x478]
push eax
push ecx
push edx
lea ecx, [ebp - 0x61]
call fcn.0040d1d0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00563e90
add esp, 0xc
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
lea ecx, [edx + eax]
mov eax, dword [ebp - 0xc0]
cdq
and edx, 3
add eax, edx
sar ecx, 2
sar eax, 2
cmp ecx, eax
jge 0x4613a5
mov esi, dword [ebp - 0x6c]
mov edx, eax
sub edx, ecx
mov dword [ebp - 0xa4], edx
mov edx, dword [ebp - 0x90]
movzx edi, byte [ecx + esi]
inc ecx
add edx, edi
cmp ecx, eax
jl 0x461394
mov dword [ebp - 0x90], edx
fild dword [ebp - 0x90]
fidiv dword [ebp - 0xa4]
fstp dword [ebx + 0x26bc]
mov esi, dword [ebp - 0xc4]
inc esi
push 0xa
mov dword [ebp - 0xc4], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xc8
jl 0x461190
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x68]
push 0
push 1
mov ecx, ebx
call fcn.004168e0
cmp eax, 1
jne 0x4617f8
cmp byte [ebx + 0x160], 2
jne 0x461469
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x478]
push edi
push esi
push eax
push ecx
lea ecx, [ebp - 0x61]
call fcn.0040c6e0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push edi
push esi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c260
cmp dword [ebx + 0x3308], 0
je 0x46144c
mov ecx, dword [ebp - 0x6c]
push edi
push esi
push ecx
lea ecx, [ebp - 0x61]
call fcn.0040f270
fstp dword [ebx + 0x27b0]
cmp dword [ebx + 0x330c], 0
je 0x461469
mov edx, dword [ebp - 0x6c]
push edi
push esi
push edx
lea ecx, [ebp - 0x61]
call fcn.0040f150
fstp dword [ebx + 0x27b4]
lea eax, [ebp - 0x78]
push eax
call fcn.00404b80
add esp, 4
push 0xc
push str.D_RowN_Log_
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x13
call fcn.00401720
mov eax, dword [ebx + 0x5228]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00401720
push 4
push str..png
lea ecx, [ebp - 0x78]
call fcn.00401720
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x4614c9
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x6c]
push ecx
push edi
push esi
push edx
mov ecx, ebx
call fcn.00413ca0
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4614fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, 1
mov esi, dword [ebp - 0x98]
cmp dword [ebx + 0x3334], edi
jne 0x461520
cmp esi, edi
jne 0x461520
cmp dword [ebx + 0x2594], edi
jne 0x461520
mov ecx, ebx
call fcn.0044ff00
cmp dword [ebx + 0x3344], edi
jne 0x46153b
cmp esi, edi
jne 0x46153b
cmp dword [ebx + 0x2594], edi
jne 0x46153b
mov ecx, ebx
call fcn.0044ebc0
cmp dword [ebx + 0x3348], 0
je 0x4615d4
cmp esi, edi
jne 0x4615d4
cmp dword [ebx + 0x2594], edi
jne 0x4615d4
cmp dword [ebx + 0x4634], 0
jle 0x4615a1
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ecx, dword [ebx + 0x4634]
mov edi, dword [ebp - 0xa0]
imul ecx, ecx, 0x3e8
sub eax, edi
cmp eax, ecx
jae 0x4615a1
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
call esi
mov edx, dword [ebx + 0x4634]
imul edx, edx, 0x3e8
sub eax, edi
cmp eax, edx
jb 0x461585
lea eax, [ebx + 0x2b80]
push eax
mov ecx, ebx
call fcn.0045c240
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push 0x5960e4
mov dword [ebp - 0x98], eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
mov edi, 1
cmp dword [ebx + 0x32e8], 0
je 0x461614
cmp dword [ebp - 0x98], edi
jne 0x461614
cmp dword [ebx + 0x2594], edi
jne 0x461614
mov ecx, ebx
call fcn.0044f900
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.DarkTest2
mov dword [ebp - 0x98], eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044d1c0
cmp dword [ebx + 0x32d0], edi
je 0x461628
cmp dword [ebx + 0x32d4], edi
jne 0x461780
mov ecx, dword [ebp - 0xc8]
push 0
push ecx
mov ecx, ebx
call fcn.0041a170
cmp dword [ebx + 0x32d0], 0
je 0x461740
mov esi, dword [ebx + 0x30c4]
test esi, esi
je 0x461660
nop
push esi
mov esi, dword [esi + 0x1c]
call fcn.00462f2e
add esp, 4
test esi, esi
jne 0x461650
mov esi, dword [ebx + 0x30c8]
test esi, esi
je 0x461680
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00462f2e
add esp, 4
test esi, esi
jne 0x461670
mov esi, dword [ebx + 0x30dc]
test esi, esi
je 0x4616a0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00462f2e
add esp, 4
test esi, esi
jne 0x461690
mov esi, dword [ebx + 0x30e0]
test esi, esi
je 0x4616c0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00462f2e
add esp, 4
test esi, esi
jne 0x4616b0
mov esi, dword [ebx + 0x30d4]
test esi, esi
je 0x4616e0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00462f2e
add esp, 4
test esi, esi
jne 0x4616d0
mov esi, dword [ebx + 0x30d8]
test esi, esi
je 0x461700
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00462f2e
add esp, 4
test esi, esi
jne 0x4616f0
mov esi, dword [ebx + 0x30cc]
test esi, esi
je 0x461720
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00462f2e
add esp, 4
test esi, esi
jne 0x461710
mov esi, dword [ebx + 0x30d0]
test esi, esi
je 0x461740
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00462f2e
add esp, 4
test esi, esi
jne 0x461730
cmp dword [ebx + 0x32d4], 0
je 0x461780
mov esi, dword [ebx + 0x30ec]
test esi, esi
je 0x461763
push esi
mov esi, dword [esi + 0x1c]
call fcn.00462f2e
add esp, 4
test esi, esi
jne 0x461753
mov esi, dword [ebx + 0x30f0]
test esi, esi
je 0x461780
lea ecx, [ecx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.00462f2e
add esp, 4
test esi, esi
jne 0x461770
mov edx, dword [ebp - 0x6c]
push edx
call fcn.00563077
mov eax, dword [ebp - 0x8c]
push eax
call fcn.00563077
mov eax, dword [ebp - 0xac]
add eax, 0xfffffff0
add esp, 8
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4617be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xbc]
add eax, 0xfffffff0
mov byte [ebp - 4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4617e4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x61]
mov dword [ebp - 4], 0xffffffff
call fcn.00417d70
jmp 0x461876
fld dword [0x5976f0]
fst dword [ebx + 0x27b0]
fstp dword [ebx + 0x27b4]
jmp 0x4614fa
mov edi, eax
jmp 0x4614ff
push 1
push 0xff
push 0x12c
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.Capture_Image_Fail
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.FALI
mov dword [ebx + 0x2594], 0
call fcn.00401a90
push 0
push 0xff
push 0x3ed
mov ecx, ebx
call fcn.00419550
mov edi, 1
cmp dword [ebx + 0x32f0], edi
jne 0x461895
cmp dword [ebp - 0x98], edi
jne 0x461895
mov ecx, ebx
call fcn.00418480
mov dword [ebx + 0x271c], eax
jmp 0x46189f
mov dword [ebx + 0x271c], 0
cmp dword [ebx + 0x404], 0
jle 0x461902
mov eax, dword [ebx + 0x3fc]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [ebx + 0x400]
mov dword [esi + 4], ecx
mov edx, dword [ebx + 0x404]
mov dword [esi + 8], edx
fld dword [ebx + 0x408]
fstp dword [esi + 0xc]
add esp, 4
fld dword [ebx + 0x40c]
mov ecx, ebx
fstp dword [esi + 0x10]
fld dword [ebx + 0x410]
fstp dword [esi + 0x14]
call fcn.0044c960
mov ecx, ebx
call fcn.0041dc60
xor esi, esi
mov ecx, ebx
call fcn.0044ceb0
mov ecx, ebx
call fcn.0044d2d0
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00563077
add esp, 4
cmp dword [ebx + 0x5040], 3
jne 0x4619af
cmp dword [ebx + 0x32fc], 1
jne 0x4619af
push 0x592f0c
lea ecx, [ebp - 0x90]
call fcn.00401a90
mov ecx, dword [ebx + 0x25a0]
push ecx
lea edx, [ebp - 0x90]
push str.RESULT__d_e46a_r
push edx
mov dword [ebp - 4], 0x14
call fcn.00402fb0
mov eax, dword [ebp - 0x90]
add esp, 0xc
push eax
lea ecx, [ebx + 0x5094]
call fcn.00404f60
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4619af
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x592f0c
lea ecx, [ebp - 0xd4]
call fcn.00401a90
fld dword [ebx + 0x26e0]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0xd4]
fld dword [ebx + 0x26d4]
mov dword [ebp - 4], 0x15
fstp qword [esp]
push str._4.4f__4.4f
push ecx
call fcn.00402fb0
mov eax, dword [ebp - 0xd4]
add esp, 0x18
push 1
push esi
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
push 1
push esi
push 0xffffffffffffffff
push ecx
mov edx, esp
mov dword [ebp - 0xa0], esp
push edx
mov ecx, ebx
call fcn.004416c0
mov ecx, ebx
call fcn.0041ac40
push 0x592f0c
lea ecx, [ebp - 0xcc]
call fcn.00401a90
mov eax, dword [ebx + 0x25a0]
movzx ecx, byte [ebx + 0x4638]
push eax
push ecx
lea edx, [ebp - 0xcc]
push str._d_d
push edx
mov byte [ebp - 4], 0x16
call fcn.00402fb0
mov eax, dword [ebp - 0xcc]
add esp, 0x10
push 1
push esi
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
push 1
push esi
push 0x64
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push 0x599858
call fcn.00401a90
mov ecx, ebx
call fcn.0041ac40
mov dword [ebx + 0x4a4], esi
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx edx, word [ebp - 0x48]
movzx ecx, word [ebp - 0x58]
movzx eax, word [ebp - 0x56]
sub ecx, edx
movzx edx, word [ebp - 0x54]
mov dword [ebp - 0xa0], ecx
movzx ecx, word [ebp - 0x46]
fild dword [ebp - 0xa0]
sub eax, ecx
movzx ecx, word [ebp - 0x42]
fmul qword [0x595e50]
mov dword [ebp - 0xa0], eax
movzx eax, word [ebp - 0x44]
fild dword [ebp - 0xa0]
sub edx, eax
mov dword [ebp - 0xa0], edx
fmul qword [0x599850]
movzx edx, word [ebp - 0x52]
faddp st(1)
sub edx, ecx
push 0x592f0c
lea ecx, [ebp - 0xd0]
fiadd dword [ebp - 0xa0]
mov dword [ebp - 0xa0], edx
fild dword [ebp - 0xa0]
fdiv qword [0x592f40]
faddp st(1)
fstp dword [ebp - 0xa0]
call fcn.00401a90
lea eax, [ebx + 0x4d0]
push eax
mov byte [ebp - 4], 0x17
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
fld dword [ebp - 0xa0]
sub esp, 8
fstp qword [esp]
lea eax, [ebp - 0xd0]
push str.TestTime:__4.4f_s
push eax
call fcn.00402fb0
mov eax, dword [ebp - 0xd0]
add esp, 0x10
push 1
push esi
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
cmp dword [ebx + 0x25a0], esi
jne 0x461bee
mov eax, dword [ebx + 0x30f4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add esp, 4
push esi
push 0xff00
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00419550
cmp dword [ebx + 0x25a0], 1
jne 0x461c2e
mov eax, dword [ebx + 0x30f4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add esp, 4
push esi
push 0xff0000
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00419550
cmp dword [ebx + 0x25a0], 2
jne 0x461c75
mov eax, dword [ebx + 0x30f4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add esp, 4
push esi
push 0xffff
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00419550
cmp dword [ebx + 0x25a0], 2
jle 0x461cae
mov eax, dword [ebx + 0x30f4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add esp, 4
push esi
push 0xff
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00419550
push 1
push 0x3e8
mov ecx, ebx
call fcn.0046f959
mov ecx, eax
call fcn.0046fb7c
mov eax, dword [ebx + 0x30f4]
push 1
push esi
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ac40
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00563077
add esp, 4
cmp dword [ebx + 0x334c], esi
je 0x461d6e
mov eax, dword [ebx + 0x256c]
cmp eax, esi
je 0x461d23
push eax
call fcn.00563077
add esp, 4
mov dword [ebx + 0x256c], esi
mov eax, dword [ebx + 0x2570]
cmp eax, esi
je 0x461d3c
push eax
call fcn.00563077
add esp, 4
mov dword [ebx + 0x2570], esi
mov eax, dword [ebx + 0x2574]
cmp eax, esi
je 0x461d55
push eax
call fcn.00563077
add esp, 4
mov dword [ebx + 0x2574], esi
mov eax, dword [ebx + 0x2578]
cmp eax, esi
je 0x461d6e
push eax
call fcn.00563077
add esp, 4
mov dword [ebx + 0x2578], esi
push 2
push 3
mov ecx, ebx
call fcn.00417bf0
push esi
mov dword [ebx + 0x5220], 1
push 0x3e8
mov dword [ebx + 0x5224], esi
mov edx, dword [ebx + 0x20]
push 3
push edx
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [ebp - 0xd0]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x16
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461dc1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xcc]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x15
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461de7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xd4]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461e10
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.00563495
mov esp, ebp
pop ebp
ret