Function at 0x430f20
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x552d70
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
mov eax, dword [0x5b3e64]
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 esi, ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0
push 0x3e8
mov ecx, esi
call fcn.0044207a
mov ecx, eax
call fcn.0044229d
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
lea ebx, [esi + 0x294]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
movzx ecx, word [ebp - 0x30]
movzx edx, word [ebp - 0x32]
movzx eax, word [ebp - 0x34]
push ecx
movzx ecx, word [ebp - 0x36]
push edx
movzx edx, word [ebp - 0x3a]
push eax
movzx eax, word [ebp - 0x3c]
push ecx
push edx
push eax
lea ecx, [esi + 0x34e4]
push str._04d_02d_02d_02d_02d_02d
push ecx
call fcn.004053e0
mov edx, dword [esi + 0x20]
add esp, 0x20
push 1
push 0
push edx
mov dword [esi + 0x25c], 0
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp dword [esi + 0xc44], 4
jne 0x430fd9
mov ecx, esi
call fcn.00428580
mov ecx, esi
call fcn.0041e740
push 0x3eb
mov ecx, esi
call fcn.0044207a
mov edi, eax
push 0xffffffffffffffff
push 0
mov ecx, edi
call fcn.00447a71
push 0x561fcc
mov ecx, edi
call fcn.00442190
call dword [sym.imp.SmartSensTesterDLL.dll_iResetTestData]
cmp dword [esi + 0x178], 2
mov dword [esi + 0x734], 0xffffffff
mov dword [esi + 0x738], 1
je 0x431044
push 0
push 0
push str.Please_stop_preview_
call fcn.00437112
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x432109
push 1
push 0
push 0x190
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.Test_Start_
call fcn.00401aa0
mov ecx, esi
call fcn.00413370
push 1
push 0
push 0xffffffffffffffff
push ecx
mov eax, esp
mov dword [ebp - 0x50], esp
push eax
mov ecx, esi
call fcn.0041cca0
mov ecx, esi
call fcn.00413370
cmp dword [esi + 0xc34], 1
jne 0x43112a
cmp dword [esi + 0xc6c], 0
je 0x43110a
cmp dword [esi + 0x29e4], 0
jg 0x4310a3
call fcn.00435ac7
mov ecx, dword [esi + 0x29e0]
mov edi, dword [ecx]
push str.START
lea ecx, [ebp - 0x58]
call fcn.00401aa0
mov eax, dword [ebp - 0x58]
cmp dword [eax - 4], 1
mov ebx, dword [eax - 0xc]
mov dword [ebp - 4], 0
jle 0x4310d7
push ebx
lea ecx, [ebp - 0x58]
call fcn.00401180
mov eax, dword [ebp - 0x58]
mov edx, dword [edi]
push 0
push ebx
push eax
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
mov eax, dword [ebp - 0x58]
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 0x43110a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, esi
call fcn.0041f880
xor ecx, ecx
cmp dword [esi + 0x738], 0xffffffff
setne cl
dec ecx
and ecx, 0x3e8
mov dword [esi + 0x774], ecx
xor edi, edi
cmp dword [esi + 0x738], 0xffffffff
je 0x431ae2
push 1
mov ecx, esi
call fcn.0042ebf0
test eax, eax
jne 0x43119b
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.FAIL
mov dword [esi + 0x748], edi
call fcn.00401aa0
push edi
push 0xff
push 0x3ed
mov ecx, esi
call fcn.00412050
push 1
push 0xff
push 0x190
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.Open_Camera_Fail_1_
call fcn.00401aa0
mov ecx, esi
call fcn.00413370
jmp 0x431ae2
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.OpenCamera
call fcn.00401aa0
mov ecx, esi
call fcn.004278a0
movzx edx, word [esi + 0x17c]
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x5c], eax
movzx eax, word [esi + 0x17e]
mov dword [esi + 0x178], 1
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x6c], eax
test edi, edi
jne 0x431238
lea eax, [esi + 0x27c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [esi + 0x264], edi
je 0x431210
mov ecx, dword [esi + 0x22c]
mov eax, dword [esi + 0x230]
mov dword [esi + 0x230], ecx
mov dword [esi + 0x22c], eax
mov edi, 1
lea eax, [esi + 0x27c]
push eax
mov dword [esi + 0x264], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0xa
inc ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp ebx, 0xc8
jl 0x4311da
cmp byte [esi + 0x1e7], 0
mov eax, 1
mov dword [esi + 0x748], eax
mov dword [esi + 0x76c], eax
jne 0x43125b
mov edx, dword [esi + 0x26c]
mov dword [ebp - 0x54], edx
mov eax, dword [esi + 0x274]
fld dword [esi + 0x330]
lea eax, [esi + eax*4 + 0xc4]
mov eax, dword [eax]
sub esp, 8
sub eax, 0x10
fstp dword [esp + 4]
mov dword [ebp - 0x50], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [edi], eax
mov ecx, dword [esi + 0x320]
add esp, 4
call fcn.004032f0
fld dword [esi + 0x34c4]
call fcn.00535170
push eax
push 3
mov ecx, esi
call fcn.00428d80
xor edi, edi
nop
push 1
push 0
push 1
push 5
mov ecx, esi
call fcn.00411200
mov ecx, dword [esi + 0x230]
push 0
mov ebx, eax
push ecx
mov ecx, esi
mov dword [ebp - 0x64], ebx
call fcn.00426160
test ebx, ebx
je 0x4312de
inc edi
cmp edi, 5
jl 0x4312b0
cmp byte [esi + 0x1e7], 0
jne 0x4312ef
mov eax, dword [esi + 0x26c]
jmp 0x4312f2
mov eax, dword [ebp - 0x5c]
mov dword [esi + 0x9c8], eax
cmp eax, dword [ebp - 0x54]
jge 0x431307
mov dword [esi + 0x9c8], 0x10000
mov edx, dword [esi + 0x9c8]
cmp edx, dword [esi + 0x33c]
jle 0x43131f
mov dword [esi + 0x76c], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.Bypass
call fcn.00401aa0
mov ecx, esi
call fcn.004278a0
cmp dword [esi + 0xc50], 0
je 0x4313c8
mov ecx, esi
call fcn.00429250
cmp eax, 1
jne 0x43135b
mov dword [esi + 0x9cc], 0
jmp 0x4313b1
mov ecx, esi
call fcn.0041e260
fld dword [esi + 0x330]
mov eax, dword [esi + 0x274]
lea eax, [esi + eax*4 + 0xc4]
mov eax, dword [eax]
sub esp, 8
sub eax, 0x10
fstp dword [esp + 4]
mov dword [ebp - 0x50], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [edi], eax
mov ecx, dword [esi + 0x320]
add esp, 4
call fcn.004032f0
mov ecx, esi
call fcn.00429250
dec eax
neg eax
sbb eax, eax
mov dword [esi + 0x9cc], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.GetFuseID
call fcn.00401aa0
mov ecx, esi
call fcn.004278a0
mov edi, 1
cmp dword [esi + 0xc70], edi
jne 0x431420
movzx ecx, word [esi + 0x2c84]
movzx eax, word [esi + 0x2c82]
push ecx
push eax
mov ecx, esi
call fcn.004255b0
mov cx, word [esi + 0x2c80]
mov word [esi + 0x9d0], cx
cmp eax, edi
jne 0x431410
mov dword [esi + 0xa48], 0
mov dword [esi + 0x9d4], edi
jmp 0x431420
mov dword [esi + 0xa48], 0xffffffff
mov dword [esi + 0x9d4], eax
call fcn.004364a2
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x43143a
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x58], edi
mov dword [ebp - 4], 1
test ebx, ebx
je 0x4319f4
mov eax, dword [esi + 0x3498]
mov dword [esi + 0x34a0], eax
test eax, eax
je 0x431a49
mov eax, dword [esi + 0x34a0]
mov dword [esi + 0x1f78], 1
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
add edi, 0xfffffff0
cmp eax, edi
je 0x4314d1
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x4314c4
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x4314c4
push eax
call fcn.00401400
mov dword [ebp - 0x54], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x4314b9
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov ecx, dword [ebp - 0x54]
add ecx, 0x10
mov dword [ebp - 0x58], ecx
jmp 0x4314d1
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x58]
call fcn.00401800
lea ecx, [ebp - 0x58]
call fcn.00412940
push 1
push 0
push 0xffffffffffffffff
lea edx, [ebp - 0x74]
push edx
mov ecx, esi
call fcn.0041cca0
mov edi, eax
mov eax, dword [esi + 0x34a0]
push 0x5664c4
push eax
lea ecx, [ebp - 0x70]
push ecx
mov byte [ebp - 4], 2
call fcn.0040a720
add esp, 8
mov edx, esp
mov dword [ebp - 0x50], esp
push edi
push eax
push edx
mov byte [ebp - 4], 3
call fcn.00412a20
add esp, 0xc
mov ecx, esi
call fcn.00413370
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x431546
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x431569
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esi + 0x34a0]
push ecx
mov ecx, esi
call fcn.0042c860
mov edi, dword [ebp - 0x58]
test eax, eax
setne al
test al, al
je 0x4319e8
push str.activecurrent
push edi
call fcn.00535e00
add esp, 8
test eax, eax
sete al
test al, al
je 0x43173e
cmp dword [esi + 0xc34], 0
jne 0x4319ab
cmp dword [esi + 0xc3c], 1
jne 0x4319ab
mov edx, dword [esi + 0x1f28]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
push 0x561fcc
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
call fcn.00401aa0
push 1
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.Current:
mov byte [ebp - 4], 4
call fcn.00401aa0
mov ecx, esi
call fcn.00413370
mov ecx, dword [esi + 0x274]
lea eax, [ebp - 0x2c]
push eax
lea eax, [esi + ecx*4 + 0xc4]
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [ebp - 0x50], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [edi], eax
mov ecx, dword [esi + 0x320]
add esp, 4
call fcn.004051c0
fild dword [ebp - 0x2c]
fld qword [0x5622a8]
sub esp, 0x30
lea edx, [ebp - 0x5c]
fdiv st(1), st(0)
fxch st(1)
fstp dword [esi + 0x778]
fild dword [ebp - 0x28]
fdiv st(1)
fstp dword [esi + 0x77c]
fild dword [ebp - 0x24]
fdiv st(1)
fstp dword [esi + 0x780]
fild dword [ebp - 0x20]
fdiv st(1)
fstp dword [esi + 0x784]
fidivr dword [ebp - 0x1c]
fstp dword [esi + 0x788]
fld dword [esi + 0x77c]
fadd dword [esi + 0x778]
fadd dword [esi + 0x780]
fstp dword [ebp - 0x54]
fld dword [ebp - 0x54]
fst dword [esi + 0x78c]
fstp qword [esp + 0x28]
fld dword [esi + 0x788]
fstp qword [esp + 0x20]
fld dword [esi + 0x784]
fstp qword [esp + 0x18]
fld dword [esi + 0x780]
fstp qword [esp + 0x10]
fld dword [esi + 0x77c]
fstp qword [esp + 8]
fld dword [esi + 0x778]
fstp qword [esp]
push str.Active:_4.2fmA__4.2fmA__4.2fmA__4.2fmA__4.2fmA__4.2fmA
push edx
call fcn.004053e0
add esp, 0x38
mov eax, dword [ebp - 0x5c]
push 1
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x50], esp
mov edi, esp
push eax
call fcn.00401400
add eax, 0x10
add esp, 4
mov ecx, esi
mov dword [edi], eax
call fcn.00413370
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4319ab
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4319ab
push str.laglightsourcecal
push edi
call fcn.00535e00
add esp, 8
test eax, eax
sete al
test al, al
je 0x43176c
mov ecx, dword [esi + 0x34a0]
mov edx, dword [ecx + 0x870]
mov dword [esi + 0x34a0], edx
jmp 0x4319ca
push str.highlight1
push edi
call fcn.00535e00
add esp, 8
test eax, eax
sete al
test al, al
je 0x43185a
cmp dword [esi + 0x25a0], 5
je 0x4317ac
mov ecx, esi
call fcn.0042c970
test eax, eax
jne 0x4317ac
mov eax, dword [esi + 0x34a0]
mov ecx, dword [eax + 0x870]
jmp 0x4319c4
mov eax, dword [esi + 0x34a0]
mov edx, dword [eax + 0x850]
mov eax, dword [eax + 0x84c]
push edx
push 0
push 1
push eax
mov ecx, esi
call fcn.00411200
mov dword [ebp - 0x64], eax
test eax, eax
je 0x4319e8
mov ecx, dword [ebp - 0x6c]
imul ecx, dword [ebp - 0x68]
mov edx, dword [esi + 0x230]
mov eax, dword [esi + 0x34a0]
push ecx
mov ecx, dword [eax + 0x85c]
push edx
push ecx
call fcn.00535910
mov edx, dword [esi + 0x230]
add esp, 0xc
push 0
push edx
mov ecx, esi
call fcn.00426160
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov ecx, dword [esi + 0x34a0]
mov dword [ecx + 0x854], eax
mov edx, dword [esi + 0x34a0]
push edx
push 0
push 0x4332c0
call fcn.005365e6
add esp, 0xc
cmp dword [esi + 0xc4c], 0
je 0x4319ab
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
jmp 0x431989
xor ebx, ebx
mov dword [ebp - 0x54], 0x85c
mov edi, 0x828
mov eax, dword [esi + 0x34a0]
mov ecx, dword [edi + eax - 4]
sub ecx, 0
je 0x4318d2
dec ecx
je 0x4318aa
dec ecx
jne 0x431912
mov eax, dword [edi + eax]
push ecx
push ebx
push ecx
mov dword [ebp - 0x50], esp
sub eax, 0x10
mov dword [ebp - 0x50], esp
push eax
call fcn.00401400
mov ecx, dword [ebp - 0x50]
add eax, 0x10
mov dword [ecx], eax
add esp, 4
mov ecx, esi
call fcn.00412c80
jmp 0x431912
mov eax, dword [edi + eax]
push ebx
push ecx
mov dword [ebp - 0x50], esp
sub eax, 0x10
mov dword [ebp - 0x50], esp
push eax
call fcn.00401400
mov edx, dword [ebp - 0x50]
add eax, 0x10
add esp, 4
mov ecx, esi
mov dword [edx], eax
call fcn.00413c90
jmp 0x431912
mov ecx, dword [eax + 0x850]
mov edx, dword [eax + 0x84c]
push ecx
push 0
push 1
push edx
mov ecx, esi
call fcn.00411200
mov ecx, dword [esi + 0x230]
mov edx, dword [esi + 0x34a0]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x6c]
imul eax, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x54]
push ecx
mov ecx, dword [eax + edx]
push ecx
call fcn.00535910
add esp, 0xc
mov eax, dword [ebp - 0x54]
add eax, 4
inc ebx
add edi, 8
mov dword [ebp - 0x54], eax
cmp eax, 0x870
jl 0x431868
cmp dword [ebp - 0x64], 0
je 0x4319d9
mov edx, dword [esi + 0x230]
push 0
push edx
mov ecx, esi
call fcn.00426160
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventA]
push 0
push 0
push 1
push 0
call edi
mov ecx, dword [esi + 0x34a0]
mov dword [ecx + 0x854], eax
mov edx, dword [esi + 0x34a0]
push edx
push 0
push 0x4332c0
call fcn.005365e6
add esp, 0xc
cmp dword [esi + 0xc4c], 0
je 0x4319ab
push 0
push 0
push 1
push 0
call edi
mov ecx, dword [esi + 0x34a0]
mov dword [ecx + 0x858], eax
mov edx, dword [esi + 0x34a0]
push edx
push 0
push 0x4345e0
call fcn.005365e6
add esp, 0xc
mov eax, dword [esi + 0x34a0]
mov ecx, dword [eax + 0x870]
mov edi, dword [ebp - 0x58]
mov dword [esi + 0x1f78], 0
mov dword [esi + 0x34a0], ecx
cmp dword [esi + 0x34a0], 0
jne 0x43146c
jmp 0x431a49
mov edi, dword [ebp - 0x58]
mov dword [esi + 0x748], 0
jmp 0x431a49
mov dword [esi + 0x748], 0
jmp 0x431a49
push 1
push 0xff
push 0x12c
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.Capture_Image_Fail
call fcn.00401aa0
mov ecx, esi
call fcn.00413370
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.FALI
mov dword [esi + 0x748], 0
call fcn.00401aa0
push 0
push 0xff
push 0x3ed
mov ecx, esi
call fcn.00412050
mov eax, dword [esi + 0x3498]
mov dword [esi + 0x34a0], eax
test eax, eax
je 0x431aae
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop
mov edx, dword [esi + 0x34a0]
mov eax, dword [edx + 0x854]
test eax, eax
je 0x431a98
push 0xffffffffffffffff
push eax
call ebx
mov eax, dword [esi + 0x34a0]
mov ecx, dword [eax + 0x854]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [esi + 0x34a0]
mov dword [edx + 0x854], 0
mov eax, dword [esi + 0x34a0]
mov ecx, dword [eax + 0x870]
mov dword [esi + 0x34a0], ecx
test ecx, ecx
jne 0x431a60
mov ecx, esi
mov dword [esi + 0x1f78], 0
call fcn.0042f840
lea eax, [edi - 0x10]
mov dword [ebp - 4], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x431ae2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, esi
call fcn.00427690
cmp dword [esi + 0x25a0], 3
jne 0x431b5c
cmp dword [esi + 0xc44], 1
jne 0x431b5c
push 0x561fcc
lea ecx, [ebp - 0x54]
call fcn.00401aa0
mov ecx, dword [esi + 0x754]
push ecx
lea edx, [ebp - 0x54]
push str.RESULT__d_e46a_r
push edx
mov dword [ebp - 4], 5
call fcn.004053e0
mov eax, dword [ebp - 0x54]
add esp, 0xc
push eax
lea ecx, [esi + 0x2a34]
call fcn.00407760
mov eax, dword [ebp - 0x54]
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 0x431b5c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x561fcc
lea ecx, [ebp - 0x78]
call fcn.00401aa0
push 1
push 0
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push ecx
mov ecx, esi
mov dword [ebp - 4], 6
call fcn.0041cca0
mov ecx, esi
call fcn.00413370
push 1
push 0
push 0x64
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.Test_End_
call fcn.00401aa0
mov ecx, esi
call fcn.00413370
lea edx, [ebp - 0x4c]
push edx
mov dword [esi + 0x260], 0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx ecx, word [ebp - 0x34]
movzx eax, word [ebp - 0x44]
movzx edx, word [ebp - 0x42]
sub eax, ecx
movzx ecx, word [ebp - 0x40]
mov dword [ebp - 0x50], eax
movzx eax, word [ebp - 0x32]
fild dword [ebp - 0x50]
sub edx, eax
movzx eax, word [ebp - 0x2e]
fmul qword [0x566108]
mov dword [ebp - 0x50], edx
movzx edx, word [ebp - 0x30]
fild dword [ebp - 0x50]
sub ecx, edx
mov dword [ebp - 0x50], ecx
fmul qword [0x562018]
movzx ecx, word [ebp - 0x3e]
faddp st(1)
sub ecx, eax
push 0x561fcc
fiadd dword [ebp - 0x50]
mov dword [ebp - 0x50], ecx
lea ecx, [ebp - 0x60]
fild dword [ebp - 0x50]
fdiv qword [0x562008]
faddp st(1)
fstp dword [esi + 0x2c7c]
call fcn.00401aa0
lea eax, [esi + 0x294]
push eax
mov byte [ebp - 4], 7
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
fld dword [esi + 0x2c7c]
sub esp, 8
fstp qword [esp]
lea edx, [ebp - 0x60]
push str.TestTime:__4.4f_s
push edx
call fcn.004053e0
mov edi, dword [ebp - 0x60]
add esp, 0x10
push 1
push 0
push 0xffffffffffffffff
push ecx
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
mov dword [ebp - 0x50], esp
mov dword [ebp - 0x50], esp
mov edx, dword [eax + 0x10]
call edx
cmp dword [edi - 4], 0
lea edx, [edi - 4]
jl 0x431c89
cmp eax, dword [edi - 0x10]
jne 0x431c89
lea ebx, [edi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x431cbb
mov ecx, dword [edi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
jne 0x431ca2
call fcn.00401170
mov eax, dword [edi - 0xc]
mov dword [ebx + 4], eax
mov eax, dword [edi - 0xc]
inc eax
push eax
push edi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.00534a2f
add esp, 0x10
mov edx, dword [ebp - 0x50]
add ebx, 0x10
mov ecx, esi
mov dword [edx], ebx
call fcn.00413370
mov ecx, esi
call fcn.00422ab0
cmp dword [esi + 0x2a2c], 1
jne 0x431ce1
mov ecx, esi
call fcn.0042cb60
cmp dword [esi + 0x760], 0
jne 0x431d73
mov edi, dword [esi + 0xa58]
push 0x320
push ecx
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x50], esp
mov dword [ebp - 0x50], esp
call edx
cmp dword [edi - 4], 0
lea ecx, [edi - 4]
jl 0x431d26
cmp eax, dword [edi - 0x10]
jne 0x431d26
lea ebx, [edi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x431d58
mov ecx, dword [edi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
jne 0x431d3f
call fcn.00401170
mov eax, dword [edi - 0xc]
mov dword [ebx + 4], eax
mov eax, dword [edi - 0xc]
inc eax
push eax
push edi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.00534a2f
add esp, 0x10
mov edx, dword [ebp - 0x50]
push 0
push 0xff00
add ebx, 0x10
push 0x3ed
mov ecx, esi
mov dword [edx], ebx
call fcn.00412050
cmp dword [esi + 0x760], 1
jne 0x431e05
mov edi, dword [esi + 0xa58]
push 0x320
push ecx
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x50], esp
mov dword [ebp - 0x50], esp
call edx
cmp dword [edi - 4], 0
lea ecx, [edi - 4]
jl 0x431db8
cmp eax, dword [edi - 0x10]
jne 0x431db8
lea ebx, [edi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x431dea
mov ecx, dword [edi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
jne 0x431dd1
call fcn.00401170
mov eax, dword [edi - 0xc]
mov dword [ebx + 4], eax
mov eax, dword [edi - 0xc]
inc eax
push eax
push edi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.00534a2f
add esp, 0x10
mov edx, dword [ebp - 0x50]
push 0
push 0xff0000
add ebx, 0x10
push 0x3ed
mov ecx, esi
mov dword [edx], ebx
call fcn.00412050
cmp dword [esi + 0x760], 2
jne 0x431e9e
mov edi, dword [esi + 0xa58]
push 0x320
push ecx
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x50], esp
mov dword [ebp - 0x50], esp
call edx
cmp dword [edi - 4], 0
lea ecx, [edi - 4]
jl 0x431e4a
cmp eax, dword [edi - 0x10]
jne 0x431e4a
lea ebx, [edi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x431e7c
mov ecx, dword [edi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
jne 0x431e63
call fcn.00401170
mov eax, dword [edi - 0xc]
mov dword [ebx + 4], eax
mov eax, dword [edi - 0xc]
inc eax
push eax
push edi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.00534a2f
add esp, 0x10
mov edx, dword [ebp - 0x50]
push 0
push 0xffff
add ebx, 0x10
push 0x3ed
mov ecx, esi
mov dword [edx], ebx
call fcn.00412050
cmp dword [esi + 0x760], 2
jle 0x431f29
mov edi, dword [esi + 0xa58]
push 0x320
push ecx
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x50], esp
mov dword [ebp - 0x50], esp
call edx
cmp dword [edi - 4], 0
lea ecx, [edi - 4]
jl 0x431edc
cmp eax, dword [edi - 0x10]
jne 0x431edc
lea ebx, [edi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x431f0e
mov ecx, dword [edi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
jne 0x431ef5
call fcn.00401170
mov eax, dword [edi - 0xc]
mov dword [ebx + 4], eax
mov eax, dword [edi - 0xc]
inc eax
push eax
push edi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.00534a2f
add esp, 0x10
mov edx, dword [ebp - 0x50]
push 0
push 0xff
add ebx, 0x10
push 0x3ed
mov ecx, esi
mov dword [edx], ebx
call fcn.00412050
push 1
push 0x3e8
mov ecx, esi
call fcn.0044207a
mov ecx, eax
call fcn.0044229d
mov edi, dword [esi + 0xa58]
push 1
push 0
push 0xffffffffffffffff
push ecx
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x50], esp
mov dword [ebp - 0x50], esp
call edx
cmp dword [edi - 4], 0
lea edx, [edi - 4]
jl 0x431f77
cmp eax, dword [edi - 0x10]
jne 0x431f77
lea ebx, [edi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x431fa9
mov ecx, dword [edi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
jne 0x431f90
call fcn.00401170
mov eax, dword [edi - 0xc]
mov dword [ebx + 4], eax
mov eax, dword [edi - 0xc]
inc eax
push eax
push edi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.00534a2f
add esp, 0x10
mov edx, dword [ebp - 0x50]
add ebx, 0x10
mov ecx, esi
mov dword [edx], ebx
call fcn.00413370
xor edi, edi
cmp dword [esi + 0xc34], edi
je 0x432026
mov eax, dword [esi + 0x720]
cmp eax, edi
je 0x431fdb
push eax
call fcn.00534af7
add esp, 4
mov dword [esi + 0x720], edi
mov eax, dword [esi + 0x724]
cmp eax, edi
je 0x431ff4
push eax
call fcn.00534af7
add esp, 4
mov dword [esi + 0x724], edi
mov eax, dword [esi + 0x728]
cmp eax, edi
je 0x43200d
push eax
call fcn.00534af7
add esp, 4
mov dword [esi + 0x728], edi
mov eax, dword [esi + 0x72c]
cmp eax, edi
je 0x432026
push eax
call fcn.00534af7
add esp, 4
mov dword [esi + 0x72c], edi
push 2
push 3
mov ecx, esi
call fcn.00428d80
mov eax, dword [esi + 0x20]
push edi
push 0x3e8
push 3
mov ebx, 1
push eax
mov dword [esi + 0x2bc0], ebx
mov dword [esi + 0x2bc4], edi
call dword [sym.imp.USER32.dll_SetTimer]
cmp dword [esi + 0xc44], ebx
jne 0x4320be
cmp dword [esi + 0x25a0], 5
jne 0x4320be
mov ecx, dword [esi + 0xc68]
mov edx, dword [esi + 0x758]
mov eax, dword [esi + 0x75c]
mov dword [esi + 0x25bc], ecx
mov dword [esi + 0x25d0], edx
mov ecx, 0x40
mov word [esi + 0x25cc], cx
mov ecx, dword [esi + 0x25a4]
mov edx, ebx
mov word [esi + 0x25ae], dx
push edi
mov dword [esi + 0x1f74], edi
mov dword [esi + 0x25d4], eax
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
push 0x430
add esi, 0x25ac
push esi
call edx
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4320e1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x78]
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 0x432107
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, ebx
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.00534f15
mov esp, ebp
pop ebp
ret