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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x580914
mov eax, dword fs:[0]
push eax
sub esp, 0x18c
mov eax, dword [0x5e4e94]
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 + 0x4f6c], edi
jne 0x459b7c
push esi
lea ecx, [ebp - 0x198]
call fcn.00412660
push 0xd
push 0x59563c
lea ecx, [ebp - 0xdc]
mov dword [ebp - 4], esi
call fcn.004017e0
lea ecx, [ebp - 0x198]
call fcn.00463ce8
cmp eax, edi
jne 0x459b35
lea eax, [ebp - 0xe0]
lea ecx, [ebx + 0x4f70]
push eax
call fcn.004019a0
push 0xd
push 0x59562c
lea ecx, [ebp - 0xdc]
call fcn.004017e0
lea ecx, [ebp - 0x198]
call fcn.00463ce8
cmp eax, edi
jne 0x459b68
lea edx, [ebp - 0xe0]
lea ecx, [ebx + 0x4f74]
push edx
call fcn.004019a0
lea ecx, [ebp - 0x198]
mov dword [ebp - 4], 0xffffffff
call fcn.004125a0
jmp 0x459b9e
push edi
lea ecx, [ebx + 0x4f70]
push 0x593888
call fcn.004017e0
push edi
lea ecx, [ebx + 0x4f74]
push 0x593888
call fcn.004017e0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
push 0x3e8
mov ecx, ebx
mov dword [ebp - 0xa0], eax
call fcn.0046c93c
mov ecx, eax
call fcn.0046cb5f
lea eax, [ebx + 0x4d0]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, ebx
call fcn.0041ac60
push esi
lea ecx, [ebx + 0x502c]
push 0x58ef0c
call fcn.004017e0
fldz
lea eax, [ebp - 0x50]
fst dword [ebx + 0x25e8]
push eax
fstp dword [ebx + 0x25ec]
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [ebx + 0x4f74]
mov edx, dword [ebx + 0x4f70]
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 + 0x5110]
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 + 0x4f2c], 4
jne 0x459c5d
mov ecx, ebx
call fcn.00441b10
mov ecx, ebx
call fcn.00443ff0
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.00419440
push 0x3eb
mov ecx, ebx
call fcn.0046c93c
mov esi, eax
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.00472f10
push 0x58ef0c
mov ecx, esi
call fcn.0046ca52
cmp dword [ebx + 0x158], 2
mov dword [ebx + 0x24b4], 0xffffffff
mov dword [ebx + 0x24b8], edi
je 0x459cdf
push 0
push 0
push str.Please_stop_preview_
call fcn.004624b8
xor eax, eax
jmp 0x45ee15
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.0041ab30
push edi
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push ecx
mov ecx, ebx
call fcn.004404f0
mov ecx, ebx
call fcn.0041ab30
cmp dword [ebx + 0x323c], 0
je 0x459d41
mov ecx, ebx
call fcn.00447a30
xor edx, edx
cmp dword [ebx + 0x24b8], 0xffffffff
setne dl
dec edx
and edx, 0x3e8
mov dword [ebx + 0x261c], edx
movzx eax, word [ebx + 0x15c]
movzx esi, word [ebx + 0x15e]
imul esi, eax
lea edi, [esi + esi]
push edi
call fcn.0055fee3
push edi
push 0
push eax
mov dword [ebp - 0xa8], eax
call fcn.0055fff0
lea esi, [esi + esi*2]
push esi
call fcn.0055fee3
push esi
push 0
push eax
mov dword [ebp - 0xc8], eax
call fcn.0055fff0
mov edi, 1
add esp, 0x20
mov dword [ebp - 0x98], edi
cmp dword [ebx + 0x3230], edi
jne 0x45a206
cmp dword [ebx + 0x24b8], 0xffffffff
je 0x45a206
push 2
mov ecx, ebx
call fcn.004491c0
test eax, eax
jne 0x459e11
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.FAIL
mov dword [ebx + 0x24c8], eax
call fcn.00401a90
push 0
push 0xff
push 0x3ed
mov ecx, ebx
call fcn.00419440
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.0041ab30
jmp 0x45e909
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.0055f9f8
mov edx, dword [ebp - 0x90]
push edx
call fcn.0055fee3
mov ecx, dword [ebp - 0x90]
push ecx
push 0
push eax
mov dword [ebp - 0xa8], eax
call fcn.0055fff0
mov edx, dword [ebp - 0xc8]
push edx
call fcn.0055f9f8
lea esi, [esi + esi*2]
push esi
call fcn.0055fee3
push esi
xor esi, esi
push esi
push eax
mov dword [ebp - 0xc8], eax
call fcn.0055fff0
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 0x459ef6
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x459ece
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 0x459e98
cmp byte [ebx + 0x1c7], 0
jne 0x459f0b
mov edx, dword [ebx + 0x4b0]
mov dword [ebp - 0x88], edx
cmp dword [ebx + 0x4508], 0
jle 0x45a1af
xor edi, edi
mov dword [ebp - 0x90], edi
test edi, edi
jne 0x459f84
lea esi, [ebx + 0x4b8]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x459f56
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 0x459f20
mov al, byte [ebx + 0x160]
mov dword [ebp - 0x7c], edi
cmp al, 2
jne 0x459ffe
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.0040c210
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.0040c6b0
lea ecx, [ebp - 0x61]
mov dword [ebp - 4], 0xffffffff
call fcn.0040c220
jmp 0x45a174
cmp al, 1
jne 0x45a02c
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.0041e360
jmp 0x45a174
test al, al
je 0x45a0c6
cmp al, 6
je 0x45a0c6
cmp al, 7
jne 0x45a174
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 0x45a09c
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 0x45a062
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.0041e360
jmp 0x45a174
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 0x45a14c
xor esi, esi
jmp 0x45a0f0
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 0x45a0f0
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.0041e360
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.0041d660
test edi, edi
je 0x45a1af
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, dword [ebx + 0x4508]
jl 0x459f18
cmp byte [ebx + 0x1c7], 0
jne 0x45a1c0
mov eax, dword [ebx + 0x4b0]
jmp 0x45a1c6
mov eax, dword [ebp - 0x94]
mov dword [ebx + 0x2a4c], eax
cmp eax, dword [ebp - 0x88]
jge 0x45a1de
mov dword [ebx + 0x2a4c], 0x10000
mov ecx, dword [ebx + 0x2a4c]
cmp ecx, dword [ebx + 0x1a40]
jle 0x45a1f6
mov dword [ebx + 0x25e0], 0
mov ecx, ebx
call fcn.0041dae0
cmp edi, 1
jne 0x45e909
xor esi, esi
cmp dword [ebx + 0x24b8], 0xffffffff
je 0x45e90b
push 1
mov ecx, ebx
mov dword [ebx + 0x24c8], esi
call fcn.004491c0
test eax, eax
jne 0x45a283
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.FAIL
mov dword [ebx + 0x24c8], esi
call fcn.00401a90
push esi
push 0xff
push 0x3ed
mov ecx, ebx
call fcn.00419440
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.0041ab30
jmp 0x45e90b
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.0055f9f8
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.0055fee3
mov edx, dword [ebp - 0xc0]
push edx
push 0
push eax
mov dword [ebp - 0xa8], eax
call fcn.0055fff0
mov eax, dword [ebp - 0xc8]
push eax
call fcn.0055f9f8
lea esi, [esi + esi*2]
push esi
mov dword [ebp - 0xc0], esi
call fcn.0055fee3
push esi
push 0
push eax
mov dword [ebp - 0xc8], eax
call fcn.0055fff0
add esp, 0x24
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x5955ac
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
cmp dword [ebx + 0x3210], 1
jne 0x45a33a
lea ecx, [ebx + 0x2730]
push ecx
lea edx, [ebx + 0x2728]
push edx
mov ecx, ebx
call fcn.00417940
mov esi, 1
cmp dword [ebx + 0x322c], esi
jne 0x45a3d8
fld dword [0x5955a8]
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.00454380
movzx eax, al
mov dword [ebp - 0x98], eax
cmp eax, esi
jne 0x45a38d
mov dword [ebx + 0x2f9c], 0
mov dword [ebx + 0x25e4], esi
jmp 0x45a3c7
mov dword [ebx + 0x2f9c], 0xffffffff
mov dword [ebx + 0x25e4], 0
test eax, eax
jne 0x45a3c7
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.0041ab30
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 0x45a44d
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45a425
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 0x45a3ef
cmp byte [ebx + 0x1c7], 0
mov dword [ebx + 0x25e0], 1
jne 0x45a46c
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 + 0xa54]
call fcn.00560070
push eax
push 3
mov ecx, ebx
call fcn.00417b00
cmp dword [ebx + 0x4508], 0
jle 0x45a6e8
xor edi, edi
xor esi, esi
test edi, edi
jne 0x45a505
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45a4dd
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 0x45a4a7
mov al, byte [ebx + 0x160]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], esi
cmp al, 2
jne 0x45a571
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.0040c210
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.0040c6b0
lea ecx, [ebp - 0x61]
mov dword [ebp - 4], 0xffffffff
call fcn.0040c220
jmp 0x45a6b8
cmp al, 1
jne 0x45a59a
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.0041e360
jmp 0x45a6b8
test al, al
je 0x45a632
cmp al, 6
je 0x45a632
cmp al, 7
jne 0x45a6b8
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 0x45a60a
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 0x45a5d0
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.0041e360
mov esi, dword [ebp - 0x80]
jmp 0x45a6b8
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45a695
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 0x45a650
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.0041e360
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.0041d660
test edi, edi
je 0x45a6e8
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, dword [ebx + 0x4508]
jl 0x45a4a3
cmp byte [ebx + 0x1c7], 0
jne 0x45a6f9
mov eax, dword [ebx + 0x4b0]
jmp 0x45a6ff
mov eax, dword [ebp - 0x88]
mov dword [ebx + 0x2a4c], eax
cmp eax, dword [ebp - 0x90]
jge 0x45a717
mov dword [ebx + 0x2a4c], 0x10000
mov ecx, dword [ebx + 0x2a4c]
cmp ecx, dword [ebx + 0x1a40]
jle 0x45a72f
mov dword [ebx + 0x25e0], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Bypass
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
cmp edi, 1
jne 0x45e816
xor edi, edi
cmp esi, 0xc8
jge 0x45e816
test edi, edi
jne 0x45a7bb
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45a793
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 0x45a75d
cmp edi, 1
jne 0x45e816
mov esi, dword [ebp - 0x98]
cmp esi, edi
jne 0x45e816
cmp dword [ebx + 0x3240], 0
je 0x45a7f7
mov ecx, ebx
call fcn.004562f0
fld dword [ebx + 0x56c]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
cmp dword [ebx + 0x3200], 0
mov dword [ebx + 0x24c8], 1
je 0x45a83c
mov ecx, ebx
call fcn.00453f50
push ecx
mov esi, eax
and esi, dword [ebx + 0x25e0]
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x592120
mov dword [ebp - 0x98], esi
mov dword [ebx + 0x25e0], esi
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
cmp dword [ebx + 0x3228], 0
je 0x45a8b2
cmp esi, 1
jne 0x45a8b2
mov ecx, ebx
call fcn.00443d90
mov dword [ebp - 0x98], eax
cmp eax, esi
jne 0x45a867
mov dword [ebx + 0x2f98], 0
jmp 0x45a89b
mov ecx, ebx
call fcn.004438b0
fld dword [ebx + 0x56c]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
mov ecx, ebx
call fcn.00443d90
mov dword [ebp - 0x98], eax
dec eax
neg eax
sbb eax, eax
mov dword [ebx + 0x2f98], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.GetFuseID
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
mov esi, dword [ebp - 0xc0]
push esi
call fcn.0055fee3
push esi
push 0
push eax
mov dword [ebp - 0x8c], eax
call fcn.0055fff0
add esp, 0x10
lea ecx, [ebp - 0x61]
call fcn.0040c210
mov esi, dword [ebp - 0xb0]
push esi
mov dword [ebp - 4], 3
mov dword [ebp - 0x9c], esi
call fcn.0055fee3
push esi
push 0
push eax
mov dword [ebp - 0x6c], eax
call fcn.0055fff0
add esp, 0x10
push 0x58ef0c
lea ecx, [ebp - 0xbc]
call fcn.00401a90
push 0x58ef0c
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 0x45a936
add esi, esi
jmp 0x45a93a
cmp al, 1
jne 0x45a940
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x74], 0
xor esi, esi
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x45a9ab
lea edi, [ebx + 0x4b8]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45a982
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 0x45a94c
test esi, esi
je 0x45a9b7
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, 3
jl 0x45a947
mov eax, dword [ebx + 0x24c]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
mov dword [edi], eax
mov edx, dword [ebx + 0x250]
mov dword [edi + 4], edx
mov eax, dword [ebx + 0x254]
mov dword [edi + 8], eax
fld dword [ebx + 0x258]
fstp dword [edi + 0xc]
add esp, 4
fld dword [ebx + 0x25c]
mov ecx, ebx
fstp dword [edi + 0x10]
fld dword [ebx + 0x260]
fstp dword [edi + 0x14]
call fcn.00449a30
cmp dword [ebx + 0x4510], 0
mov dword [ebp - 0x74], 0
jle 0x45aa93
lea ebx, [ebx]
xor esi, esi
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x45aa84
lea edi, [ebx + 0x4b8]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45aa5b
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 0x45aa25
test esi, esi
je 0x45aa93
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, dword [ebx + 0x4510]
jl 0x45aa20
fld dword [ebx + 0x56c]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
fld dword [ebx + 0xa54]
call fcn.00560070
push eax
push 3
mov ecx, ebx
call fcn.00417b00
cmp dword [ebp - 0x98], 1
jne 0x45acc2
test esi, esi
je 0x45acc2
cmp dword [ebx + 0x31c8], 0
jne 0x45aafa
cmp dword [ebx + 0x31c4], 0
jne 0x45aafa
cmp dword [ebx + 0x31dc], 0
jne 0x45aafa
cmp dword [ebx + 0x31c0], 0
je 0x45acc2
mov edx, dword [ebx + 0x450c]
push 0
push edx
mov ecx, ebx
call fcn.004167f0
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.0044a280
cmp esi, 1
jne 0x45acb8
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45ab71
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.0040c6b0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push esi
push edi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c230
jmp 0x45accb
cmp al, 1
je 0x45ac43
test al, al
je 0x45abea
cmp al, 6
je 0x45abea
cmp al, 7
jne 0x45acc2
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 0x45ac43
xor esi, esi
jmp 0x45abb0
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 0x45abb0
jmp 0x45ac43
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45ac43
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 0x45ac01
mov ecx, dword [ebx + 0xa74]
mov edx, dword [ebx + 0xa78]
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa7c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa80]
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.0040d1a0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebx + 0x478]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e360
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560810
add esp, 0xc
jmp 0x45accb
mov dword [ebx + 0x24c8], 0
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x84]
mov edx, 1
cmp dword [ebx + 0x31dc], edx
jne 0x45aec1
cmp dword [ebp - 0x98], edx
jne 0x45aec1
cmp dword [ebx + 0x24c8], edx
jne 0x45aec1
mov ecx, dword [ebx + 0xfd4]
fld dword [ebx + 0x24c4]
mov edx, dword [ebp - 0x68]
push ecx
sub esp, 8
fstp dword [esp + 4]
lea esi, [ebx + 0x2654]
fld dword [ebx + 0x24c0]
lea eax, [ebx + 0x2658]
fstp dword [esp]
push esi
push eax
mov eax, dword [ebp - 0x8c]
push edx
push edi
push eax
mov ecx, ebx
call fcn.004166c0
push 0x58ef0c
lea ecx, [ebp - 0x88]
call fcn.00401a90
cmp dword [ebx + 0x44ec], 1
mov byte [ebp - 4], 6
jne 0x45ad9f
fld dword [ebx + 0x2658]
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.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ab30
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
push edx
push edi
push eax
mov ecx, ebx
call fcn.004436c0
fstp dword [ebx + 0x2ea4]
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Color
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.0055fee3
mov edx, dword [ebp - 0x9c]
push edx
mov esi, eax
push 0
push esi
call fcn.0055fff0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x6c]
push eax
push ecx
push esi
call fcn.00560810
mov edx, dword [ebx + 0xfd4]
mov eax, dword [ebp - 0x68]
add esp, 0x1c
push edx
push eax
push edi
push esi
mov ecx, ebx
call fcn.0041b6e0
mov ecx, dword [ebx + 0xfd4]
mov eax, dword [ebp - 0x68]
push ecx
lea edx, [ebx + 0x2684]
push edx
push eax
push edi
push esi
mov ecx, ebx
call fcn.004420d0
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 + 0x5110]
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 0x45ae8b
push 0
lea ecx, [ebp - 0x7c]
call fcn.00401380
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x68]
push esi
push eax
push edi
push edx
mov ecx, ebx
call fcn.00413c70
push esi
call fcn.0055f9f8
add esp, 4
lea ecx, [ebp - 0x7c]
call fcn.004014f0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.004014f0
mov esi, dword [ebp - 0x68]
mov edx, 1
cmp dword [ebx + 0x31e4], edx
jne 0x45af0d
cmp dword [ebp - 0x98], edx
jne 0x45af0d
cmp dword [ebx + 0x24c8], edx
jne 0x45af0d
movzx ecx, word [ebx + 0x7f0]
mov edx, dword [ebp - 0x6c]
push ecx
push esi
push edi
push edx
lea eax, [ebx + 0x25dd]
push eax
lea ecx, [ebx + 0x25dc]
push ecx
mov ecx, ebx
call fcn.00417750
mov dword [ebp - 0x98], eax
mov dword [ebx + 0x25d8], eax
mov edx, 1
xor eax, eax
cmp dword [ebx + 0x31c8], eax
je 0x45b175
cmp dword [ebp - 0x98], edx
jne 0x45b175
cmp dword [ebx + 0x24c8], edx
jne 0x45b175
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x78], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45afb0
mov edx, dword [ebx + 0xedc]
fld dword [ebx + 0x7f8]
mov ecx, dword [ebx + 0xee0]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xee4]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xee8]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2744]
push edx
lea eax, [ebx + 0x273c]
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.004103b0
jmp 0x45b084
cmp al, 1
jne 0x45b013
mov ecx, dword [ebx + 0xedc]
fld dword [ebx + 0x7f8]
mov edx, dword [ebx + 0xee0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xee4]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xee8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2744]
push eax
lea ecx, [ebx + 0x273c]
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 0x45b07c
test al, al
je 0x45b01f
cmp al, 6
je 0x45b01f
cmp al, 7
jne 0x45b089
mov edx, dword [ebx + 0xedc]
fld dword [ebx + 0x7f8]
mov ecx, dword [ebx + 0xee0]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xee4]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xee8]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2744]
push edx
lea eax, [ebx + 0x273c]
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.00411f80
mov edx, 1
mov eax, dword [ebp - 0x94]
or ecx, 0xffffffff
cmp dword [ebx + 0x2738], ecx
jne 0x45b0a0
mov dword [ebx + 0x2738], eax
cmp dword [ebx + 0x2740], ecx
jne 0x45b0b6
mov edx, dword [ebp - 0x78]
mov dword [ebx + 0x2740], edx
mov edx, 1
cmp eax, ecx
je 0x45b110
push eax
lea eax, [ebp - 0xac]
push str.HFPN:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x44ec], 1
jne 0x45b10b
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.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ab30
mov esi, dword [ebp - 0x68]
mov edx, 1
mov eax, dword [ebp - 0x78]
cmp eax, 0xffffffff
je 0x45b175
push eax
lea ecx, [ebp - 0xac]
push str.VFPN:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x44ec], 1
jne 0x45b170
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.004013e0
mov edx, dword [ebp - 0xa4]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ab30
mov edx, 1
cmp dword [ebx + 0x31c0], 0
je 0x45b36d
cmp dword [ebp - 0x98], edx
jne 0x45b36d
cmp dword [ebx + 0x24c8], edx
jne 0x45b36d
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 + 0x5110]
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 0x45b1f6
push 0
lea ecx, [ebp - 0x7c]
call fcn.00401380
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x6c]
push ecx
push esi
push edi
push edx
mov ecx, ebx
call fcn.00413c70
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45b22d
mov edx, dword [ebp - 0x8c]
push esi
push edi
push edx
mov ecx, ebx
call fcn.0041d660
mov eax, dword [ebp - 0x6c]
push esi
push edi
push eax
mov ecx, ebx
call fcn.00436f80
jmp 0x45b272
cmp al, 1
jne 0x45b249
mov ecx, dword [ebp - 0x8c]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.0041d660
mov edx, dword [ebp - 0x6c]
push esi
push edi
push edx
jmp 0x45b26b
test al, al
je 0x45b255
cmp al, 6
je 0x45b255
cmp al, 7
jne 0x45b272
mov eax, dword [ebp - 0x8c]
push esi
push edi
push eax
mov ecx, ebx
call fcn.0041d660
mov ecx, dword [ebp - 0x6c]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.00435b50
fld dword [ebx + 0x25ec]
sub esp, 0x10
fstp qword [esp + 8]
lea edx, [ebp - 0xac]
fld dword [ebx + 0x25e8]
fstp qword [esp]
push str.Mean:_4.4f__4.4f
push edx
call fcn.00402fb0
fld dword [ebx + 0x25e8]
fld dword [ebx + 0x708]
add esp, 0x18
fcompp
fnstsw ax
test ah, 0x41
je 0x45b322
fld dword [ebx + 0x25e8]
fld dword [ebx + 0x704]
fcompp
fnstsw ax
test ah, 5
jnp 0x45b322
fld dword [ebx + 0x25ec]
fld dword [ebx + 0x710]
fcompp
fnstsw ax
test ah, 0x41
je 0x45b322
fld dword [ebx + 0x25ec]
fld dword [ebx + 0x70c]
fcompp
fnstsw ax
test ah, 5
jnp 0x45b322
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.004013e0
mov ecx, dword [ebp - 0xa4]
add eax, 0x10
mov dword [ecx], eax
jmp 0x45b352
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.004013e0
mov edx, dword [ebp - 0xa4]
add eax, 0x10
mov dword [edx], eax
add esp, 4
mov ecx, ebx
call fcn.0041ab30
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 5
call fcn.004014f0
mov edx, 1
cmp dword [ebx + 0x31c4], 0
je 0x45b3dd
cmp dword [ebp - 0x98], edx
jne 0x45b3dd
cmp dword [ebx + 0x24c8], edx
jne 0x45b3dd
mov ecx, dword [ebx + 0xf38]
mov edx, dword [ebx + 0xf3c]
sub esp, 0x14
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xf40]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xf44]
mov dword [eax + 8], ecx
mov ecx, dword [ebx + 0xf48]
mov dword [eax + 0xc], edx
lea edx, [ebx + 0x2f08]
push edx
push esi
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x6c]
push edi
push eax
mov ecx, ebx
call fcn.004549f0
mov ecx, dword [ebp - 0x6c]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.00434670
mov edx, 1
cmp dword [ebx + 0x31f0], 0
je 0x45b403
cmp dword [ebp - 0x98], edx
jne 0x45b403
cmp dword [ebx + 0x24c8], edx
jne 0x45b403
mov edx, dword [ebp - 0x6c]
push esi
push edi
push edx
mov ecx, ebx
call fcn.00434d00
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Normal_White
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0xc8]
push eax
push ecx
push esi
call fcn.00560810
add esp, 0xc
push 0
push esi
mov ecx, ebx
call fcn.0041a060
mov esi, 1
cmp dword [ebx + 0x31c8], esi
jne 0x45c37f
cmp dword [ebp - 0x98], esi
jne 0x45c37f
cmp dword [ebx + 0x24c8], esi
jne 0x45c37f
sub esp, 0x18
lea edx, [ebx + 0x2ac]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.00419540
mov ecx, ebx
call fcn.00449a30
cmp eax, esi
jne 0x45bb6e
mov dword [ebp - 0x74], 0
xor eax, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x7c], 0
jne 0x45b508
lea eax, [ebx + 0x4b8]
push eax
xor esi, esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45b4d6
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 0x45b49c
test esi, esi
je 0x45b514
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, 3
jl 0x45b494
cmp dword [ebp - 0x7c], 1
jne 0x45b72e
mov edx, dword [ebx + 0x450c]
push 0
push edx
mov ecx, ebx
call fcn.004167f0
cmp eax, 1
jne 0x45b72e
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45b576
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.0040c6b0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push esi
push edi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c230
jmp 0x45b73b
cmp al, 1
jne 0x45b5ec
mov ecx, dword [ebx + 0xa74]
mov edx, dword [ebx + 0xa78]
mov esi, dword [ebp - 0x68]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa7c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa80]
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.0040d1a0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebx + 0x478]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e360
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560810
add esp, 0xc
jmp 0x45b73b
test al, al
je 0x45b662
cmp al, 6
je 0x45b662
cmp al, 7
jne 0x45b738
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 0x45b6bf
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 0x45b620
jmp 0x45b6bf
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45b6bf
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 0x45b680
mov ecx, dword [ebx + 0xa74]
mov edx, dword [ebx + 0xa78]
mov esi, dword [ebp - 0x68]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa7c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa80]
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.0040d1a0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xa8]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e360
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560810
add esp, 0xc
jmp 0x45b73b
mov dword [ebx + 0x24c8], 0
mov esi, dword [ebp - 0x68]
mov eax, 1
cmp dword [ebx + 0x31dc], eax
jne 0x45b834
cmp dword [ebx + 0x24c8], eax
jne 0x45b834
mov edx, dword [ebx + 0xfd4]
fld dword [ebx + 0x24c4]
push edx
sub esp, 8
fstp dword [esp + 4]
lea eax, [ebx + 0x2664]
fld dword [ebx + 0x24c0]
lea ecx, [ebx + 0x2668]
fstp dword [esp]
push eax
mov eax, dword [ebp - 0x8c]
push ecx
push esi
push edi
push eax
mov ecx, ebx
call fcn.004166c0
push 0x58ef0c
lea ecx, [ebp - 0x88]
call fcn.00401a90
cmp dword [ebx + 0x44ec], 1
mov byte [ebp - 4], 9
jne 0x45b80e
fld dword [ebx + 0x2668]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0x88]
fld dword [ebx + 0x2664]
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.004013e0
mov edx, dword [ebp - 0xa4]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ab30
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.ColorLG
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.004014f0
mov eax, 1
cmp dword [ebx + 0x31e4], eax
jne 0x45b88f
cmp dword [ebx + 0x24c8], eax
jne 0x45b88f
movzx eax, word [ebx + 0x7ee]
mov ecx, dword [ebp - 0x6c]
push eax
push esi
push edi
push ecx
lea edx, [ebx + 0x26cf]
push edx
lea eax, [ebx + 0x26ce]
push eax
mov ecx, ebx
call fcn.00417750
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x59281c
mov dword [ebp - 0x98], eax
mov dword [ebx + 0x25d8], eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
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 + 0x5110]
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 0x45b8eb
push 0
lea ecx, [ebp - 0x78]
call fcn.00401380
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
push eax
push esi
push edi
push edx
mov ecx, ebx
call fcn.00413c70
cmp dword [ebx + 0x31c8], 0
je 0x45bb46
mov eax, 1
cmp dword [ebp - 0x98], eax
jne 0x45bb46
cmp dword [ebx + 0x24c8], eax
jne 0x45bb46
xor eax, eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x7c], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45b9a2
mov ecx, dword [ebx + 0xedc]
fld dword [ebx + 0x808]
mov edx, dword [ebx + 0xee0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xee4]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xee8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2764]
push eax
lea ecx, [ebx + 0x275c]
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.004103b0
jmp 0x45ba76
cmp al, 1
jne 0x45ba05
mov edx, dword [ebx + 0xedc]
fld dword [ebx + 0x808]
mov ecx, dword [ebx + 0xee0]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xee4]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xee8]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2764]
push edx
lea eax, [ebx + 0x275c]
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 0x45ba6e
test al, al
je 0x45ba11
cmp al, 6
je 0x45ba11
cmp al, 7
jne 0x45ba76
mov ecx, dword [ebx + 0xedc]
fld dword [ebx + 0x808]
mov edx, dword [ebx + 0xee0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xee4]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xee8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2764]
push eax
lea ecx, [ebx + 0x275c]
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.00411f80
mov eax, dword [ebp - 0x94]
or ecx, 0xffffffff
cmp dword [ebx + 0x2758], ecx
jne 0x45ba8d
mov dword [ebx + 0x2758], eax
cmp dword [ebx + 0x2760], ecx
jne 0x45ba9e
mov edx, dword [ebp - 0x7c]
mov dword [ebx + 0x2760], edx
cmp eax, ecx
je 0x45baf0
push eax
lea eax, [ebp - 0xac]
push str.HFPN_LG:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x44ec], 1
jne 0x45baf0
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.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ab30
mov eax, dword [ebp - 0x7c]
cmp eax, 0xffffffff
je 0x45bb46
push eax
lea ecx, [ebp - 0xac]
push str.VFPN_LG:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x44ec], 1
jne 0x45bb46
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.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ab30
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x592138
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 5
call fcn.004014f0
mov esi, 1
sub esp, 0x18
lea edx, [ebx + 0x2c4]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.00419540
mov ecx, ebx
call fcn.00449a30
cmp eax, esi
jne 0x45c26b
mov dword [ebp - 0x74], 0
xor eax, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x7c], 0
jne 0x45bc0c
lea eax, [ebx + 0x4b8]
push eax
xor esi, esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45bbda
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 0x45bba0
test esi, esi
je 0x45bc18
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, 3
jl 0x45bb98
cmp dword [ebp - 0x7c], 1
jne 0x45be2e
mov edx, dword [ebx + 0x450c]
push 0
add edx, edx
push edx
mov ecx, ebx
call fcn.004167f0
cmp eax, 1
jne 0x45be2e
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45bc7c
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.0040c6b0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push esi
push edi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c230
jmp 0x45be3b
cmp al, 1
jne 0x45bcf2
mov ecx, dword [ebx + 0xa74]
mov edx, dword [ebx + 0xa78]
mov esi, dword [ebp - 0x68]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa7c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa80]
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.0040d1a0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebx + 0x478]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e360
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560810
add esp, 0xc
jmp 0x45be3b
test al, al
je 0x45bd5a
cmp al, 6
je 0x45bd5a
cmp al, 7
jne 0x45be38
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
mov dword [ebp - 0xa4], eax
test eax, eax
jle 0x45bdbf
mov eax, dword [ebp - 0xa8]
xor esi, esi
jmp 0x45bd30
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 0x45bd30
jmp 0x45bdbf
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45bdbf
mov esi, dword [ebp - 0xa8]
xor ecx, ecx
add esi, 2
jmp 0x45bd80
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 0x45bd80
mov ecx, dword [ebx + 0xa74]
mov edx, dword [ebx + 0xa78]
mov esi, dword [ebp - 0x68]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa7c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa80]
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.0040d1a0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xa8]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041e360
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560810
add esp, 0xc
jmp 0x45be3b
mov dword [ebx + 0x24c8], 0
mov esi, dword [ebp - 0x68]
mov eax, 1
cmp dword [ebx + 0x31dc], eax
jne 0x45bf40
cmp dword [ebp - 0x98], eax
jne 0x45bf40
cmp dword [ebx + 0x24c8], eax
jne 0x45bf40
mov edx, dword [ebx + 0xfd4]
fld dword [ebx + 0x24c4]
push edx
sub esp, 8
fstp dword [esp + 4]
lea eax, [ebx + 0x265c]
fld dword [ebx + 0x24c0]
lea ecx, [ebx + 0x2660]
fstp dword [esp]
push eax
mov eax, dword [ebp - 0x8c]
push ecx
push esi
push edi
push eax
mov ecx, ebx
call fcn.004166c0
push 0x58ef0c
lea ecx, [ebp - 0x88]
call fcn.00401a90
cmp dword [ebx + 0x44ec], 1
mov byte [ebp - 4], 0xb
jne 0x45bf1a
fld dword [ebx + 0x2660]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0x88]
fld dword [ebx + 0x265c]
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.004013e0
mov edx, dword [ebp - 0xa4]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ab30
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.ColorHG
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.004014f0
mov eax, 1
cmp dword [ebx + 0x31e4], eax
jne 0x45bf8c
cmp dword [ebp - 0x98], eax
jne 0x45bf8c
cmp dword [ebx + 0x24c8], eax
jne 0x45bf8c
movzx eax, word [ebx + 0x7ec]
mov ecx, dword [ebp - 0x6c]
push eax
push esi
push edi
push ecx
lea edx, [ebx + 0x26cd]
push edx
lea eax, [ebx + 0x26cc]
push eax
mov ecx, ebx
call fcn.00417750
mov dword [ebp - 0x98], eax
mov dword [ebx + 0x25d8], 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 + 0x5110]
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 0x45bfe8
push 0
lea ecx, [ebp - 0x78]
call fcn.00401380
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
push eax
push esi
push edi
push edx
mov ecx, ebx
call fcn.00413c70
cmp dword [ebx + 0x31c8], 0
je 0x45c243
mov eax, 1
cmp dword [ebp - 0x98], eax
jne 0x45c243
cmp dword [ebx + 0x24c8], eax
jne 0x45c243
xor eax, eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x7c], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45c09f
mov ecx, dword [ebx + 0xedc]
fld dword [ebx + 0x800]
mov edx, dword [ebx + 0xee0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xee4]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xee8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2754]
push eax
lea ecx, [ebx + 0x274c]
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.004103b0
jmp 0x45c173
cmp al, 1
jne 0x45c102
mov edx, dword [ebx + 0xedc]
fld dword [ebx + 0x800]
mov ecx, dword [ebx + 0xee0]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xee4]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xee8]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea edx, [ebx + 0x2754]
push edx
lea eax, [ebx + 0x274c]
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 0x45c16b
test al, al
je 0x45c10e
cmp al, 6
je 0x45c10e
cmp al, 7
jne 0x45c173
mov ecx, dword [ebx + 0xedc]
fld dword [ebx + 0x800]
mov edx, dword [ebx + 0xee0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xee4]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xee8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2754]
push eax
lea ecx, [ebx + 0x274c]
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.00411f80
mov eax, dword [ebp - 0x94]
or ecx, 0xffffffff
cmp dword [ebx + 0x2748], ecx
jne 0x45c18a
mov dword [ebx + 0x2748], eax
cmp dword [ebx + 0x2750], ecx
jne 0x45c19b
mov edx, dword [ebp - 0x7c]
mov dword [ebx + 0x2750], edx
cmp eax, ecx
je 0x45c1ed
push eax
lea eax, [ebp - 0xac]
push str.HFPN_HG:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x44ec], 1
jne 0x45c1ed
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.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ab30
mov eax, dword [ebp - 0x7c]
cmp eax, 0xffffffff
je 0x45c243
push eax
lea ecx, [ebp - 0xac]
push str.VFPN_HG:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x44ec], 1
jne 0x45c243
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.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ab30
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x59212c
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 5
call fcn.004014f0
mov esi, 1
fld dword [ebx + 0x2658]
fstp dword [ebp - 0x74]
fld dword [ebx + 0x2658]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fld dword [ebx + 0x2668]
fcompp
fnstsw ax
test ah, 5
jnp 0x45c298
fld dword [ebx + 0x2668]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x2668]
fcompp
fnstsw ax
test ah, 5
jp 0x45c2b3
fld dword [ebx + 0x2668]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fld dword [ebx + 0x2660]
fcompp
fnstsw ax
test ah, 5
jnp 0x45c2ce
fld dword [ebx + 0x2660]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x2660]
fcompp
fnstsw ax
test ah, 5
jp 0x45c2e9
fld dword [ebx + 0x2660]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fsub dword [ebp - 0x80]
fstp dword [ebx + 0x2670]
fld dword [ebx + 0x2654]
fstp dword [ebp - 0x74]
fld dword [ebx + 0x2654]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fld dword [ebx + 0x2664]
fcompp
fnstsw ax
test ah, 5
jnp 0x45c322
fld dword [ebx + 0x2664]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x2664]
fcompp
fnstsw ax
test ah, 5
jp 0x45c33d
fld dword [ebx + 0x2664]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fld dword [ebx + 0x265c]
fcompp
fnstsw ax
test ah, 5
jnp 0x45c358
fld dword [ebx + 0x265c]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x265c]
fcompp
fnstsw ax
test ah, 5
jp 0x45c373
fld dword [ebx + 0x265c]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fsub dword [ebp - 0x80]
fstp dword [ebx + 0x266c]
cmp dword [ebx + 0x31f4], 0
je 0x45c39f
cmp dword [ebp - 0x98], esi
jne 0x45c39f
cmp dword [ebx + 0x24c8], esi
jne 0x45c39f
mov ecx, ebx
call fcn.0044c1a0
cmp dword [ebx + 0x31cc], 0
je 0x45c915
cmp dword [ebp - 0x98], 1
jne 0x45c915
cmp dword [ebx + 0x24c8], 1
jne 0x45c915
sub esp, 0x18
lea edx, [ebx + 0x234]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.00419540
mov ecx, ebx
call fcn.00449a30
push 0
push 4
mov ecx, ebx
call fcn.004167f0
cmp eax, 1
jne 0x45c915
mov eax, dword [ebx + 0x451c]
push 0
push eax
mov ecx, ebx
call fcn.004167f0
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.00560810
add esp, 8
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.SNR_Capture
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45c476
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.00413d60
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
push ecx
push edi
push edx
push esi
lea ecx, [ebp - 0x61]
call fcn.0040c230
jmp 0x45c563
cmp al, 1
jne 0x45c4e3
mov ecx, dword [ebx + 0xa74]
mov edx, dword [ebx + 0xa78]
mov edi, dword [ebp - 0x84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa7c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa80]
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.0040d1a0
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x6c]
push ecx
push esi
push edx
call fcn.00560810
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.0041e360
jmp 0x45c563
test al, al
je 0x45c51d
cmp al, 6
je 0x45c51d
cmp al, 7
jne 0x45c55d
mov eax, edi
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45c47a
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 0x45c502
jmp 0x45c47a
mov eax, edi
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45c47a
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 0x45c535
jmp 0x45c47a
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.0041d660
cmp dword [ebx + 0x44ec], 1
mov dword [ebp - 0x74], 0
jne 0x45c5a3
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.0041ab30
push 0x64
call fcn.0055fee3
push 0x64
mov esi, eax
push 0
push esi
mov dword [ebp - 0xa4], esi
call fcn.0055fff0
mov al, byte [ebx + 0x160]
add esp, 0x10
cmp al, 2
jne 0x45c5df
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.0040fed0
jmp 0x45c611
cmp al, 1
jne 0x45c5f1
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
push esi
push 5
push eax
push edi
push ecx
jmp 0x45c609
test al, al
je 0x45c5fd
cmp al, 6
je 0x45c5fd
cmp al, 7
jne 0x45c611
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.00410570
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 + 0x5110]
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 0x45c66d
push 0
lea ecx, [ebp - 0x78]
call fcn.00401380
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.00413c70
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.SNR_Test
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
fld dword [esi]
fstp dword [ebp - 0xb4]
mov dword [ebp - 0x88], 0
fld dword [esi + 0x30]
fstp dword [ebp - 0x94]
push 0
push 0x58ef0c
lea ecx, [ebp - 0xac]
call fcn.004017e0
xor eax, eax
mov dword [ebp - 0x90], eax
dec eax
cmp eax, 2
ja 0x45c7a8
mov edx, dword [ebp - 0x88]
dec edx
cmp edx, 2
ja 0x45c7a8
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 0x45c761
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ab30
fld dword [esi]
fld dword [ebx + 0x6f4]
inc dword [ebp - 0x74]
fsub qword [0x591668]
fcompp
fnstsw ax
test ah, 0x41
jne 0x45c786
add dword [ebp - 0x74], 0xa
jmp 0x45c786
push 0
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ab30
fld dword [ebp - 0x94]
fld dword [esi]
fcompp
fnstsw ax
test ah, 0x41
je 0x45c863
fld dword [esi]
fstp dword [ebp - 0x94]
jmp 0x45c863
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 0x45c825
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ab30
fld dword [esi]
fld dword [ebx + 0x6f8]
inc dword [ebp - 0x74]
fsub qword [0x591668]
fcompp
fnstsw ax
test ah, 0x41
jne 0x45c84a
add dword [ebp - 0x74], 0xa
jmp 0x45c84a
push 0
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ab30
fld dword [ebp - 0xb4]
fld dword [esi]
fcompp
fnstsw ax
test ah, 0x41
je 0x45c863
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 0x45c6ca
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.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ab30
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp eax, 5
jl 0x45c6b0
mov edx, dword [ebp - 0xa4]
push edx
call fcn.0055f9f8
fld dword [ebp - 0xb4]
xor eax, eax
fstp dword [ebx + 0x25f8]
fld dword [ebp - 0x94]
add esp, 4
cmp dword [ebp - 0x74], 1
fstp dword [ebx + 0x25f4]
mov byte [ebp - 4], 5
setle al
or edx, 0xffffffff
mov dword [ebx + 0x25fc], eax
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x45c915
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x31f0], 0
je 0x45d1b2
cmp dword [ebp - 0x98], 1
jne 0x45d1b2
cmp dword [ebx + 0x24c8], 1
jne 0x45d1b2
fld dword [ebx + 0x790]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
fld dword [ebx + 0xa58]
call fcn.00560070
push eax
push 3
mov ecx, ebx
call fcn.00417b00
sub esp, 0x18
lea edx, [ebx + 0x234]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.00419540
mov ecx, ebx
call fcn.00449a30
push 0
push 3
mov ecx, ebx
call fcn.004167f0
cmp eax, 1
jne 0x45d1b2
push 0
push eax
mov ecx, ebx
call fcn.004167f0
fldz
push ecx
fstp dword [esp]
mov ecx, dword [ebx + 0x55c]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.00417b00
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.00560810
add esp, 8
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.SNR_Capture
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45ca2c
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.00413d60
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
push eax
push edi
push ecx
push esi
lea ecx, [ebp - 0x61]
call fcn.0040c230
jmp 0x45cb7e
cmp al, 1
jne 0x45ca99
mov edx, dword [ebx + 0xa74]
mov ecx, dword [ebx + 0xa78]
mov edi, dword [ebp - 0x84]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 0xa7c]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xa80]
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.0040d1a0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x6c]
push eax
push esi
push ecx
call fcn.00560810
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.0041e360
jmp 0x45cb7e
test al, al
je 0x45cb3c
cmp al, 6
je 0x45cb3c
cmp al, 7
jne 0x45cb78
mov eax, edi
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45cad6
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 0x45cac0
mov ecx, dword [ebx + 0xa74]
mov edx, dword [ebx + 0xa78]
mov edi, dword [ebp - 0x84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa7c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa80]
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.0040d1a0
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x6c]
push ecx
push esi
push edx
call fcn.00560810
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.0041e360
jmp 0x45cb7e
mov eax, edi
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45cad6
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 0x45cb50
jmp 0x45cad6
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.0041d660
cmp dword [ebx + 0x44ec], 1
mov dword [ebp - 0x74], 0
jne 0x45cbbe
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.0041ab30
fldz
push 0x64
fst dword [ebp - 0x80]
fstp dword [ebp - 0x90]
call fcn.0055fee3
push 0x64
mov esi, eax
push 0
push esi
mov dword [ebp - 0x70], esi
call fcn.0055fff0
push 0x64
call fcn.0055fee3
push 0x64
push 0
push eax
mov dword [ebp - 0xa4], eax
call fcn.0055fff0
push 0x64
call fcn.0055fee3
push 0x64
push 0
push eax
mov dword [ebp - 0x88], eax
call fcn.0055fff0
push 0x64
call fcn.0055fee3
push 0x64
push 0
push eax
mov dword [ebp - 0xc4], eax
call fcn.0055fff0
mov al, byte [ebx + 0x160]
add esp, 0x40
cmp al, 2
jne 0x45cc47
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.00410220
jmp 0x45cc80
cmp al, 1
je 0x45cc57
test al, al
je 0x45cc57
cmp al, 6
je 0x45cc57
cmp al, 7
jne 0x45cc80
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.00410be0
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 + 0x5110]
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 0x45ccdc
push 0
lea ecx, [ebp - 0x78]
call fcn.00401380
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.00413c70
push ecx
mov ecx, esp
mov dword [ebp - 0xb8], esp
push str.STD_Test
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
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 0x45cd46
mov edi, dword [ebp - 0xd8]
push 0
push 0x58ef0c
lea ecx, [ebp - 0xac]
call fcn.004017e0
mov dword [ebp - 0x88], 0
mov ecx, dword [ebp - 0x88]
dec ecx
cmp ecx, 2
ja 0x45ceb5
mov edx, dword [ebp - 0xb4]
dec edx
cmp edx, 2
ja 0x45ceb5
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 0x45ce07
fld dword [esi]
fld dword [ebx + 0x7a0]
fcompp
fnstsw ax
test ah, 5
jnp 0x45ce07
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.004013e0
mov ecx, dword [ebp - 0xb8]
add eax, 0x10
mov dword [ecx], eax
add esp, 4
mov ecx, ebx
call fcn.0041ab30
jmp 0x45ce7e
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.004013e0
mov edx, dword [ebp - 0xb8]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ab30
fld dword [edi + esi]
fld dword [ebx + 0x794]
inc dword [ebp - 0x74]
fld qword [0x591668]
fadd st(1), st(0)
fxch st(2)
fcompp
fnstsw ax
test ah, 0x41
je 0x45ce78
fld dword [esi]
fld dword [ebx + 0x7a0]
faddp st(2)
fcompp
fnstsw ax
test ah, 0x41
jne 0x45ce7e
jmp 0x45ce7a
fstp st(0)
add dword [ebp - 0x74], 0xa
fld dword [ebp - 0x7c]
fld dword [edi + esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x45ce93
fld dword [edi + esi]
fstp dword [ebp - 0x7c]
fld dword [ebp - 0x90]
fld dword [esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x45cfdf
fld dword [esi]
fstp dword [ebp - 0x90]
jmp 0x45cfdf
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 0x45cf3a
fld dword [esi]
fld dword [ebx + 0x7a4]
fcompp
fnstsw ax
test ah, 5
jnp 0x45cf3a
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.004013e0
mov ecx, dword [ebp - 0xb8]
add eax, 0x10
mov dword [ecx], eax
add esp, 4
mov ecx, ebx
call fcn.0041ab30
jmp 0x45cfb1
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.004013e0
mov edx, dword [ebp - 0xb8]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041ab30
fld dword [edi + esi]
fld dword [ebx + 0x798]
inc dword [ebp - 0x74]
fld qword [0x591668]
fadd st(1), st(0)
fxch st(2)
fcompp
fnstsw ax
test ah, 0x41
je 0x45cfab
fld dword [esi]
fld dword [ebx + 0x7a4]
faddp st(2)
fcompp
fnstsw ax
test ah, 0x41
jne 0x45cfb1
jmp 0x45cfad
fstp st(0)
add dword [ebp - 0x74], 0xa
fld dword [ebp - 0x94]
fld dword [edi + esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x45cfcc
fld dword [edi + esi]
fstp dword [ebp - 0x94]
fld dword [ebp - 0x80]
fld dword [esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x45cfdf
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 0x45cd62
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 0x45d03c
cmp eax, dword [edi]
jne 0x45d03c
mov dword [ebp - 0x88], edi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x45d07a
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 0x45d180
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.0055f930
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.0041ab30
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, 5
jl 0x45cd40
mov eax, dword [ebp - 0x70]
push eax
call fcn.0055f9f8
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 0x45d0d5
fld dword [ebp - 0x88]
fld qword [0x594b38]
fdiv st(1), st(0)
fxch st(1)
fstp dword [ebx + 0x2608]
fld dword [ebp - 0x94]
fstp dword [ebx + 0x2604]
fld dword [ebp - 0x7c]
fstp dword [ebx + 0x2600]
fdivr dword [ebp - 0xb4]
fstp dword [ebx + 0x2614]
fld dword [ebp - 0x80]
fstp dword [ebx + 0x2610]
fld dword [ebp - 0x90]
fstp dword [ebx + 0x260c]
cmp dword [ebp - 0x74], edx
jg 0x45d185
fld dword [ebx + 0x2608]
fld dword [ebx + 0x79c]
fcompp
fnstsw ax
test ah, 5
jnp 0x45d185
fld dword [ebx + 0x2614]
fld dword [ebx + 0x7a8]
fcompp
fnstsw ax
test ah, 5
jnp 0x45d185
mov dword [ebx + 0x2618], 1
jmp 0x45d18f
call fcn.00401170
mov dword [ebx + 0x2618], 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 0x45d1b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x3208], 0
mov esi, dword [ebp - 0x98]
mov edi, 1
je 0x45d1f9
cmp esi, edi
jne 0x45d1f9
cmp dword [ebx + 0x24c8], edi
jne 0x45d1f9
lea ecx, [ebx + 0x2a5c]
push ecx
mov ecx, ebx
call fcn.0044e150
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Blooming
mov esi, eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
cmp dword [ebx + 0x3204], 0
je 0x45d234
cmp esi, edi
jne 0x45d234
cmp dword [ebx + 0x24c8], edi
jne 0x45d234
mov ecx, ebx
call fcn.0044f280
push ecx
mov esi, eax
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.bHighLightTest1
mov dword [ebx + 0x26d0], esi
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
cmp dword [ebx + 0x320c], 0
je 0x45d26d
cmp esi, edi
jne 0x45d26d
cmp dword [ebx + 0x24c8], edi
jne 0x45d26d
mov ecx, ebx
call fcn.0044e770
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.HighLightTest2
mov dword [ebx + 0x26fc], eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
push 0
mov ecx, ebx
call fcn.00416410
cmp dword [ebx + 0x31d4], 0
mov dword [ebp - 0x98], eax
je 0x45d3f0
mov edx, dword [ebx + 0x44f4]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
push 0x58ef0c
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 + 0x44ec], edi
jne 0x45d2e3
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.0041ab30
mov ecx, dword [ebx + 0x55c]
lea eax, [ebp - 0x24]
push eax
call fcn.00402aa0
fild dword [ebp - 0x24]
fld qword [0x58f0f0]
sub esp, 0x30
lea ecx, [ebp - 0x90]
fdiv st(1), st(0)
fxch st(1)
fstp dword [ebx + 0x2620]
fild dword [ebp - 0x20]
fdiv st(1)
fstp dword [ebx + 0x2624]
fild dword [ebp - 0x1c]
fdiv st(1)
fstp dword [ebx + 0x2628]
fild dword [ebp - 0x18]
fdiv st(1)
fstp dword [ebx + 0x262c]
fidivr dword [ebp - 0x14]
fstp dword [ebx + 0x2630]
fld dword [ebx + 0x2624]
fadd dword [ebx + 0x2620]
fadd dword [ebx + 0x2628]
fstp dword [ebp - 0x70]
fld dword [ebp - 0x70]
fst dword [ebx + 0x2634]
fstp qword [esp + 0x28]
fld dword [ebx + 0x2630]
fstp qword [esp + 0x20]
fld dword [ebx + 0x262c]
fstp qword [esp + 0x18]
fld dword [ebx + 0x2628]
fstp qword [esp + 0x10]
fld dword [ebx + 0x2624]
fstp qword [esp + 8]
fld dword [ebx + 0x2620]
fstp qword [esp]
push 0x595438
push ecx
call fcn.00402fb0
add esp, 0x38
cmp dword [ebx + 0x44ec], edi
jne 0x45d3ca
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.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ab30
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 0x45d3f0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x3214], edi
je 0x45d409
cmp dword [ebx + 0x31d8], edi
jne 0x45e0cc
mov edi, 1
cmp dword [ebp - 0x98], edi
jne 0x45e0cc
cmp dword [ebx + 0x24c8], 1
jne 0x45e0cc
fldz
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.00417b00
mov eax, dword [ebx + 0x204]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.004013e0
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [ebx + 0x208]
mov dword [esi + 4], ecx
mov edx, dword [ebx + 0x20c]
mov dword [esi + 8], edx
fld dword [ebx + 0x210]
fstp dword [esi + 0xc]
add esp, 4
fld dword [ebx + 0x214]
mov ecx, ebx
fstp dword [esi + 0x10]
fld dword [ebx + 0x218]
fstp dword [esi + 0x14]
call fcn.00449a30
fld dword [0x59164c]
mov dword [ebp - 0x94], 0
fstp dword [ebx + 0x25f0]
fld dword [0x595434]
fcomp dword [ebx + 0x25f0]
fnstsw ax
test ah, 5
jp 0x45d6e8
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 0x45d4fe
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 0x45d6c7
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45d55d
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.00560810
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.0040c230
jmp 0x45d66e
cmp al, 1
je 0x45d612
test al, al
je 0x45d5b6
cmp al, 6
je 0x45d5b6
cmp al, 7
jne 0x45d66e
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45d612
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 0x45d590
jmp 0x45d612
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45d612
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 0x45d5d0
mov ecx, dword [ebx + 0xa74]
mov edx, dword [ebx + 0xa78]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa7c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa80]
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.0040d1a0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560810
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 0x45d6b5
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 0x45d6a4
mov dword [ebp - 0x90], edx
fild dword [ebp - 0x90]
fidiv dword [ebp - 0xa4]
fstp dword [ebx + 0x25f0]
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 0x45d4a7
xor eax, eax
push eax
push 4
mov ecx, ebx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x80], eax
call fcn.004167f0
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x80], 0
mov esi, 0x186a0
jne 0x45df01
cmp dword [ebp - 0x7c], 1
jne 0x45df01
mov eax, dword [ebx + 0x4514]
inc dword [ebp - 0x94]
push 0
push eax
mov ecx, ebx
call fcn.004167f0
cmp eax, 1
jne 0x45ded0
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45d74c
mov ecx, dword [ebp - 0xb0]
add ecx, ecx
jmp 0x45d762
cmp al, 1
je 0x45d75c
test al, al
je 0x45d75c
cmp al, 6
je 0x45d75c
cmp al, 7
jne 0x45d768
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x9c], ecx
cmp al, 2
jne 0x45d837
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.0040c6b0
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebx + 0x478]
push edi
push esi
push ecx
push edx
lea ecx, [ebp - 0x61]
call fcn.0040c230
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 + 0x2558]
push ecx
push edi
push esi
push edx
mov ecx, ebx
call fcn.00434fe0
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x8c]
push 1
push eax
mov ecx, ebx
call fcn.0041a060
mov esi, dword [ebx + 0x2fd4]
test esi, esi
je 0x45d800
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0045ff2e
add esp, 4
test esi, esi
jne 0x45d7f0
mov esi, dword [ebx + 0x2fd8]
test esi, esi
je 0x45d820
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0045ff2e
add esp, 4
test esi, esi
jne 0x45d810
fldz
fstp dword [ebx + 0x26c0]
mov dword [ebx + 0x26bc], 0xffffffff
jmp 0x45de34
cmp al, 1
je 0x45d84b
test al, al
je 0x45d857
cmp al, 6
je 0x45d84b
cmp al, 7
jne 0x45de34
test al, al
je 0x45d857
cmp al, 6
jne 0x45d8cc
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45d8b2
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 0x45d870
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560810
add esp, 0xc
cmp byte [ebx + 0x160], 7
jne 0x45d92e
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45d914
xor esi, esi
jmp 0x45d8f0
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 0x45d8f0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560810
add esp, 0xc
mov ecx, dword [ebx + 0xa74]
mov edx, dword [ebx + 0xa78]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa7c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa80]
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.0040d1a0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560810
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 + 0x5110]
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 0x45d9e7
push 0
lea ecx, [ebp - 0x78]
call fcn.00401380
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.00413c70
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebx + 0x478]
push edi
push esi
push edx
push eax
mov ecx, ebx
call fcn.0041e360
mov ecx, dword [ebp - 0x8c]
push edi
push esi
push ecx
mov ecx, ebx
call fcn.0041d660
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 + 0x2558]
push eax
push edi
push esi
push ecx
mov ecx, ebx
call fcn.00449e20
mov edx, dword [ebp - 0x8c]
push edi
push esi
push edx
mov ecx, ebx
mov dword [ebp - 0x80], eax
call fcn.004436c0
push 1
fstp dword [ebx + 0x2ea8]
push 0
push 0xffffffffffffffff
push ecx
mov eax, esp
mov dword [ebp - 0x70], esp
push eax
mov ecx, ebx
call fcn.004404f0
mov ecx, ebx
call fcn.0041ab30
cmp dword [ebp - 0x80], 1
jne 0x45dad2
mov ecx, dword [ebx + 0xfd4]
push ecx
lea edx, [ebx + 0x2a14]
push edx
mov eax, edi
mov edi, dword [ebp - 0x6c]
push eax
mov ecx, esi
push ecx
push edi
mov ecx, ebx
call fcn.004420d0
jmp 0x45dad5
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.004404f0
mov ecx, ebx
call fcn.0041ab30
mov eax, dword [ebp - 0x8c]
push 1
push eax
mov ecx, ebx
call fcn.0041a060
mov esi, dword [ebx + 0x2fd4]
test esi, esi
je 0x45db20
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0045ff2e
add esp, 4
test esi, esi
jne 0x45db10
mov esi, dword [ebx + 0x2fd8]
test esi, esi
je 0x45db40
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0045ff2e
add esp, 4
test esi, esi
jne 0x45db30
cmp dword [ebp - 0x80], 1
jne 0x45db74
fld dword [ebx + 0x720]
mov eax, dword [ebp - 0x68]
push ecx
fstp dword [esp]
lea ecx, [ebx + 0x26c0]
push ecx
mov ecx, dword [ebp - 0x84]
lea edx, [ebx + 0x26bc]
push edx
push eax
push ecx
push edi
mov ecx, ebx
call fcn.00416a40
mov dword [ebp - 0x80], eax
cmp dword [ebx + 0x26bc], 0
jle 0x45dc03
push 0x58ef0c
lea ecx, [ebp - 0x90]
call fcn.00401a90
mov edx, dword [ebx + 0x26bc]
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.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ab30
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 0x45dc03
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, 1
cmp dword [ebx + 0x24c8], esi
jne 0x45ddfa
xor eax, eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x88], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45dca3
mov ecx, dword [ebx + 0xedc]
fld dword [ebx + 0x810]
mov edx, dword [ebx + 0xee0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xee4]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xee8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2774]
push eax
lea ecx, [ebx + 0x276c]
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.004103b0
jmp 0x45dd25
cmp al, 1
je 0x45dcb7
test al, al
je 0x45dcb7
cmp al, 6
je 0x45dcb7
cmp al, 7
jne 0x45dd25
mov ecx, dword [ebx + 0xedc]
fld dword [ebx + 0x810]
mov edx, dword [ebx + 0xee0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xee4]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xee8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x2774]
push eax
lea ecx, [ebx + 0x276c]
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.00411f80
mov eax, dword [ebp - 0xb4]
or ecx, 0xffffffff
cmp dword [ebx + 0x2768], ecx
jne 0x45dd3c
mov dword [ebx + 0x2768], eax
cmp dword [ebx + 0x2770], ecx
jne 0x45dd50
mov edx, dword [ebp - 0x88]
mov dword [ebx + 0x2770], edx
cmp eax, ecx
je 0x45dda1
push eax
lea eax, [ebp - 0xac]
push str.HFPN_Dark:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x44ec], esi
jne 0x45dda1
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.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ab30
mov eax, dword [ebp - 0x88]
cmp eax, 0xffffffff
je 0x45ddfa
push eax
lea ecx, [ebp - 0xac]
push str.VFPN_Dark:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x44ec], 1
jne 0x45ddfa
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.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041ab30
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x592ff8
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
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 0x45de34
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 + 0x5110]
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 0x45de94
push 0
lea ecx, [ebp - 0x74]
call fcn.00401380
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.00413c70
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 0x45def4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x45def4
mov dword [ebx + 0x255c], esi
mov dword [ebx + 0x256c], esi
mov dword [ebx + 0x2558], esi
mov dword [ebx + 0x2568], esi
mov dword [ebx + 0x2560], esi
mov dword [ebx + 0x2570], esi
cmp dword [ebp - 0x94], 1
jl 0x45d700
mov esi, 1
cmp dword [ebx + 0x3214], esi
jne 0x45df1b
mov ecx, ebx
call fcn.00451100
fstp dword [ebx + 0x2a0c]
cmp dword [ebx + 0x3218], esi
jne 0x45df30
mov ecx, ebx
call fcn.0044fe70
fstp dword [ebx + 0x2a10]
cmp dword [ebx + 0x321c], 0
je 0x45dffe
lea esi, [ebx + 0xe4c]
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.004013e0
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 + 0xa68]
fstp dword [esp]
push 1
call fcn.00452390
fstp st(0)
lea edi, [ebx + 0x2eac]
mov ecx, 0xa
lea esi, [ebp - 0x38]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebx + 0x3220], 0
je 0x45e0cc
lea esi, [ebx + 0xe7c]
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.004013e0
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 + 0xa6c]
fstp dword [esp]
push 2
call fcn.00452390
fstp st(0)
lea edi, [ebx + 0x2ed4]
mov ecx, 0xa
lea esi, [ebp - 0x38]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebx + 0x31f8], 0
jne 0x45e0e2
cmp dword [ebx + 0x31fc], 0
je 0x45e4fa
mov eax, 1
cmp dword [ebp - 0x98], eax
jne 0x45e80f
cmp dword [ebx + 0x24c8], eax
jne 0x45e80f
mov eax, dword [ebx + 0x294]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.004013e0
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.00449a30
fldz
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.00417b00
fld dword [0x59164c]
push 0
fstp dword [ebx + 0x25f0]
push 5
mov ecx, ebx
mov dword [ebp - 0xc4], 0
call fcn.004167f0
nop
fld dword [0x595434]
mov edi, dword [ebp - 0x68]
fcomp dword [ebx + 0x25f0]
mov esi, dword [ebp - 0x84]
fnstsw ax
test ah, 5
jp 0x45e3e1
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 0x45e1f0
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 0x45e3b7
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45e24f
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.00560810
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.0040c230
jmp 0x45e35e
cmp al, 1
je 0x45e302
test al, al
je 0x45e2a9
cmp al, 6
je 0x45e2a9
cmp al, 7
jne 0x45e35e
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45e302
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 0x45e280
jmp 0x45e302
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45e302
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 0x45e2c0
mov ecx, dword [ebx + 0xa74]
mov edx, dword [ebx + 0xa78]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0xa7c]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xa80]
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.0040d1a0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560810
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 0x45e3a5
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 0x45e394
mov dword [ebp - 0x90], edx
fild dword [ebp - 0x90]
fidiv dword [ebp - 0xa4]
fstp dword [ebx + 0x25f0]
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 0x45e190
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x68]
push 0
push 1
mov ecx, ebx
call fcn.004167f0
cmp eax, 1
jne 0x45e7f8
cmp byte [ebx + 0x160], 2
jne 0x45e469
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x478]
push edi
push esi
push eax
push ecx
lea ecx, [ebp - 0x61]
call fcn.0040c6b0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push edi
push esi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c230
cmp dword [ebx + 0x31f8], 0
je 0x45e44c
mov ecx, dword [ebp - 0x6c]
push edi
push esi
push ecx
lea ecx, [ebp - 0x61]
call fcn.0040f240
fstp dword [ebx + 0x26c4]
cmp dword [ebx + 0x31fc], 0
je 0x45e469
mov edx, dword [ebp - 0x6c]
push edi
push esi
push edx
lea ecx, [ebp - 0x61]
call fcn.0040f120
fstp dword [ebx + 0x26c8]
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 + 0x5110]
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 0x45e4c9
push 0
lea ecx, [ebp - 0x78]
call fcn.00401380
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x6c]
push ecx
push edi
push esi
push edx
mov ecx, ebx
call fcn.00413c70
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 0x45e4fa
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 + 0x3224], edi
jne 0x45e520
cmp esi, edi
jne 0x45e520
cmp dword [ebx + 0x24c8], edi
jne 0x45e520
mov ecx, ebx
call fcn.0044cfc0
cmp dword [ebx + 0x3234], edi
jne 0x45e53b
cmp esi, edi
jne 0x45e53b
cmp dword [ebx + 0x24c8], edi
jne 0x45e53b
mov ecx, ebx
call fcn.0044bc80
cmp dword [ebx + 0x3238], 0
je 0x45e5d4
cmp esi, edi
jne 0x45e5d4
cmp dword [ebx + 0x24c8], edi
jne 0x45e5d4
cmp dword [ebx + 0x4520], 0
jle 0x45e5a1
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ecx, dword [ebx + 0x4520]
mov edi, dword [ebp - 0xa0]
imul ecx, ecx, 0x3e8
sub eax, edi
cmp eax, ecx
jae 0x45e5a1
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
call esi
mov edx, dword [ebx + 0x4520]
imul edx, edx, 0x3e8
sub eax, edi
cmp eax, edx
jb 0x45e585
lea eax, [ebx + 0x2a74]
push eax
mov ecx, ebx
call fcn.00459240
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push 0x5920b4
mov dword [ebp - 0x98], eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044a280
mov edi, 1
cmp dword [ebx + 0x31d8], 0
je 0x45e614
cmp dword [ebp - 0x98], edi
jne 0x45e614
cmp dword [ebx + 0x24c8], edi
jne 0x45e614
mov ecx, ebx
call fcn.0044c9c0
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.0044a280
cmp dword [ebx + 0x31c0], edi
je 0x45e628
cmp dword [ebx + 0x31c4], edi
jne 0x45e780
mov ecx, dword [ebp - 0xc8]
push 0
push ecx
mov ecx, ebx
call fcn.0041a060
cmp dword [ebx + 0x31c0], 0
je 0x45e740
mov esi, dword [ebx + 0x2fb4]
test esi, esi
je 0x45e660
nop
push esi
mov esi, dword [esi + 0x1c]
call fcn.0045ff2e
add esp, 4
test esi, esi
jne 0x45e650
mov esi, dword [ebx + 0x2fb8]
test esi, esi
je 0x45e680
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0045ff2e
add esp, 4
test esi, esi
jne 0x45e670
mov esi, dword [ebx + 0x2fcc]
test esi, esi
je 0x45e6a0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0045ff2e
add esp, 4
test esi, esi
jne 0x45e690
mov esi, dword [ebx + 0x2fd0]
test esi, esi
je 0x45e6c0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0045ff2e
add esp, 4
test esi, esi
jne 0x45e6b0
mov esi, dword [ebx + 0x2fc4]
test esi, esi
je 0x45e6e0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0045ff2e
add esp, 4
test esi, esi
jne 0x45e6d0
mov esi, dword [ebx + 0x2fc8]
test esi, esi
je 0x45e700
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0045ff2e
add esp, 4
test esi, esi
jne 0x45e6f0
mov esi, dword [ebx + 0x2fbc]
test esi, esi
je 0x45e720
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0045ff2e
add esp, 4
test esi, esi
jne 0x45e710
mov esi, dword [ebx + 0x2fc0]
test esi, esi
je 0x45e740
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0045ff2e
add esp, 4
test esi, esi
jne 0x45e730
cmp dword [ebx + 0x31c4], 0
je 0x45e780
mov esi, dword [ebx + 0x2fdc]
test esi, esi
je 0x45e763
push esi
mov esi, dword [esi + 0x1c]
call fcn.0045ff2e
add esp, 4
test esi, esi
jne 0x45e753
mov esi, dword [ebx + 0x2fe0]
test esi, esi
je 0x45e780
lea ecx, [ecx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0045ff2e
add esp, 4
test esi, esi
jne 0x45e770
mov edx, dword [ebp - 0x6c]
push edx
call fcn.0055f9f8
mov eax, dword [ebp - 0x8c]
push eax
call fcn.0055f9f8
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 0x45e7be
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 0x45e7e4
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.0040c220
jmp 0x45e876
fld dword [0x593604]
fst dword [ebx + 0x26c4]
fstp dword [ebx + 0x26c8]
jmp 0x45e4fa
mov edi, eax
jmp 0x45e4ff
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.0041ab30
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push str.FALI
mov dword [ebx + 0x24c8], 0
call fcn.00401a90
push 0
push 0xff
push 0x3ed
mov ecx, ebx
call fcn.00419440
mov edi, 1
cmp dword [ebx + 0x31e0], edi
jne 0x45e895
cmp dword [ebp - 0x98], edi
jne 0x45e895
mov ecx, ebx
call fcn.00418370
mov dword [ebx + 0x2650], eax
jmp 0x45e89f
mov dword [ebx + 0x2650], 0
cmp dword [ebx + 0x404], 0
jle 0x45e902
mov eax, dword [ebx + 0x3fc]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov esi, esp
push eax
call fcn.004013e0
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [ebx + 0x400]
mov dword [esi + 4], ecx
mov edx, dword [ebx + 0x404]
mov dword [esi + 8], edx
fld dword [ebx + 0x408]
fstp dword [esi + 0xc]
add esp, 4
fld dword [ebx + 0x40c]
mov ecx, ebx
fstp dword [esi + 0x10]
fld dword [ebx + 0x410]
fstp dword [esi + 0x14]
call fcn.00449a30
mov ecx, ebx
call fcn.0041dae0
xor esi, esi
mov ecx, ebx
call fcn.00449f80
mov ecx, ebx
call fcn.0044a390
mov eax, dword [ebp - 0xa8]
push eax
call fcn.0055f9f8
add esp, 4
cmp dword [ebx + 0x4f2c], 3
jne 0x45e9af
cmp dword [ebx + 0x31ec], 1
jne 0x45e9af
push 0x58ef0c
lea ecx, [ebp - 0x90]
call fcn.00401a90
mov ecx, dword [ebx + 0x24d4]
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 + 0x4f7c]
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 0x45e9af
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x58ef0c
lea ecx, [ebp - 0xd4]
call fcn.00401a90
fld dword [ebx + 0x2614]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0xd4]
fld dword [ebx + 0x2608]
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.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ab30
push 1
push esi
push 0xffffffffffffffff
push ecx
mov edx, esp
mov dword [ebp - 0xa0], esp
push edx
mov ecx, ebx
call fcn.004404f0
mov ecx, ebx
call fcn.0041ab30
push 0x58ef0c
lea ecx, [ebp - 0xcc]
call fcn.00401a90
mov eax, dword [ebx + 0x24d4]
movzx ecx, byte [ebx + 0x4524]
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.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ab30
push 1
push esi
push 0x64
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push 0x595398
call fcn.00401a90
mov ecx, ebx
call fcn.0041ab30
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 [0x591e20]
mov dword [ebp - 0xa0], eax
movzx eax, word [ebp - 0x44]
fild dword [ebp - 0xa0]
sub edx, eax
mov dword [ebp - 0xa0], edx
fmul qword [0x595390]
movzx edx, word [ebp - 0x52]
faddp st(1)
sub edx, ecx
push 0x58ef0c
lea ecx, [ebp - 0xd0]
fiadd dword [ebp - 0xa0]
mov dword [ebp - 0xa0], edx
fild dword [ebp - 0xa0]
fdiv qword [0x58ef40]
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.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ab30
cmp dword [ebx + 0x24d4], esi
jne 0x45ebee
mov eax, dword [ebx + 0x2fe4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.004013e0
add esp, 4
push esi
push 0xff00
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00419440
cmp dword [ebx + 0x24d4], 1
jne 0x45ec2e
mov eax, dword [ebx + 0x2fe4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.004013e0
add esp, 4
push esi
push 0xff0000
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00419440
cmp dword [ebx + 0x24d4], 2
jne 0x45ec75
mov eax, dword [ebx + 0x2fe4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.004013e0
add esp, 4
push esi
push 0xffff
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00419440
cmp dword [ebx + 0x24d4], 2
jle 0x45ecae
mov eax, dword [ebx + 0x2fe4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.004013e0
add esp, 4
push esi
push 0xff
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.00419440
push 1
push 0x3e8
mov ecx, ebx
call fcn.0046c93c
mov ecx, eax
call fcn.0046cb5f
mov eax, dword [ebx + 0x2fe4]
push 1
push esi
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.004013e0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041ab30
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.0055f9f8
add esp, 4
cmp dword [ebx + 0x323c], esi
je 0x45ed6e
mov eax, dword [ebx + 0x24a0]
cmp eax, esi
je 0x45ed23
push eax
call fcn.0055f9f8
add esp, 4
mov dword [ebx + 0x24a0], esi
mov eax, dword [ebx + 0x24a4]
cmp eax, esi
je 0x45ed3c
push eax
call fcn.0055f9f8
add esp, 4
mov dword [ebx + 0x24a4], esi
mov eax, dword [ebx + 0x24a8]
cmp eax, esi
je 0x45ed55
push eax
call fcn.0055f9f8
add esp, 4
mov dword [ebx + 0x24a8], esi
mov eax, dword [ebx + 0x24ac]
cmp eax, esi
je 0x45ed6e
push eax
call fcn.0055f9f8
add esp, 4
mov dword [ebx + 0x24ac], esi
push 2
push 3
mov ecx, ebx
call fcn.00417b00
push esi
mov dword [ebx + 0x5108], 1
push 0x3e8
mov dword [ebx + 0x510c], 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 0x45edc1
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 0x45ede7
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 0x45ee10
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.0055fe16
mov esp, ebp
pop ebp
ret