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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x580b04
mov eax, dword fs:[0]
push eax
sub esp, 0x18c
mov eax, dword [0x5e5e94]
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 0x459d6c
push esi
lea ecx, [ebp - 0x198]
call fcn.004134a0
push 0xd
push 0x59662c
lea ecx, [ebp - 0xdc]
mov dword [ebp - 4], esi
call fcn.004017e0
lea ecx, [ebp - 0x198]
call fcn.00463e5c
cmp eax, edi
jne 0x459d25
lea eax, [ebp - 0xe0]
lea ecx, [ebx + 0x4f70]
push eax
call fcn.004019a0
push 0xd
push 0x59661c
lea ecx, [ebp - 0xdc]
call fcn.004017e0
lea ecx, [ebp - 0x198]
call fcn.00463e5c
cmp eax, edi
jne 0x459d58
lea edx, [ebp - 0xe0]
lea ecx, [ebx + 0x4f74]
push edx
call fcn.004019a0
lea ecx, [ebp - 0x198]
mov dword [ebp - 4], 0xffffffff
call fcn.004133e0
jmp 0x459d8e
push edi
lea ecx, [ebx + 0x4f70]
push 0x594870
call fcn.004017e0
push edi
lea ecx, [ebx + 0x4f74]
push 0x594870
call fcn.004017e0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
push 0x3e8
mov ecx, ebx
mov dword [ebp - 0xa0], eax
call fcn.0046caac
mov ecx, eax
call fcn.0046cccf
lea eax, [ebx + 0x4d0]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, ebx
call fcn.0041ba20
push esi
lea ecx, [ebx + 0x502c]
push 0x58ff0c
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 0x459e4d
mov ecx, ebx
call fcn.004428d0
mov ecx, ebx
call fcn.00444da0
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.0041a270
push 0x3eb
mov ecx, ebx
call fcn.0046caac
mov esi, eax
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.004730bb
push 0x58ff0c
mov ecx, esi
call fcn.0046cbc2
cmp dword [ebx + 0x158], 2
mov dword [ebx + 0x24b4], 0xffffffff
mov dword [ebx + 0x24b8], edi
je 0x459ecf
push 0
push 0
push str.Please_stop_preview_
call fcn.004626b5
xor eax, eax
jmp 0x45f005
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.0041b8f0
push edi
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push ecx
mov ecx, ebx
call fcn.004412b0
mov ecx, ebx
call fcn.0041b8f0
cmp dword [ebx + 0x323c], 0
je 0x459f31
mov ecx, ebx
call fcn.00447f60
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.005600cb
push edi
push 0
push eax
mov dword [ebp - 0xa8], eax
call fcn.005601e0
lea esi, [esi + esi*2]
push esi
call fcn.005600cb
push esi
push 0
push eax
mov dword [ebp - 0xc8], eax
call fcn.005601e0
mov edi, 1
add esp, 0x20
mov dword [ebp - 0x98], edi
cmp dword [ebx + 0x3230], edi
jne 0x45a3f6
cmp dword [ebx + 0x24b8], 0xffffffff
je 0x45a3f6
push 2
mov ecx, ebx
call fcn.004496f0
test eax, eax
jne 0x45a001
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.0041a270
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.0041b8f0
jmp 0x45eaf9
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.0055fbde
mov edx, dword [ebp - 0x90]
push edx
call fcn.005600cb
mov ecx, dword [ebp - 0x90]
push ecx
push 0
push eax
mov dword [ebp - 0xa8], eax
call fcn.005601e0
mov edx, dword [ebp - 0xc8]
push edx
call fcn.0055fbde
lea esi, [esi + esi*2]
push esi
call fcn.005600cb
push esi
xor esi, esi
push esi
push eax
mov dword [ebp - 0xc8], eax
call fcn.005601e0
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 0x45a0e6
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45a0be
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 0x45a088
cmp byte [ebx + 0x1c7], 0
jne 0x45a0fb
mov edx, dword [ebx + 0x4b0]
mov dword [ebp - 0x88], edx
cmp dword [ebx + 0x4508], 0
jle 0x45a39f
xor edi, edi
mov dword [ebp - 0x90], edi
test edi, edi
jne 0x45a174
lea esi, [ebx + 0x4b8]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45a146
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 0x45a110
mov al, byte [ebx + 0x160]
mov dword [ebp - 0x7c], edi
cmp al, 2
jne 0x45a1ee
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.0040c280
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.0040c710
lea ecx, [ebp - 0x61]
mov dword [ebp - 4], 0xffffffff
call fcn.00405800
jmp 0x45a364
cmp al, 1
jne 0x45a21c
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.0041f120
jmp 0x45a364
test al, al
je 0x45a2b6
cmp al, 6
je 0x45a2b6
cmp al, 7
jne 0x45a364
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 0x45a28c
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 0x45a252
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.0041f120
jmp 0x45a364
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 0x45a33c
xor esi, esi
jmp 0x45a2e0
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 0x45a2e0
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.0041f120
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.0041e420
test edi, edi
je 0x45a39f
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, dword [ebx + 0x4508]
jl 0x45a108
cmp byte [ebx + 0x1c7], 0
jne 0x45a3b0
mov eax, dword [ebx + 0x4b0]
jmp 0x45a3b6
mov eax, dword [ebp - 0x94]
mov dword [ebx + 0x2a4c], eax
cmp eax, dword [ebp - 0x88]
jge 0x45a3ce
mov dword [ebx + 0x2a4c], 0x10000
mov ecx, dword [ebx + 0x2a4c]
cmp ecx, dword [ebx + 0x1a40]
jle 0x45a3e6
mov dword [ebx + 0x25e0], 0
mov ecx, ebx
call fcn.0041e8a0
cmp edi, 1
jne 0x45eaf9
xor esi, esi
cmp dword [ebx + 0x24b8], 0xffffffff
je 0x45eafb
push 1
mov ecx, ebx
mov dword [ebx + 0x24c8], esi
call fcn.004496f0
test eax, eax
jne 0x45a473
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.0041a270
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.0041b8f0
jmp 0x45eafb
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.0055fbde
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.005600cb
mov edx, dword [ebp - 0xc0]
push edx
push 0
push eax
mov dword [ebp - 0xa8], eax
call fcn.005601e0
mov eax, dword [ebp - 0xc8]
push eax
call fcn.0055fbde
lea esi, [esi + esi*2]
push esi
mov dword [ebp - 0xc0], esi
call fcn.005600cb
push esi
push 0
push eax
mov dword [ebp - 0xc8], eax
call fcn.005601e0
add esp, 0x24
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x59659c
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
cmp dword [ebx + 0x3210], 1
jne 0x45a52a
lea ecx, [ebx + 0x2730]
push ecx
lea edx, [ebx + 0x2728]
push edx
mov ecx, ebx
call fcn.00418780
mov esi, 1
cmp dword [ebx + 0x322c], esi
jne 0x45a5c8
fld dword [0x596598]
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.00454790
movzx eax, al
mov dword [ebp - 0x98], eax
cmp eax, esi
jne 0x45a57d
mov dword [ebx + 0x2f9c], 0
mov dword [ebx + 0x25e4], esi
jmp 0x45a5b7
mov dword [ebx + 0x2f9c], 0xffffffff
mov dword [ebx + 0x25e4], 0
test eax, eax
jne 0x45a5b7
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.0041b8f0
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 0x45a63d
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45a615
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 0x45a5df
cmp byte [ebx + 0x1c7], 0
mov dword [ebx + 0x25e0], 1
jne 0x45a65c
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.00560260
push eax
push 3
mov ecx, ebx
call fcn.00418940
cmp dword [ebx + 0x4508], 0
jle 0x45a8d8
xor edi, edi
xor esi, esi
test edi, edi
jne 0x45a6f5
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45a6cd
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 0x45a697
mov al, byte [ebx + 0x160]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], esi
cmp al, 2
jne 0x45a761
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.0040c280
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.0040c710
lea ecx, [ebp - 0x61]
mov dword [ebp - 4], 0xffffffff
call fcn.00405800
jmp 0x45a8a8
cmp al, 1
jne 0x45a78a
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.0041f120
jmp 0x45a8a8
test al, al
je 0x45a822
cmp al, 6
je 0x45a822
cmp al, 7
jne 0x45a8a8
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 0x45a7fa
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 0x45a7c0
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.0041f120
mov esi, dword [ebp - 0x80]
jmp 0x45a8a8
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45a885
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 0x45a840
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.0041f120
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.0041e420
test edi, edi
je 0x45a8d8
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, dword [ebx + 0x4508]
jl 0x45a693
cmp byte [ebx + 0x1c7], 0
jne 0x45a8e9
mov eax, dword [ebx + 0x4b0]
jmp 0x45a8ef
mov eax, dword [ebp - 0x88]
mov dword [ebx + 0x2a4c], eax
cmp eax, dword [ebp - 0x90]
jge 0x45a907
mov dword [ebx + 0x2a4c], 0x10000
mov ecx, dword [ebx + 0x2a4c]
cmp ecx, dword [ebx + 0x1a40]
jle 0x45a91f
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.0044a740
cmp edi, 1
jne 0x45ea06
xor edi, edi
cmp esi, 0xc8
jge 0x45ea06
test edi, edi
jne 0x45a9ab
lea eax, [ebx + 0x4b8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], edi
je 0x45a983
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 0x45a94d
cmp edi, 1
jne 0x45ea06
mov esi, dword [ebp - 0x98]
cmp esi, edi
jne 0x45ea06
cmp dword [ebx + 0x3240], 0
je 0x45a9e7
mov ecx, ebx
call fcn.00456700
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 0x45aa2c
mov ecx, ebx
call fcn.00454360
push ecx
mov esi, eax
and esi, dword [ebx + 0x25e0]
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x593108
mov dword [ebp - 0x98], esi
mov dword [ebx + 0x25e0], esi
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
cmp dword [ebx + 0x3228], 0
je 0x45aaa2
cmp esi, 1
jne 0x45aaa2
mov ecx, ebx
call fcn.00444b40
mov dword [ebp - 0x98], eax
cmp eax, esi
jne 0x45aa57
mov dword [ebx + 0x2f98], 0
jmp 0x45aa8b
mov ecx, ebx
call fcn.00444660
fld dword [ebx + 0x56c]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
mov ecx, ebx
call fcn.00444b40
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.0044a740
mov esi, dword [ebp - 0xc0]
push esi
call fcn.005600cb
push esi
push 0
push eax
mov dword [ebp - 0x8c], eax
call fcn.005601e0
add esp, 0x10
lea ecx, [ebp - 0x61]
call fcn.0040c280
mov esi, dword [ebp - 0xb0]
push esi
mov dword [ebp - 4], 3
mov dword [ebp - 0x9c], esi
call fcn.005600cb
push esi
push 0
push eax
mov dword [ebp - 0x6c], eax
call fcn.005601e0
add esp, 0x10
push 0x58ff0c
lea ecx, [ebp - 0xbc]
call fcn.00401a90
push 0x58ff0c
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 0x45ab26
add esi, esi
jmp 0x45ab2a
cmp al, 1
jne 0x45ab30
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x74], 0
xor esi, esi
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x45ab9b
lea edi, [ebx + 0x4b8]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45ab72
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 0x45ab3c
test esi, esi
je 0x45aba7
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, 3
jl 0x45ab37
mov eax, dword [ebx + 0x24c]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [edi], eax
mov edx, dword [ebx + 0x250]
mov dword [edi + 4], edx
mov eax, dword [ebx + 0x254]
mov dword [edi + 8], eax
fld dword [ebx + 0x258]
fstp dword [edi + 0xc]
add esp, 4
fld dword [ebx + 0x25c]
mov ecx, ebx
fstp dword [edi + 0x10]
fld dword [ebx + 0x260]
fstp dword [edi + 0x14]
call fcn.00449f60
cmp dword [ebx + 0x4510], 0
mov dword [ebp - 0x74], 0
jle 0x45ac83
lea ebx, [ebx]
xor esi, esi
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x45ac74
lea edi, [ebx + 0x4b8]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45ac4b
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 0x45ac15
test esi, esi
je 0x45ac83
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, dword [ebx + 0x4510]
jl 0x45ac10
fld dword [ebx + 0x56c]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
fld dword [ebx + 0xa54]
call fcn.00560260
push eax
push 3
mov ecx, ebx
call fcn.00418940
cmp dword [ebp - 0x98], 1
jne 0x45aeb2
test esi, esi
je 0x45aeb2
cmp dword [ebx + 0x31c8], 0
jne 0x45acea
cmp dword [ebx + 0x31c4], 0
jne 0x45acea
cmp dword [ebx + 0x31dc], 0
jne 0x45acea
cmp dword [ebx + 0x31c0], 0
je 0x45aeb2
mov edx, dword [ebx + 0x450c]
push 0
push edx
mov ecx, ebx
call fcn.00417630
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.0044a740
cmp esi, 1
jne 0x45aea8
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45ad61
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.0040c710
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push esi
push edi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c290
jmp 0x45aebb
cmp al, 1
je 0x45ae33
test al, al
je 0x45adda
cmp al, 6
je 0x45adda
cmp al, 7
jne 0x45aeb2
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 0x45ae33
xor esi, esi
jmp 0x45ada0
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 0x45ada0
jmp 0x45ae33
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45ae33
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 0x45adf1
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.0040d200
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebx + 0x478]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041f120
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560a00
add esp, 0xc
jmp 0x45aebb
mov dword [ebx + 0x24c8], 0
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x84]
mov edx, 1
cmp dword [ebx + 0x31dc], edx
jne 0x45b0b1
cmp dword [ebp - 0x98], edx
jne 0x45b0b1
cmp dword [ebx + 0x24c8], edx
jne 0x45b0b1
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.00417500
push 0x58ff0c
lea ecx, [ebp - 0x88]
call fcn.00401a90
cmp dword [ebx + 0x44ec], 1
mov byte [ebp - 4], 6
jne 0x45af8f
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.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041b8f0
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
push edx
push edi
push eax
mov ecx, ebx
call fcn.00444470
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.0044a740
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.005600cb
mov edx, dword [ebp - 0x9c]
push edx
mov esi, eax
push 0
push esi
call fcn.005601e0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x6c]
push eax
push ecx
push esi
call fcn.00560a00
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.0041c4a0
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.00442e80
lea ecx, [ebp - 0x7c]
push ecx
call fcn.00404c00
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 0x45b07b
push 0
lea ecx, [ebp - 0x7c]
call fcn.004013a0
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x68]
push esi
push eax
push edi
push edx
mov ecx, ebx
call fcn.00414ab0
push esi
call fcn.0055fbde
add esp, 4
lea ecx, [ebp - 0x7c]
call fcn.00401380
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.00401380
mov esi, dword [ebp - 0x68]
mov edx, 1
cmp dword [ebx + 0x31e4], edx
jne 0x45b0fd
cmp dword [ebp - 0x98], edx
jne 0x45b0fd
cmp dword [ebx + 0x24c8], edx
jne 0x45b0fd
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.00418590
mov dword [ebp - 0x98], eax
mov dword [ebx + 0x25d8], eax
mov edx, 1
xor eax, eax
cmp dword [ebx + 0x31c8], eax
je 0x45b365
cmp dword [ebp - 0x98], edx
jne 0x45b365
cmp dword [ebx + 0x24c8], edx
jne 0x45b365
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x78], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45b1a0
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.00410410
jmp 0x45b274
cmp al, 1
jne 0x45b203
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 0x45b26c
test al, al
je 0x45b20f
cmp al, 6
je 0x45b20f
cmp al, 7
jne 0x45b279
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.00412dc0
mov edx, 1
mov eax, dword [ebp - 0x94]
or ecx, 0xffffffff
cmp dword [ebx + 0x2738], ecx
jne 0x45b290
mov dword [ebx + 0x2738], eax
cmp dword [ebx + 0x2740], ecx
jne 0x45b2a6
mov edx, dword [ebp - 0x78]
mov dword [ebx + 0x2740], edx
mov edx, 1
cmp eax, ecx
je 0x45b300
push eax
lea eax, [ebp - 0xac]
push str.HFPN:_d
push eax
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x44ec], 1
jne 0x45b2fb
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041b8f0
mov esi, dword [ebp - 0x68]
mov edx, 1
mov eax, dword [ebp - 0x78]
cmp eax, 0xffffffff
je 0x45b365
push eax
lea ecx, [ebp - 0xac]
push str.VFPN:_d
push ecx
call fcn.00402fb0
add esp, 0xc
cmp dword [ebx + 0x44ec], 1
jne 0x45b360
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov dword [ebp - 0xa4], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xa4]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041b8f0
mov edx, 1
cmp dword [ebx + 0x31c0], 0
je 0x45b55d
cmp dword [ebp - 0x98], edx
jne 0x45b55d
cmp dword [ebx + 0x24c8], edx
jne 0x45b55d
lea eax, [ebp - 0x7c]
push eax
call fcn.00404c00
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 0x45b3e6
push 0
lea ecx, [ebp - 0x7c]
call fcn.004013a0
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x6c]
push ecx
push esi
push edi
push edx
mov ecx, ebx
call fcn.00414ab0
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45b41d
mov edx, dword [ebp - 0x8c]
push esi
push edi
push edx
mov ecx, ebx
call fcn.0041e420
mov eax, dword [ebp - 0x6c]
push esi
push edi
push eax
mov ecx, ebx
call fcn.00437d30
jmp 0x45b462
cmp al, 1
jne 0x45b439
mov ecx, dword [ebp - 0x8c]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.0041e420
mov edx, dword [ebp - 0x6c]
push esi
push edi
push edx
jmp 0x45b45b
test al, al
je 0x45b445
cmp al, 6
je 0x45b445
cmp al, 7
jne 0x45b462
mov eax, dword [ebp - 0x8c]
push esi
push edi
push eax
mov ecx, ebx
call fcn.0041e420
mov ecx, dword [ebp - 0x6c]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.00436900
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 0x45b512
fld dword [ebx + 0x25e8]
fld dword [ebx + 0x704]
fcompp
fnstsw ax
test ah, 5
jnp 0x45b512
fld dword [ebx + 0x25ec]
fld dword [ebx + 0x710]
fcompp
fnstsw ax
test ah, 0x41
je 0x45b512
fld dword [ebx + 0x25ec]
fld dword [ebx + 0x70c]
fcompp
fnstsw ax
test ah, 5
jnp 0x45b512
mov eax, dword [ebp - 0xac]
push 1
push 0xff00
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov dword [ebp - 0xa4], esp
push eax
call fcn.00401400
mov ecx, dword [ebp - 0xa4]
add eax, 0x10
mov dword [ecx], eax
jmp 0x45b542
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov dword [ebp - 0xa4], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xa4]
add eax, 0x10
mov dword [edx], eax
add esp, 4
mov ecx, ebx
call fcn.0041b8f0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 5
call fcn.00401380
mov edx, 1
cmp dword [ebx + 0x31c4], 0
je 0x45b5cd
cmp dword [ebp - 0x98], edx
jne 0x45b5cd
cmp dword [ebx + 0x24c8], edx
jne 0x45b5cd
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.00454e00
mov ecx, dword [ebp - 0x6c]
push esi
push edi
push ecx
mov ecx, ebx
call fcn.00435420
mov edx, 1
cmp dword [ebx + 0x31f0], 0
je 0x45b5f3
cmp dword [ebp - 0x98], edx
jne 0x45b5f3
cmp dword [ebx + 0x24c8], edx
jne 0x45b5f3
mov edx, dword [ebp - 0x6c]
push esi
push edi
push edx
mov ecx, ebx
call fcn.00435ab0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Normal_White
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0xc8]
push eax
push ecx
push esi
call fcn.00560a00
add esp, 0xc
push 0
push esi
mov ecx, ebx
call fcn.0041ae20
mov esi, 1
cmp dword [ebx + 0x31c8], esi
jne 0x45c56f
cmp dword [ebp - 0x98], esi
jne 0x45c56f
cmp dword [ebx + 0x24c8], esi
jne 0x45c56f
sub esp, 0x18
lea edx, [ebx + 0x2ac]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.0041a370
mov ecx, ebx
call fcn.00449f60
cmp eax, esi
jne 0x45bd5e
mov dword [ebp - 0x74], 0
xor eax, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x7c], 0
jne 0x45b6f8
lea eax, [ebx + 0x4b8]
push eax
xor esi, esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45b6c6
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 0x45b68c
test esi, esi
je 0x45b704
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, 3
jl 0x45b684
cmp dword [ebp - 0x7c], 1
jne 0x45b91e
mov edx, dword [ebx + 0x450c]
push 0
push edx
mov ecx, ebx
call fcn.00417630
cmp eax, 1
jne 0x45b91e
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45b766
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.0040c710
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push esi
push edi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c290
jmp 0x45b92b
cmp al, 1
jne 0x45b7dc
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.0040d200
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebx + 0x478]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041f120
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560a00
add esp, 0xc
jmp 0x45b92b
test al, al
je 0x45b852
cmp al, 6
je 0x45b852
cmp al, 7
jne 0x45b928
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 0x45b8af
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 0x45b810
jmp 0x45b8af
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45b8af
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 0x45b870
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.0040d200
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xa8]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041f120
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560a00
add esp, 0xc
jmp 0x45b92b
mov dword [ebx + 0x24c8], 0
mov esi, dword [ebp - 0x68]
mov eax, 1
cmp dword [ebx + 0x31dc], eax
jne 0x45ba24
cmp dword [ebx + 0x24c8], eax
jne 0x45ba24
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.00417500
push 0x58ff0c
lea ecx, [ebp - 0x88]
call fcn.00401a90
cmp dword [ebx + 0x44ec], 1
mov byte [ebp - 4], 9
jne 0x45b9fe
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.00401400
mov edx, dword [ebp - 0xa4]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041b8f0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.ColorLG
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.00401380
mov eax, 1
cmp dword [ebx + 0x31e4], eax
jne 0x45ba7f
cmp dword [ebx + 0x24c8], eax
jne 0x45ba7f
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.00418590
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x593804
mov dword [ebp - 0x98], eax
mov dword [ebx + 0x25d8], eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
lea ecx, [ebp - 0x78]
push ecx
call fcn.00404c00
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 0x45badb
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
push eax
push esi
push edi
push edx
mov ecx, ebx
call fcn.00414ab0
cmp dword [ebx + 0x31c8], 0
je 0x45bd36
mov eax, 1
cmp dword [ebp - 0x98], eax
jne 0x45bd36
cmp dword [ebx + 0x24c8], eax
jne 0x45bd36
xor eax, eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x7c], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45bb92
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.00410410
jmp 0x45bc66
cmp al, 1
jne 0x45bbf5
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 0x45bc5e
test al, al
je 0x45bc01
cmp al, 6
je 0x45bc01
cmp al, 7
jne 0x45bc66
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.00412dc0
mov eax, dword [ebp - 0x94]
or ecx, 0xffffffff
cmp dword [ebx + 0x2758], ecx
jne 0x45bc7d
mov dword [ebx + 0x2758], eax
cmp dword [ebx + 0x2760], ecx
jne 0x45bc8e
mov edx, dword [ebp - 0x7c]
mov dword [ebx + 0x2760], edx
cmp eax, ecx
je 0x45bce0
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 0x45bce0
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041b8f0
mov eax, dword [ebp - 0x7c]
cmp eax, 0xffffffff
je 0x45bd36
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 0x45bd36
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041b8f0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x593120
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 5
call fcn.00401380
mov esi, 1
sub esp, 0x18
lea edx, [ebx + 0x2c4]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.0041a370
mov ecx, ebx
call fcn.00449f60
cmp eax, esi
jne 0x45c45b
mov dword [ebp - 0x74], 0
xor eax, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x7c], 0
jne 0x45bdfc
lea eax, [ebx + 0x4b8]
push eax
xor esi, esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x4a8], esi
je 0x45bdca
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 0x45bd90
test esi, esi
je 0x45be08
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp eax, 3
jl 0x45bd88
cmp dword [ebp - 0x7c], 1
jne 0x45c01e
mov edx, dword [ebx + 0x450c]
push 0
add edx, edx
push edx
mov ecx, ebx
call fcn.00417630
cmp eax, 1
jne 0x45c01e
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45be6c
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.0040c710
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push esi
push edi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c290
jmp 0x45c02b
cmp al, 1
jne 0x45bee2
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.0040d200
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebx + 0x478]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041f120
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560a00
add esp, 0xc
jmp 0x45c02b
test al, al
je 0x45bf4a
cmp al, 6
je 0x45bf4a
cmp al, 7
jne 0x45c028
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
mov dword [ebp - 0xa4], eax
test eax, eax
jle 0x45bfaf
mov eax, dword [ebp - 0xa8]
xor esi, esi
jmp 0x45bf20
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 0x45bf20
jmp 0x45bfaf
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45bfaf
mov esi, dword [ebp - 0xa8]
xor ecx, ecx
add esi, 2
jmp 0x45bf70
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 0x45bf70
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.0040d200
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xa8]
push esi
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041f120
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560a00
add esp, 0xc
jmp 0x45c02b
mov dword [ebx + 0x24c8], 0
mov esi, dword [ebp - 0x68]
mov eax, 1
cmp dword [ebx + 0x31dc], eax
jne 0x45c130
cmp dword [ebp - 0x98], eax
jne 0x45c130
cmp dword [ebx + 0x24c8], eax
jne 0x45c130
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.00417500
push 0x58ff0c
lea ecx, [ebp - 0x88]
call fcn.00401a90
cmp dword [ebx + 0x44ec], 1
mov byte [ebp - 4], 0xb
jne 0x45c10a
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.00401400
mov edx, dword [ebp - 0xa4]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041b8f0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.ColorHG
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.00401380
mov eax, 1
cmp dword [ebx + 0x31e4], eax
jne 0x45c17c
cmp dword [ebp - 0x98], eax
jne 0x45c17c
cmp dword [ebx + 0x24c8], eax
jne 0x45c17c
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.00418590
mov dword [ebp - 0x98], eax
mov dword [ebx + 0x25d8], eax
lea ecx, [ebp - 0x78]
push ecx
call fcn.00404c00
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 0x45c1d8
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
push eax
push esi
push edi
push edx
mov ecx, ebx
call fcn.00414ab0
cmp dword [ebx + 0x31c8], 0
je 0x45c433
mov eax, 1
cmp dword [ebp - 0x98], eax
jne 0x45c433
cmp dword [ebx + 0x24c8], eax
jne 0x45c433
xor eax, eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x7c], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45c28f
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.00410410
jmp 0x45c363
cmp al, 1
jne 0x45c2f2
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 0x45c35b
test al, al
je 0x45c2fe
cmp al, 6
je 0x45c2fe
cmp al, 7
jne 0x45c363
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.00412dc0
mov eax, dword [ebp - 0x94]
or ecx, 0xffffffff
cmp dword [ebx + 0x2748], ecx
jne 0x45c37a
mov dword [ebx + 0x2748], eax
cmp dword [ebx + 0x2750], ecx
jne 0x45c38b
mov edx, dword [ebp - 0x7c]
mov dword [ebx + 0x2750], edx
cmp eax, ecx
je 0x45c3dd
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 0x45c3dd
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041b8f0
mov eax, dword [ebp - 0x7c]
cmp eax, 0xffffffff
je 0x45c433
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 0x45c433
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041b8f0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x593114
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 5
call fcn.00401380
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 0x45c488
fld dword [ebx + 0x2668]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x2668]
fcompp
fnstsw ax
test ah, 5
jp 0x45c4a3
fld dword [ebx + 0x2668]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fld dword [ebx + 0x2660]
fcompp
fnstsw ax
test ah, 5
jnp 0x45c4be
fld dword [ebx + 0x2660]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x2660]
fcompp
fnstsw ax
test ah, 5
jp 0x45c4d9
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 0x45c512
fld dword [ebx + 0x2664]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x2664]
fcompp
fnstsw ax
test ah, 5
jp 0x45c52d
fld dword [ebx + 0x2664]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x74]
fld dword [ebx + 0x265c]
fcompp
fnstsw ax
test ah, 5
jnp 0x45c548
fld dword [ebx + 0x265c]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld dword [ebx + 0x265c]
fcompp
fnstsw ax
test ah, 5
jp 0x45c563
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 0x45c58f
cmp dword [ebp - 0x98], esi
jne 0x45c58f
cmp dword [ebx + 0x24c8], esi
jne 0x45c58f
mov ecx, ebx
call fcn.0044c710
cmp dword [ebx + 0x31cc], 0
je 0x45cb05
cmp dword [ebp - 0x98], 1
jne 0x45cb05
cmp dword [ebx + 0x24c8], 1
jne 0x45cb05
sub esp, 0x18
lea edx, [ebx + 0x234]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.0041a370
mov ecx, ebx
call fcn.00449f60
push 0
push 4
mov ecx, ebx
call fcn.00417630
cmp eax, 1
jne 0x45cb05
mov eax, dword [ebx + 0x451c]
push 0
push eax
mov ecx, ebx
call fcn.00417630
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.00560a00
add esp, 8
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.SNR_Capture
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45c666
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.00414ba0
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
push ecx
push edi
push edx
push esi
lea ecx, [ebp - 0x61]
call fcn.0040c290
jmp 0x45c753
cmp al, 1
jne 0x45c6d3
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.0040d200
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x6c]
push ecx
push esi
push edx
call fcn.00560a00
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.0041f120
jmp 0x45c753
test al, al
je 0x45c70d
cmp al, 6
je 0x45c70d
cmp al, 7
jne 0x45c74d
mov eax, edi
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45c66a
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 0x45c6f2
jmp 0x45c66a
mov eax, edi
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45c66a
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 0x45c725
jmp 0x45c66a
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.0041e420
cmp dword [ebx + 0x44ec], 1
mov dword [ebp - 0x74], 0
jne 0x45c793
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.0041b8f0
push 0x64
call fcn.005600cb
push 0x64
mov esi, eax
push 0
push esi
mov dword [ebp - 0xa4], esi
call fcn.005601e0
mov al, byte [ebx + 0x160]
add esp, 0x10
cmp al, 2
jne 0x45c7cf
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.0040ff30
jmp 0x45c801
cmp al, 1
jne 0x45c7e1
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
push esi
push 5
push eax
push edi
push ecx
jmp 0x45c7f9
test al, al
je 0x45c7ed
cmp al, 6
je 0x45c7ed
cmp al, 7
jne 0x45c801
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.004105d0
lea ecx, [ebp - 0x78]
push ecx
call fcn.00404c00
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 0x45c85d
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
push eax
push ecx
push edi
push edx
mov ecx, ebx
call fcn.00414ab0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.SNR_Test
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
fld dword [esi]
fstp dword [ebp - 0xb4]
mov dword [ebp - 0x88], 0
fld dword [esi + 0x30]
fstp dword [ebp - 0x94]
push 0
push 0x58ff0c
lea ecx, [ebp - 0xac]
call fcn.004017e0
xor eax, eax
mov dword [ebp - 0x90], eax
dec eax
cmp eax, 2
ja 0x45c998
mov edx, dword [ebp - 0x88]
dec edx
cmp edx, 2
ja 0x45c998
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 0x45c951
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041b8f0
fld dword [esi]
fld dword [ebx + 0x6f4]
inc dword [ebp - 0x74]
fsub qword [0x592650]
fcompp
fnstsw ax
test ah, 0x41
jne 0x45c976
add dword [ebp - 0x74], 0xa
jmp 0x45c976
push 0
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041b8f0
fld dword [ebp - 0x94]
fld dword [esi]
fcompp
fnstsw ax
test ah, 0x41
je 0x45ca53
fld dword [esi]
fstp dword [ebp - 0x94]
jmp 0x45ca53
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 0x45ca15
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041b8f0
fld dword [esi]
fld dword [ebx + 0x6f8]
inc dword [ebp - 0x74]
fsub qword [0x592650]
fcompp
fnstsw ax
test ah, 0x41
jne 0x45ca3a
add dword [ebp - 0x74], 0xa
jmp 0x45ca3a
push 0
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041b8f0
fld dword [ebp - 0xb4]
fld dword [esi]
fcompp
fnstsw ax
test ah, 0x41
je 0x45ca53
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 0x45c8ba
mov eax, dword [ebp - 0xac]
push 1
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041b8f0
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp eax, 5
jl 0x45c8a0
mov edx, dword [ebp - 0xa4]
push edx
call fcn.0055fbde
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 0x45cb05
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x31f0], 0
je 0x45d3a2
cmp dword [ebp - 0x98], 1
jne 0x45d3a2
cmp dword [ebx + 0x24c8], 1
jne 0x45d3a2
fld dword [ebx + 0x790]
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
fld dword [ebx + 0xa58]
call fcn.00560260
push eax
push 3
mov ecx, ebx
call fcn.00418940
sub esp, 0x18
lea edx, [ebx + 0x234]
mov ecx, esp
mov dword [ebp - 0x70], esp
push edx
call fcn.0041a370
mov ecx, ebx
call fcn.00449f60
push 0
push 3
mov ecx, ebx
call fcn.00417630
cmp eax, 1
jne 0x45d3a2
push 0
push eax
mov ecx, ebx
call fcn.00417630
fldz
push ecx
fstp dword [esp]
mov ecx, dword [ebx + 0x55c]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.00418940
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.00560a00
add esp, 8
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.SNR_Capture
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45cc1c
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.00414ba0
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
push eax
push edi
push ecx
push esi
lea ecx, [ebp - 0x61]
call fcn.0040c290
jmp 0x45cd6e
cmp al, 1
jne 0x45cc89
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.0040d200
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x6c]
push eax
push esi
push ecx
call fcn.00560a00
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.0041f120
jmp 0x45cd6e
test al, al
je 0x45cd2c
cmp al, 6
je 0x45cd2c
cmp al, 7
jne 0x45cd68
mov eax, edi
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45ccc6
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 0x45ccb0
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.0040d200
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x6c]
push ecx
push esi
push edx
call fcn.00560a00
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.0041f120
jmp 0x45cd6e
mov eax, edi
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle 0x45ccc6
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 0x45cd40
jmp 0x45ccc6
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.0041e420
cmp dword [ebx + 0x44ec], 1
mov dword [ebp - 0x74], 0
jne 0x45cdae
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.0041b8f0
fldz
push 0x64
fst dword [ebp - 0x80]
fstp dword [ebp - 0x90]
call fcn.005600cb
push 0x64
mov esi, eax
push 0
push esi
mov dword [ebp - 0x70], esi
call fcn.005601e0
push 0x64
call fcn.005600cb
push 0x64
push 0
push eax
mov dword [ebp - 0xa4], eax
call fcn.005601e0
push 0x64
call fcn.005600cb
push 0x64
push 0
push eax
mov dword [ebp - 0x88], eax
call fcn.005601e0
push 0x64
call fcn.005600cb
push 0x64
push 0
push eax
mov dword [ebp - 0xc4], eax
call fcn.005601e0
mov al, byte [ebx + 0x160]
add esp, 0x40
cmp al, 2
jne 0x45ce37
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.00410280
jmp 0x45ce70
cmp al, 1
je 0x45ce47
test al, al
je 0x45ce47
cmp al, 6
je 0x45ce47
cmp al, 7
jne 0x45ce70
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.00410c40
lea edx, [ebp - 0x78]
push edx
call fcn.00404c00
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 0x45cecc
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x84]
push ecx
push eax
push edx
mov ecx, ebx
call fcn.00414ab0
push ecx
mov ecx, esp
mov dword [ebp - 0xb8], esp
push str.STD_Test
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
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 0x45cf36
mov edi, dword [ebp - 0xd8]
push 0
push 0x58ff0c
lea ecx, [ebp - 0xac]
call fcn.004017e0
mov dword [ebp - 0x88], 0
mov ecx, dword [ebp - 0x88]
dec ecx
cmp ecx, 2
ja 0x45d0a5
mov edx, dword [ebp - 0xb4]
dec edx
cmp edx, 2
ja 0x45d0a5
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 0x45cff7
fld dword [esi]
fld dword [ebx + 0x7a0]
fcompp
fnstsw ax
test ah, 5
jnp 0x45cff7
mov eax, dword [ebp - 0xbc]
push 0
push 0
push 0xc8
push ecx
mov dword [ebp - 0xb8], esp
add eax, 0xfffffff0
mov dword [ebp - 0xb8], esp
push eax
call fcn.00401400
mov ecx, dword [ebp - 0xb8]
add eax, 0x10
mov dword [ecx], eax
add esp, 4
mov ecx, ebx
call fcn.0041b8f0
jmp 0x45d06e
mov eax, dword [ebp - 0xbc]
push 0
push 0xff
push 0xc8
push ecx
mov dword [ebp - 0xb8], esp
add eax, 0xfffffff0
mov dword [ebp - 0xb8], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xb8]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041b8f0
fld dword [edi + esi]
fld dword [ebx + 0x794]
inc dword [ebp - 0x74]
fld qword [0x592650]
fadd st(1), st(0)
fxch st(2)
fcompp
fnstsw ax
test ah, 0x41
je 0x45d068
fld dword [esi]
fld dword [ebx + 0x7a0]
faddp st(2)
fcompp
fnstsw ax
test ah, 0x41
jne 0x45d06e
jmp 0x45d06a
fstp st(0)
add dword [ebp - 0x74], 0xa
fld dword [ebp - 0x7c]
fld dword [edi + esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x45d083
fld dword [edi + esi]
fstp dword [ebp - 0x7c]
fld dword [ebp - 0x90]
fld dword [esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x45d1cf
fld dword [esi]
fstp dword [ebp - 0x90]
jmp 0x45d1cf
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 0x45d12a
fld dword [esi]
fld dword [ebx + 0x7a4]
fcompp
fnstsw ax
test ah, 5
jnp 0x45d12a
mov eax, dword [ebp - 0xbc]
push 0
push 0
push 0xc8
push ecx
mov dword [ebp - 0xb8], esp
add eax, 0xfffffff0
mov dword [ebp - 0xb8], esp
push eax
call fcn.00401400
mov ecx, dword [ebp - 0xb8]
add eax, 0x10
mov dword [ecx], eax
add esp, 4
mov ecx, ebx
call fcn.0041b8f0
jmp 0x45d1a1
mov eax, dword [ebp - 0xbc]
push 0
push 0xff
push 0xc8
push ecx
mov dword [ebp - 0xb8], esp
add eax, 0xfffffff0
mov dword [ebp - 0xb8], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0xb8]
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edx], eax
call fcn.0041b8f0
fld dword [edi + esi]
fld dword [ebx + 0x798]
inc dword [ebp - 0x74]
fld qword [0x592650]
fadd st(1), st(0)
fxch st(2)
fcompp
fnstsw ax
test ah, 0x41
je 0x45d19b
fld dword [esi]
fld dword [ebx + 0x7a4]
faddp st(2)
fcompp
fnstsw ax
test ah, 0x41
jne 0x45d1a1
jmp 0x45d19d
fstp st(0)
add dword [ebp - 0x74], 0xa
fld dword [ebp - 0x94]
fld dword [edi + esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x45d1bc
fld dword [edi + esi]
fstp dword [ebp - 0x94]
fld dword [ebp - 0x80]
fld dword [esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x45d1cf
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 0x45cf52
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 0x45d22c
cmp eax, dword [edi]
jne 0x45d22c
mov dword [ebp - 0x88], edi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x45d26a
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 0x45d370
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.0055fb16
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.0041b8f0
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, 5
jl 0x45cf30
mov eax, dword [ebp - 0x70]
push eax
call fcn.0055fbde
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 0x45d2c5
fld dword [ebp - 0x88]
fld qword [0x595b30]
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 0x45d375
fld dword [ebx + 0x2608]
fld dword [ebx + 0x79c]
fcompp
fnstsw ax
test ah, 5
jnp 0x45d375
fld dword [ebx + 0x2614]
fld dword [ebx + 0x7a8]
fcompp
fnstsw ax
test ah, 5
jnp 0x45d375
mov dword [ebx + 0x2618], 1
jmp 0x45d37f
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 0x45d3a2
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 0x45d3e9
cmp esi, edi
jne 0x45d3e9
cmp dword [ebx + 0x24c8], edi
jne 0x45d3e9
lea ecx, [ebx + 0x2a5c]
push ecx
mov ecx, ebx
call fcn.0044e6c0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push str.Blooming
mov esi, eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
cmp dword [ebx + 0x3204], 0
je 0x45d424
cmp esi, edi
jne 0x45d424
cmp dword [ebx + 0x24c8], edi
jne 0x45d424
mov ecx, ebx
call fcn.0044f7f0
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.0044a740
cmp dword [ebx + 0x320c], 0
je 0x45d45d
cmp esi, edi
jne 0x45d45d
cmp dword [ebx + 0x24c8], edi
jne 0x45d45d
mov ecx, ebx
call fcn.0044ece0
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.0044a740
push 0
mov ecx, ebx
call fcn.00417250
cmp dword [ebx + 0x31d4], 0
mov dword [ebp - 0x98], eax
je 0x45d5e0
mov edx, dword [ebx + 0x44f4]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
push 0x58ff0c
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 0x45d4d3
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.0041b8f0
mov ecx, dword [ebx + 0x55c]
lea eax, [ebp - 0x24]
push eax
call fcn.00402aa0
fild dword [ebp - 0x24]
fld qword [0x5900f0]
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 0x596428
push ecx
call fcn.00402fb0
add esp, 0x38
cmp dword [ebx + 0x44ec], edi
jne 0x45d5ba
mov eax, dword [ebp - 0x90]
push edi
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041b8f0
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 0x45d5e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x3214], edi
je 0x45d5f9
cmp dword [ebx + 0x31d8], edi
jne 0x45e2bc
mov edi, 1
cmp dword [ebp - 0x98], edi
jne 0x45e2bc
cmp dword [ebx + 0x24c8], 1
jne 0x45e2bc
fldz
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.00418940
mov eax, dword [ebx + 0x204]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [ebx + 0x208]
mov dword [esi + 4], ecx
mov edx, dword [ebx + 0x20c]
mov dword [esi + 8], edx
fld dword [ebx + 0x210]
fstp dword [esi + 0xc]
add esp, 4
fld dword [ebx + 0x214]
mov ecx, ebx
fstp dword [esi + 0x10]
fld dword [ebx + 0x218]
fstp dword [esi + 0x14]
call fcn.00449f60
fld dword [0x592634]
mov dword [ebp - 0x94], 0
fstp dword [ebx + 0x25f0]
fld dword [0x596424]
fcomp dword [ebx + 0x25f0]
fnstsw ax
test ah, 5
jp 0x45d8d8
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 0x45d6ee
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 0x45d8b7
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45d74d
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.00560a00
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.0040c290
jmp 0x45d85e
cmp al, 1
je 0x45d802
test al, al
je 0x45d7a6
cmp al, 6
je 0x45d7a6
cmp al, 7
jne 0x45d85e
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45d802
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 0x45d780
jmp 0x45d802
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45d802
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 0x45d7c0
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.0040d200
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560a00
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 0x45d8a5
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 0x45d894
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 0x45d697
xor eax, eax
push eax
push 4
mov ecx, ebx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x80], eax
call fcn.00417630
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x80], 0
mov esi, 0x186a0
jne 0x45e0f1
cmp dword [ebp - 0x7c], 1
jne 0x45e0f1
mov eax, dword [ebx + 0x4514]
inc dword [ebp - 0x94]
push 0
push eax
mov ecx, ebx
call fcn.00417630
cmp eax, 1
jne 0x45e0c0
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45d93c
mov ecx, dword [ebp - 0xb0]
add ecx, ecx
jmp 0x45d952
cmp al, 1
je 0x45d94c
test al, al
je 0x45d94c
cmp al, 6
je 0x45d94c
cmp al, 7
jne 0x45d958
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x9c], ecx
cmp al, 2
jne 0x45da27
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.0040c710
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebx + 0x478]
push edi
push esi
push ecx
push edx
lea ecx, [ebp - 0x61]
call fcn.0040c290
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.00435d90
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x8c]
push 1
push eax
mov ecx, ebx
call fcn.0041ae20
mov esi, dword [ebx + 0x2fd4]
test esi, esi
je 0x45d9f0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0046011e
add esp, 4
test esi, esi
jne 0x45d9e0
mov esi, dword [ebx + 0x2fd8]
test esi, esi
je 0x45da10
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0046011e
add esp, 4
test esi, esi
jne 0x45da00
fldz
fstp dword [ebx + 0x26c0]
mov dword [ebx + 0x26bc], 0xffffffff
jmp 0x45e024
cmp al, 1
je 0x45da3b
test al, al
je 0x45da47
cmp al, 6
je 0x45da3b
cmp al, 7
jne 0x45e024
test al, al
je 0x45da47
cmp al, 6
jne 0x45dabc
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45daa2
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 0x45da60
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560a00
add esp, 0xc
cmp byte [ebx + 0x160], 7
jne 0x45db1e
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45db04
xor esi, esi
jmp 0x45dae0
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 0x45dae0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560a00
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.0040d200
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560a00
lea eax, [ebp - 0x78]
push eax
call fcn.00404c00
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 0x45dbd7
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x68]
mov esi, dword [ebp - 0x84]
push ecx
push edi
push esi
push edx
mov ecx, ebx
call fcn.00414ab0
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebx + 0x478]
push edi
push esi
push edx
push eax
mov ecx, ebx
call fcn.0041f120
mov ecx, dword [ebp - 0x8c]
push edi
push esi
push ecx
mov ecx, ebx
call fcn.0041e420
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.0044a2e0
mov edx, dword [ebp - 0x8c]
push edi
push esi
push edx
mov ecx, ebx
mov dword [ebp - 0x80], eax
call fcn.00444470
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.004412b0
mov ecx, ebx
call fcn.0041b8f0
cmp dword [ebp - 0x80], 1
jne 0x45dcc2
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.00442e80
jmp 0x45dcc5
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.004412b0
mov ecx, ebx
call fcn.0041b8f0
mov eax, dword [ebp - 0x8c]
push 1
push eax
mov ecx, ebx
call fcn.0041ae20
mov esi, dword [ebx + 0x2fd4]
test esi, esi
je 0x45dd10
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0046011e
add esp, 4
test esi, esi
jne 0x45dd00
mov esi, dword [ebx + 0x2fd8]
test esi, esi
je 0x45dd30
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0046011e
add esp, 4
test esi, esi
jne 0x45dd20
cmp dword [ebp - 0x80], 1
jne 0x45dd64
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.00417880
mov dword [ebp - 0x80], eax
cmp dword [ebx + 0x26bc], 0
jle 0x45ddf3
push 0x58ff0c
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.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041b8f0
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 0x45ddf3
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 0x45dfea
xor eax, eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x88], eax
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45de93
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.00410410
jmp 0x45df15
cmp al, 1
je 0x45dea7
test al, al
je 0x45dea7
cmp al, 6
je 0x45dea7
cmp al, 7
jne 0x45df15
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.00412dc0
mov eax, dword [ebp - 0xb4]
or ecx, 0xffffffff
cmp dword [ebx + 0x2768], ecx
jne 0x45df2c
mov dword [ebx + 0x2768], eax
cmp dword [ebx + 0x2770], ecx
jne 0x45df40
mov edx, dword [ebp - 0x88]
mov dword [ebx + 0x2770], edx
cmp eax, ecx
je 0x45df91
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 0x45df91
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041b8f0
mov eax, dword [ebp - 0x88]
cmp eax, 0xffffffff
je 0x45dfea
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 0x45dfea
mov eax, dword [ebp - 0xac]
push 1
push 0xff
push 0xc8
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0041b8f0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x593fe0
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
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 0x45e024
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.00404c00
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 0x45e084
push 0
lea ecx, [ebp - 0x74]
call fcn.004013a0
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x84]
push ecx
push eax
push edx
mov ecx, ebx
call fcn.00414ab0
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 0x45e0e4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x45e0e4
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 0x45d8f0
mov esi, 1
cmp dword [ebx + 0x3214], esi
jne 0x45e10b
mov ecx, ebx
call fcn.00451510
fstp dword [ebx + 0x2a0c]
cmp dword [ebx + 0x3218], esi
jne 0x45e120
mov ecx, ebx
call fcn.00450280
fstp dword [ebx + 0x2a10]
cmp dword [ebx + 0x321c], 0
je 0x45e1ee
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.00401400
add eax, 0x10
mov dword [esi], eax
mov edx, dword [ebx + 0x418]
mov dword [esi + 4], edx
mov eax, dword [ebx + 0x41c]
mov dword [esi + 8], eax
fld dword [ebx + 0x420]
fstp dword [esi + 0xc]
mov ecx, ebx
fld dword [ebx + 0x424]
fstp dword [esi + 0x10]
fld dword [ebx + 0x428]
fstp dword [esi + 0x14]
fld dword [ebx + 0xa68]
fstp dword [esp]
push 1
call fcn.004527a0
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 0x45e2bc
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.00401400
add eax, 0x10
mov dword [esi], eax
mov edx, dword [ebx + 0x430]
mov dword [esi + 4], edx
mov eax, dword [ebx + 0x434]
mov dword [esi + 8], eax
fld dword [ebx + 0x438]
fstp dword [esi + 0xc]
mov ecx, ebx
fld dword [ebx + 0x43c]
fstp dword [esi + 0x10]
fld dword [ebx + 0x440]
fstp dword [esi + 0x14]
fld dword [ebx + 0xa6c]
fstp dword [esp]
push 2
call fcn.004527a0
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 0x45e2d2
cmp dword [ebx + 0x31fc], 0
je 0x45e6ea
mov eax, 1
cmp dword [ebp - 0x98], eax
jne 0x45e9ff
cmp dword [ebx + 0x24c8], eax
jne 0x45e9ff
mov eax, dword [ebx + 0x294]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0x70], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [ebx + 0x298]
mov dword [esi + 4], ecx
mov edx, dword [ebx + 0x29c]
mov dword [esi + 8], edx
fld dword [ebx + 0x2a0]
fstp dword [esi + 0xc]
add esp, 4
fld dword [ebx + 0x2a4]
mov ecx, ebx
fstp dword [esi + 0x10]
fld dword [ebx + 0x2a8]
fstp dword [esi + 0x14]
call fcn.00449f60
fldz
push ecx
mov ecx, dword [ebx + 0x55c]
fstp dword [esp]
call fcn.00402440
push 2
push 3
mov ecx, ebx
call fcn.00418940
fld dword [0x592634]
push 0
fstp dword [ebx + 0x25f0]
push 5
mov ecx, ebx
mov dword [ebp - 0xc4], 0
call fcn.00417630
nop
fld dword [0x596424]
mov edi, dword [ebp - 0x68]
fcomp dword [ebx + 0x25f0]
mov esi, dword [ebp - 0x84]
fnstsw ax
test ah, 5
jp 0x45e5d1
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 0x45e3e0
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 0x45e5a7
mov al, byte [ebx + 0x160]
cmp al, 2
jne 0x45e43f
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.00560a00
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.0040c290
jmp 0x45e54e
cmp al, 1
je 0x45e4f2
test al, al
je 0x45e499
cmp al, 6
je 0x45e499
cmp al, 7
jne 0x45e54e
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x45e4f2
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 0x45e470
jmp 0x45e4f2
mov eax, dword [ebp - 0xb0]
cdq
and edx, 3
add eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
jle 0x45e4f2
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 0x45e4b0
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.0040d200
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.00560a00
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 0x45e595
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 0x45e584
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 0x45e380
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x68]
push 0
push 1
mov ecx, ebx
call fcn.00417630
cmp eax, 1
jne 0x45e9e8
cmp byte [ebx + 0x160], 2
jne 0x45e659
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x478]
push edi
push esi
push eax
push ecx
lea ecx, [ebp - 0x61]
call fcn.0040c710
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x478]
push edi
push esi
push edx
push eax
lea ecx, [ebp - 0x61]
call fcn.0040c290
cmp dword [ebx + 0x31f8], 0
je 0x45e63c
mov ecx, dword [ebp - 0x6c]
push edi
push esi
push ecx
lea ecx, [ebp - 0x61]
call fcn.0040f2a0
fstp dword [ebx + 0x26c4]
cmp dword [ebx + 0x31fc], 0
je 0x45e659
mov edx, dword [ebp - 0x6c]
push edi
push esi
push edx
lea ecx, [ebp - 0x61]
call fcn.0040f180
fstp dword [ebx + 0x26c8]
lea eax, [ebp - 0x78]
push eax
call fcn.00404c00
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 0x45e6b9
push 0
lea ecx, [ebp - 0x78]
call fcn.004013a0
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x6c]
push ecx
push edi
push esi
push edx
mov ecx, ebx
call fcn.00414ab0
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 0x45e6ea
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 0x45e710
cmp esi, edi
jne 0x45e710
cmp dword [ebx + 0x24c8], edi
jne 0x45e710
mov ecx, ebx
call fcn.0044d530
cmp dword [ebx + 0x3234], edi
jne 0x45e72b
cmp esi, edi
jne 0x45e72b
cmp dword [ebx + 0x24c8], edi
jne 0x45e72b
mov ecx, ebx
call fcn.0044c1f0
cmp dword [ebx + 0x3238], 0
je 0x45e7c4
cmp esi, edi
jne 0x45e7c4
cmp dword [ebx + 0x24c8], edi
jne 0x45e7c4
cmp dword [ebx + 0x4520], 0
jle 0x45e791
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 0x45e791
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 0x45e775
lea eax, [ebx + 0x2a74]
push eax
mov ecx, ebx
call fcn.00459430
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push 0x59309c
mov dword [ebp - 0x98], eax
call fcn.00401a90
mov ecx, ebx
call fcn.0044a740
mov edi, 1
cmp dword [ebx + 0x31d8], 0
je 0x45e804
cmp dword [ebp - 0x98], edi
jne 0x45e804
cmp dword [ebx + 0x24c8], edi
jne 0x45e804
mov ecx, ebx
call fcn.0044cf30
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.0044a740
cmp dword [ebx + 0x31c0], edi
je 0x45e818
cmp dword [ebx + 0x31c4], edi
jne 0x45e970
mov ecx, dword [ebp - 0xc8]
push 0
push ecx
mov ecx, ebx
call fcn.0041ae20
cmp dword [ebx + 0x31c0], 0
je 0x45e930
mov esi, dword [ebx + 0x2fb4]
test esi, esi
je 0x45e850
nop
push esi
mov esi, dword [esi + 0x1c]
call fcn.0046011e
add esp, 4
test esi, esi
jne 0x45e840
mov esi, dword [ebx + 0x2fb8]
test esi, esi
je 0x45e870
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0046011e
add esp, 4
test esi, esi
jne 0x45e860
mov esi, dword [ebx + 0x2fcc]
test esi, esi
je 0x45e890
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0046011e
add esp, 4
test esi, esi
jne 0x45e880
mov esi, dword [ebx + 0x2fd0]
test esi, esi
je 0x45e8b0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0046011e
add esp, 4
test esi, esi
jne 0x45e8a0
mov esi, dword [ebx + 0x2fc4]
test esi, esi
je 0x45e8d0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0046011e
add esp, 4
test esi, esi
jne 0x45e8c0
mov esi, dword [ebx + 0x2fc8]
test esi, esi
je 0x45e8f0
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0046011e
add esp, 4
test esi, esi
jne 0x45e8e0
mov esi, dword [ebx + 0x2fbc]
test esi, esi
je 0x45e910
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0046011e
add esp, 4
test esi, esi
jne 0x45e900
mov esi, dword [ebx + 0x2fc0]
test esi, esi
je 0x45e930
lea ebx, [ebx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0046011e
add esp, 4
test esi, esi
jne 0x45e920
cmp dword [ebx + 0x31c4], 0
je 0x45e970
mov esi, dword [ebx + 0x2fdc]
test esi, esi
je 0x45e953
push esi
mov esi, dword [esi + 0x1c]
call fcn.0046011e
add esp, 4
test esi, esi
jne 0x45e943
mov esi, dword [ebx + 0x2fe0]
test esi, esi
je 0x45e970
lea ecx, [ecx]
push esi
mov esi, dword [esi + 0x1c]
call fcn.0046011e
add esp, 4
test esi, esi
jne 0x45e960
mov edx, dword [ebp - 0x6c]
push edx
call fcn.0055fbde
mov eax, dword [ebp - 0x8c]
push eax
call fcn.0055fbde
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 0x45e9ae
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 0x45e9d4
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.00405800
jmp 0x45ea66
fld dword [0x5945ec]
fst dword [ebx + 0x26c4]
fstp dword [ebx + 0x26c8]
jmp 0x45e6ea
mov edi, eax
jmp 0x45e6ef
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.0041b8f0
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.0041a270
mov edi, 1
cmp dword [ebx + 0x31e0], edi
jne 0x45ea85
cmp dword [ebp - 0x98], edi
jne 0x45ea85
mov ecx, ebx
call fcn.004191b0
mov dword [ebx + 0x2650], eax
jmp 0x45ea8f
mov dword [ebx + 0x2650], 0
cmp dword [ebx + 0x404], 0
jle 0x45eaf2
mov eax, dword [ebx + 0x3fc]
sub esp, 0x18
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov esi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [ebx + 0x400]
mov dword [esi + 4], ecx
mov edx, dword [ebx + 0x404]
mov dword [esi + 8], edx
fld dword [ebx + 0x408]
fstp dword [esi + 0xc]
add esp, 4
fld dword [ebx + 0x40c]
mov ecx, ebx
fstp dword [esi + 0x10]
fld dword [ebx + 0x410]
fstp dword [esi + 0x14]
call fcn.00449f60
mov ecx, ebx
call fcn.0041e8a0
xor esi, esi
mov ecx, ebx
call fcn.0044a440
mov ecx, ebx
call fcn.0044a850
mov eax, dword [ebp - 0xa8]
push eax
call fcn.0055fbde
add esp, 4
cmp dword [ebx + 0x4f2c], 3
jne 0x45eb9f
cmp dword [ebx + 0x31ec], 1
jne 0x45eb9f
push 0x58ff0c
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.00404fe0
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 0x45eb9f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x58ff0c
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.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041b8f0
push 1
push esi
push 0xffffffffffffffff
push ecx
mov edx, esp
mov dword [ebp - 0xa0], esp
push edx
mov ecx, ebx
call fcn.004412b0
mov ecx, ebx
call fcn.0041b8f0
push 0x58ff0c
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.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041b8f0
push 1
push esi
push 0x64
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push 0x596388
call fcn.00401a90
mov ecx, ebx
call fcn.0041b8f0
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 [0x592e08]
mov dword [ebp - 0xa0], eax
movzx eax, word [ebp - 0x44]
fild dword [ebp - 0xa0]
sub edx, eax
mov dword [ebp - 0xa0], edx
fmul qword [0x596380]
movzx edx, word [ebp - 0x52]
faddp st(1)
sub edx, ecx
push 0x58ff0c
lea ecx, [ebp - 0xd0]
fiadd dword [ebp - 0xa0]
mov dword [ebp - 0xa0], edx
fild dword [ebp - 0xa0]
fdiv qword [0x58ff40]
faddp st(1)
fstp dword [ebp - 0xa0]
call fcn.00401a90
lea eax, [ebx + 0x4d0]
push eax
mov byte [ebp - 4], 0x17
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
fld dword [ebp - 0xa0]
sub esp, 8
fstp qword [esp]
lea eax, [ebp - 0xd0]
push str.TestTime:__4.4f_s
push eax
call fcn.00402fb0
mov eax, dword [ebp - 0xd0]
add esp, 0x10
push 1
push esi
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041b8f0
cmp dword [ebx + 0x24d4], esi
jne 0x45edde
mov eax, dword [ebx + 0x2fe4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add esp, 4
push esi
push 0xff00
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a270
cmp dword [ebx + 0x24d4], 1
jne 0x45ee1e
mov eax, dword [ebx + 0x2fe4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add esp, 4
push esi
push 0xff0000
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a270
cmp dword [ebx + 0x24d4], 2
jne 0x45ee65
mov eax, dword [ebx + 0x2fe4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add esp, 4
push esi
push 0xffff
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a270
cmp dword [ebx + 0x24d4], 2
jle 0x45ee9e
mov eax, dword [ebx + 0x2fe4]
push 0x320
push ecx
sub eax, 0x10
mov dword [ebp - 0xa0], esp
mov edi, esp
push eax
call fcn.00401400
add esp, 4
push esi
push 0xff
add eax, 0x10
push 0x3ed
mov ecx, ebx
mov dword [edi], eax
call fcn.0041a270
push 1
push 0x3e8
mov ecx, ebx
call fcn.0046caac
mov ecx, eax
call fcn.0046cccf
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.00401400
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0041b8f0
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.0055fbde
add esp, 4
cmp dword [ebx + 0x323c], esi
je 0x45ef5e
mov eax, dword [ebx + 0x24a0]
cmp eax, esi
je 0x45ef13
push eax
call fcn.0055fbde
add esp, 4
mov dword [ebx + 0x24a0], esi
mov eax, dword [ebx + 0x24a4]
cmp eax, esi
je 0x45ef2c
push eax
call fcn.0055fbde
add esp, 4
mov dword [ebx + 0x24a4], esi
mov eax, dword [ebx + 0x24a8]
cmp eax, esi
je 0x45ef45
push eax
call fcn.0055fbde
add esp, 4
mov dword [ebx + 0x24a8], esi
mov eax, dword [ebx + 0x24ac]
cmp eax, esi
je 0x45ef5e
push eax
call fcn.0055fbde
add esp, 4
mov dword [ebx + 0x24ac], esi
push 2
push 3
mov ecx, ebx
call fcn.00418940
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 0x45efb1
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 0x45efd7
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 0x45f000
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.0055fffe
mov esp, ebp
pop ebp
ret