Function at 0x42b040
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5527db
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
push ebx
push esi
push edi
mov eax, dword [0x5b3e64]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x54], esi
lea eax, [ebp - 0x1c]
push eax
call fcn.00407380
add esp, 4
push 0x13
xor edi, edi
push str.ConfigTestItem.ini
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], edi
call fcn.00401740
push 0x561fcc
lea ecx, [ebp - 0x18]
call fcn.00401aa0
mov ecx, dword [esi + 0x3498]
mov edx, dword [esi + 0x349c]
mov byte [ebp - 4], 1
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
call fcn.004364a2
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42b0d3
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 2
call fcn.004364a2
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42b100
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 3
call fcn.004364a2
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42b12d
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ecx, [eax + 0x10]
mov dword [ebp - 0x28], ecx
mov byte [ebp - 4], 4
xor ebx, ebx
jmp 0x42b147
mov ecx, dword [ebp - 0x28]
mov esi, dword [ecx - 0xc]
test esi, esi
js 0x42b208
mov eax, dword [ecx - 8]
mov edx, 1
sub edx, dword [ecx - 4]
sub eax, esi
or eax, edx
jge 0x42b16f
push esi
lea ecx, [ebp - 0x28]
call fcn.004013a0
mov ecx, dword [ebp - 0x28]
lea edx, [esi + 1]
push edx
push ecx
call fcn.005363eb
add esp, 8
cmp eax, 0x50
ja case.0x42b18c.1
movzx eax, byte [eax + 0x42c80c]
jmp dword [eax*4 + 0x42c7fc]
mov eax, dword [ebp - 0x28]
cmp esi, dword [eax - 8]
jg 0x42b208
mov dword [eax - 0xc], esi
mov ecx, dword [ebp - 0x28]
mov byte [esi + ecx], 0
lea ecx, [ebp - 0x28]
call fcn.00406240
mov ecx, eax
call fcn.00406120
inc ebx
cmp ebx, 0x14
jl 0x42b144
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x58], 0
jle 0x42c721
lea ecx, [ebp - 0x98]
call fcn.004367ff
mov edx, dword [ebp - 0x1c]
push 0
push 0x4000
push edx
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 5
call fcn.004366e2
test eax, eax
je 0x42c7e3
test edi, edi
jne 0x42b21c
mov edi, dword [ebp - 0x60]
jmp 0x42b222
push 0x80070057
call fcn.00401000
call fcn.00435a8f
call fcn.00435ac7
mov edi, dword [edi + 0x870]
push 0x800
lea eax, [edi + 4]
push 0
push eax
call fcn.005350f0
mov esi, dword [edi]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esp, 0xc
call eax
cmp dword [esi - 4], 0
lea ecx, [esi - 4]
jl 0x42b25d
cmp eax, dword [esi - 0x10]
jne 0x42b25d
lea ebx, [esi - 0x10]
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x42b28e
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x42c7f7
mov eax, dword [esi - 0xc]
mov dword [ebx + 4], eax
mov eax, dword [esi - 0xc]
inc eax
push eax
push esi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.00534a2f
add esp, 0x10
add ebx, 0x10
mov dword [ebp - 0x70], ebx
push 1
push 0x561fd4
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.00401800
mov eax, dword [ebx - 0xc]
push eax
push ebx
lea ecx, [ebp - 0x28]
call fcn.00401740
push 1
push 0x561fd0
lea ecx, [ebp - 0x28]
call fcn.00401740
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0x98]
call fcn.00436c3b
test eax, eax
je 0x42b80d
lea ebx, [ebx]
call fcn.004364a2
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42b0c9
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x18]
push 0x565110
push ecx
mov byte [ebp - 4], 7
call fcn.00536819
add esp, 8
test eax, eax
je 0x42b430
sub eax, dword [ebp - 0x18]
jne 0x42b341
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov byte [ebp - 4], 6
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x42b7ea
test eax, eax
jle 0x42b430
push eax
lea ecx, [ebp - 0x6c]
push ecx
lea ecx, [ebp - 0x18]
call fcn.00406f10
mov edx, dword [eax]
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea esi, [edx - 0x10]
mov byte [ebp - 4], 8
mov dword [ebp - 0x10], eax
cmp esi, eax
je 0x42b40d
cmp dword [eax + 0xc], 0
jl 0x42b400
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x42b400
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x42b3a5
cmp eax, dword [esi]
jne 0x42b3a5
mov ebx, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x42b3d9
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x42c7f7
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.00534a2f
add esp, 0x10
mov eax, dword [ebp - 0x10]
add eax, 0xc
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x42b3f8
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebx, 0x10
mov dword [ebp - 0x18], ebx
jmp 0x42b40d
mov eax, dword [edx - 0xc]
push eax
push edx
lea ecx, [ebp - 0x18]
call fcn.00401800
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42b430
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x18]
push 0x561fd0
push ecx
call fcn.00536819
add esp, 8
test eax, eax
je 0x42b542
sub eax, dword [ebp - 0x18]
je 0x42b325
test eax, eax
jle 0x42b542
inc eax
push eax
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x18]
call fcn.00406f10
mov edx, dword [eax]
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea esi, [edx - 0x10]
mov byte [ebp - 4], 9
mov dword [ebp - 0x10], eax
cmp esi, eax
je 0x42b51f
cmp dword [eax + 0xc], 0
jl 0x42b512
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x42b512
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x42b4b7
cmp eax, dword [esi]
jne 0x42b4b7
mov ebx, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x42b4eb
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x42c7f7
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.00534a2f
add esp, 0x10
mov eax, dword [ebp - 0x10]
add eax, 0xc
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x42b50a
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebx, 0x10
mov dword [ebp - 0x18], ebx
jmp 0x42b51f
mov eax, dword [edx - 0xc]
push eax
push edx
lea ecx, [ebp - 0x18]
call fcn.00401800
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42b542
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x18]
call fcn.00406120
lea ecx, [ebp - 0x18]
call fcn.00406240
mov eax, dword [ebp - 0x28]
xor ecx, ecx
xor esi, esi
cmp eax, esi
setne cl
cmp ecx, esi
je 0x42b0c9
mov ecx, dword [ebp - 0x18]
push eax
push ecx
call fcn.00535e00
add esp, 8
cmp eax, esi
sete al
test al, al
je 0x42b58a
mov dword [ebp - 0x40], esi
mov dword [edi + 0x804], esi
jmp 0x42b325
mov ecx, dword [ebp - 0x18]
cmp dword [ecx - 0xc], esi
je 0x42b325
push 1
lea ecx, [ebp - 0x80]
push ecx
lea ecx, [ebp - 0x18]
call fcn.00406f10
mov eax, dword [eax]
push 0x56510c
push eax
call fcn.00535e00
add esp, 8
cmp eax, esi
mov eax, dword [ebp - 0x80]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42b5d8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
jne 0x42b7d3
push 1
lea ecx, [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x18]
call fcn.00406f10
mov eax, dword [eax]
push 0x565108
push eax
call fcn.00535e00
add esp, 8
test eax, eax
mov eax, dword [ebp - 0x68]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42b622
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
jne 0x42b7d3
push 1
lea ecx, [ebp - 0x7c]
push ecx
lea ecx, [ebp - 0x18]
call fcn.00406f10
mov eax, dword [eax]
push 0x565104
push eax
call fcn.00535e00
add esp, 8
test eax, eax
mov eax, dword [ebp - 0x7c]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42b66c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
jne 0x42b7d3
push 1
lea ecx, [ebp - 0x78]
push ecx
lea ecx, [ebp - 0x18]
call fcn.00406f10
mov eax, dword [eax]
push 0x561fd4
push eax
call fcn.00535e00
add esp, 8
test eax, eax
mov eax, dword [ebp - 0x78]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42b6b6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x42b6c6
mov dword [ebp - 0x40], 0xffffffff
jmp 0x42b7d3
mov ecx, dword [ebp - 0x18]
push 0x2c
push 0
push ecx
lea edx, [ebp - 0x34]
push edx
call fcn.004363c1
mov eax, dword [ebp - 0x18]
push 0x2c
push 1
push eax
lea ecx, [ebp - 0x2c]
push ecx
call fcn.004363c1
lea ecx, [ebp - 0x34]
call fcn.00406120
lea ecx, [ebp - 0x34]
call fcn.00406240
lea ecx, [ebp - 0x2c]
call fcn.00406240
lea ecx, [ebp - 0x2c]
call fcn.00406120
mov edx, dword [ebp - 0x2c]
push 0x561fcc
push edx
call fcn.00535e00
add esp, 8
test eax, eax
sete al
test al, al
jne 0x42b7d3
mov edx, dword [ebp - 0x34]
lea ecx, [ebp - 0x4c]
push ecx
push str.0x_x
push edx
call fcn.00535cdf
add esp, 0xc
test eax, eax
jne 0x42b769
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x4c]
push eax
push 0x5628a0
push ecx
call fcn.00535cdf
add esp, 0xc
test eax, eax
jne 0x42b769
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call fcn.00401380
jmp 0x42b7f6
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x44]
push edx
push str.0x_x
push eax
call fcn.00535cdf
add esp, 0xc
test eax, eax
jne 0x42b7a9
mov edx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x44]
push ecx
push 0x5628a0
push edx
call fcn.00535cdf
add esp, 0xc
test eax, eax
jne 0x42b7a9
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call fcn.00401380
jmp 0x42b7f6
cmp dword [ebp - 0x40], esi
jne 0x42b7d3
mov eax, dword [edi + 0x804]
mov cx, word [ebp - 0x4c]
mov word [edi + eax*2 + 4], cx
mov edx, dword [edi + 0x804]
mov ax, word [ebp - 0x44]
mov word [edi + edx*2 + 6], ax
add dword [edi + 0x804], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [ebp - 4], 6
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42b7f6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x98]
call fcn.00436c3b
test eax, eax
jne 0x42b2e0
lea ecx, [ebp - 0x98]
call fcn.00436a9e
fldz
mov esi, dword [ebp - 0x1c]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
sub esp, 8
fstp dword [esp + 4]
mov dword [ebp - 0x14], esp
mov dword [ebp - 0x10], esp
call eax
cmp dword [esi - 4], 0
lea ecx, [esi - 4]
jl 0x42b850
cmp eax, dword [esi - 0x10]
jne 0x42b850
lea ebx, [esi - 0x10]
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x42b881
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x42c7f7
mov eax, dword [esi - 0xc]
mov dword [ebx + 4], eax
mov eax, dword [esi - 0xc]
inc eax
push eax
push esi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.00534a2f
add esp, 0x10
mov edx, dword [ebp - 0x10]
add ebx, 0x10
mov dword [edx], ebx
push ecx
mov esi, esp
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x10], esi
call fcn.004364a2
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42b0c9
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, 0x56226c
mov byte [ebp - 4], 0xb
test ecx, 0xffff0000
jne 0x42b8e3
mov edx, ecx
movzx ebx, dx
push ebx
call fcn.00436391
test eax, eax
je 0x42b8f1
push ebx
push eax
mov ecx, esi
call fcn.00401680
jmp 0x42b8f1
push 4
push 0x56226c
mov ecx, esi
call fcn.00401800
mov esi, dword [ebp - 0x70]
push ecx
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
add esi, 0xfffffff0
mov dword [ebp - 0x10], esp
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x10], esp
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x42b926
cmp eax, dword [esi]
jne 0x42b926
mov ebx, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x42b95a
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x42c7f7
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
lea ecx, [esi + 0x10]
push ecx
push eax
lea edx, [ebx + 0x10]
push edx
call fcn.00534a2f
add esp, 0x10
mov eax, dword [ebp - 0x10]
add ebx, 0x10
mov dword [eax], ebx
mov byte [ebp - 4], 6
call fcn.00406f90
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
add esp, 8
fstp dword [edi + 0x808]
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebx - 0x10]
fldz
mov edx, dword [ecx]
fstp dword [esp + 4]
mov eax, dword [edx + 0x10]
add ebx, 0xfffffff0
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x10], esp
call eax
cmp dword [ebx + 0xc], 0
lea edx, [ebx + 0xc]
jl 0x42b9b1
cmp eax, dword [ebx]
jne 0x42b9b1
mov dword [ebp - 0x14], ebx
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x42b9e9
mov ecx, dword [ebx + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov dword [ebp - 0x14], eax
test eax, eax
je 0x42c7f7
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 4]
inc eax
push eax
add ebx, 0x10
push ebx
push eax
add ecx, 0x10
push ecx
call fcn.00534a2f
add esp, 0x10
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
add ecx, 0x10
mov dword [edx], ecx
push ecx
mov ebx, esp
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x14], esp
mov dword [ebp - 0x24], ebx
call fcn.004364a2
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42b0c9
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebx], eax
mov ecx, 0x562274
mov byte [ebp - 4], 0xe
test ecx, 0xffff0000
jne 0x42ba54
mov edx, ecx
movzx eax, dx
push eax
mov dword [ebp - 0x10], eax
call fcn.00436391
test eax, eax
je 0x42ba62
mov ecx, dword [ebp - 0x10]
push ecx
push eax
mov ecx, ebx
call fcn.00401680
jmp 0x42ba62
push 4
push 0x562274
mov ecx, ebx
call fcn.00401800
push ecx
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x10], esp
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x42ba90
cmp eax, dword [esi]
jne 0x42ba90
mov ebx, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x42bac4
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x42c7f7
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
lea ecx, [esi + 0x10]
push ecx
push eax
lea edx, [ebx + 0x10]
push edx
call fcn.00534a2f
add esp, 0x10
mov eax, dword [ebp - 0x10]
add ebx, 0x10
mov dword [eax], ebx
mov byte [ebp - 4], 6
call fcn.00406f90
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
add esp, 8
fstp dword [edi + 0x80c]
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebx - 0x10]
fldz
mov edx, dword [ecx]
fstp dword [esp + 4]
mov eax, dword [edx + 0x10]
add ebx, 0xfffffff0
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x10], esp
call eax
cmp dword [ebx + 0xc], 0
lea edx, [ebx + 0xc]
jl 0x42bb1b
cmp eax, dword [ebx]
jne 0x42bb1b
mov dword [ebp - 0x14], ebx
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x42bb53
mov ecx, dword [ebx + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov dword [ebp - 0x14], eax
test eax, eax
je 0x42c7f7
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 4]
inc eax
push eax
add ebx, 0x10
push ebx
push eax
add ecx, 0x10
push ecx
call fcn.00534a2f
add esp, 0x10
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
add ecx, 0x10
mov dword [edx], ecx
push ecx
mov ebx, esp
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x14], ebx
call fcn.004364a2
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42b0c9
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebx], eax
mov ecx, 0x56227c
mov byte [ebp - 4], 0x11
test ecx, 0xffff0000
jne 0x42bbbe
mov edx, ecx
movzx eax, dx
push eax
mov dword [ebp - 0x10], eax
call fcn.00436391
test eax, eax
je 0x42bbcc
mov ecx, dword [ebp - 0x10]
push ecx
push eax
mov ecx, ebx
call fcn.00401680
jmp 0x42bbcc
push 5
push 0x56227c
mov ecx, ebx
call fcn.00401800
push ecx
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x10], esp
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x10], esp
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x42bbfa
cmp eax, dword [esi]
jne 0x42bbfa
mov ebx, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x42bc2e
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x42c7f7
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
lea ecx, [esi + 0x10]
push ecx
push eax
lea edx, [ebx + 0x10]
push edx
call fcn.00534a2f
add esp, 0x10
mov eax, dword [ebp - 0x10]
add ebx, 0x10
mov dword [eax], ebx
mov byte [ebp - 4], 6
call fcn.00406f90
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
add esp, 0x10
fstp dword [edi + 0x810]
mov ebx, dword [ebp - 0x1c]
push 0
push ecx
mov ecx, dword [ebx - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add ebx, 0xfffffff0
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x10], esp
call eax
cmp dword [ebx + 0xc], 0
lea edx, [ebx + 0xc]
jl 0x42bc82
cmp eax, dword [ebx]
jne 0x42bc82
mov dword [ebp - 0x14], ebx
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x42bcba
mov ecx, dword [ebx + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov dword [ebp - 0x14], eax
test eax, eax
je 0x42c7f7
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 4]
inc eax
push eax
add ebx, 0x10
push ebx
push eax
add ecx, 0x10
push ecx
call fcn.00534a2f
add esp, 0x10
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
add ecx, 0x10
mov dword [edx], ecx
push ecx
mov ebx, esp
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x14], ebx
call fcn.004364a2
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42b0c9
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebx], eax
mov ecx, str.LightSourceCmd
mov byte [ebp - 4], 0x14
test ecx, 0xffff0000
jne 0x42bd25
mov edx, ecx
movzx eax, dx
push eax
mov dword [ebp - 0x10], eax
call fcn.00436391
test eax, eax
je 0x42bd33
mov ecx, dword [ebp - 0x10]
push ecx
push eax
mov ecx, ebx
call fcn.00401680
jmp 0x42bd33
push 0xe
push str.LightSourceCmd
mov ecx, ebx
call fcn.00401800
push ecx
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x10], esp
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x10], esp
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x42bd61
cmp eax, dword [esi]
jne 0x42bd61
mov ebx, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x42bd95
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x42c7f7
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
lea ecx, [esi + 0x10]
push ecx
push eax
lea edx, [ebx + 0x10]
push edx
call fcn.00534a2f
add esp, 0x10
mov eax, dword [ebp - 0x10]
add ebx, 0x10
mov dword [eax], ebx
mov byte [ebp - 4], 6
call fcn.00406c70
mov dword [edi + 0x81c], eax
mov ebx, dword [ebp - 0x1c]
add esp, 0x10
push 5
push ecx
mov ecx, dword [ebx - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add ebx, 0xfffffff0
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x10], esp
call eax
cmp dword [ebx + 0xc], 0
lea edx, [ebx + 0xc]
jl 0x42bde3
cmp eax, dword [ebx]
jne 0x42bde3
mov dword [ebp - 0x14], ebx
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x42be1b
mov ecx, dword [ebx + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov dword [ebp - 0x14], eax
test eax, eax
je 0x42c7f7
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 4]
inc eax
push eax
add ebx, 0x10
push ebx
push eax
add ecx, 0x10
push ecx
call fcn.00534a2f
add esp, 0x10
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
add ecx, 0x10
mov dword [edx], ecx
push ecx
mov ebx, esp
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x14], ebx
call fcn.004364a2
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42b0c9
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebx], eax
mov ecx, str.ByPass
mov byte [ebp - 4], 0x17
test ecx, 0xffff0000
jne 0x42be86
mov edx, ecx
movzx eax, dx
push eax
mov dword [ebp - 0x10], eax
call fcn.00436391
test eax, eax
je 0x42be94
mov ecx, dword [ebp - 0x10]
push ecx
push eax
mov ecx, ebx
call fcn.00401680
jmp 0x42be94
push 6
push str.ByPass
mov ecx, ebx
call fcn.00401800
push ecx
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x10], esp
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x10], esp
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x42bec2
cmp eax, dword [esi]
jne 0x42bec2
mov ebx, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x42bef6
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x42c7f7
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
lea ecx, [esi + 0x10]
push ecx
push eax
lea edx, [ebx + 0x10]
push edx
call fcn.00534a2f
add esp, 0x10
mov eax, dword [ebp - 0x10]
add ebx, 0x10
mov dword [eax], ebx
mov byte [ebp - 4], 6
call fcn.00406c70
mov dword [edi + 0x84c], eax
mov ebx, dword [ebp - 0x1c]
add esp, 0x10
push 2
push ecx
mov ecx, dword [ebx - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add ebx, 0xfffffff0
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x10], esp
call eax
cmp dword [ebx + 0xc], 0
lea edx, [ebx + 0xc]
jl 0x42bf44
cmp eax, dword [ebx]
jne 0x42bf44
mov dword [ebp - 0x14], ebx
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x42bf7c
mov ecx, dword [ebx + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov dword [ebp - 0x14], eax
test eax, eax
je 0x42c7f7
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 4]
inc eax
push eax
add ebx, 0x10
push ebx
push eax
add ecx, 0x10
push ecx
call fcn.00534a2f
add esp, 0x10
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
add ecx, 0x10
mov dword [edx], ecx
push ecx
mov ebx, esp
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x14], ebx
call fcn.004364a2
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42b0c9
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebx], eax
mov ecx, str.Average
mov byte [ebp - 4], 0x1a
test ecx, 0xffff0000
jne 0x42bfe7
mov edx, ecx
movzx eax, dx
push eax
mov dword [ebp - 0x10], eax
call fcn.00436391
test eax, eax
je 0x42bff5
mov ecx, dword [ebp - 0x10]
push ecx
push eax
mov ecx, ebx
call fcn.00401680
jmp 0x42bff5
push 7
push str.Average
mov ecx, ebx
call fcn.00401800
push ecx
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x10], esp
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x10], esp
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x42c023
cmp eax, dword [esi]
jne 0x42c023
mov ebx, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x42c057
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x42c7f7
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
lea ecx, [esi + 0x10]
push ecx
push eax
lea edx, [ebx + 0x10]
push edx
call fcn.00534a2f
add esp, 0x10
mov eax, dword [ebp - 0x10]
add ebx, 0x10
mov dword [eax], ebx
mov byte [ebp - 4], 6
call fcn.00406c70
mov dword [edi + 0x850], eax
xor eax, eax
mov dword [edi + 0x854], eax
mov dword [edi + 0x858], eax
mov ebx, dword [ebp - 0x1c]
add esp, 0x10
push eax
push ecx
mov ecx, dword [ebx - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add ebx, 0xfffffff0
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x10], esp
call eax
cmp dword [ebx + 0xc], 0
lea edx, [ebx + 0xc]
jl 0x42c0b2
cmp eax, dword [ebx]
jne 0x42c0b2
mov dword [ebp - 0x14], ebx
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x42c0ea
mov ecx, dword [ebx + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov dword [ebp - 0x14], eax
test eax, eax
je 0x42c7f7
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 4]
inc eax
push eax
add ebx, 0x10
push ebx
push eax
add ecx, 0x10
push ecx
call fcn.00534a2f
add esp, 0x10
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
add ecx, 0x10
mov dword [edx], ecx
push ecx
mov ebx, esp
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x14], ebx
call fcn.004364a2
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42b0c9
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebx], eax
mov ecx, str.LightSourceID
mov byte [ebp - 4], 0x1d
test ecx, 0xffff0000
jne 0x42c155
mov edx, ecx
movzx eax, dx
push eax
mov dword [ebp - 0x10], eax
call fcn.00436391
test eax, eax
je 0x42c163
mov ecx, dword [ebp - 0x10]
push ecx
push eax
mov ecx, ebx
call fcn.00401680
jmp 0x42c163
push 0xd
push str.LightSourceID
mov ecx, ebx
call fcn.00401800
push ecx
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x10], esp
mov byte [ebp - 4], 0x1e
mov dword [ebp - 0x10], esp
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x42c191
cmp eax, dword [esi]
jne 0x42c191
mov ebx, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x42c1c5
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x42c7f7
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
lea ecx, [esi + 0x10]
push ecx
push eax
lea edx, [ebx + 0x10]
push edx
call fcn.00534a2f
add esp, 0x10
mov eax, dword [ebp - 0x10]
add ebx, 0x10
mov dword [eax], ebx
mov byte [ebp - 4], 6
call fcn.00406c70
mov dword [edi + 0x820], eax
mov eax, 3
add esp, 0xc
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x561fcc
mov dword [ebp - 0x10], 0
mov dword [edi + 0x824], eax
mov dword [edi + 0x82c], eax
mov dword [edi + 0x834], eax
mov dword [edi + 0x83c], eax
mov dword [edi + 0x844], eax
call fcn.00401aa0
mov eax, dword [ebp - 0x1c]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x20], esp
mov ebx, esp
push eax
mov byte [ebp - 4], 0x1f
call fcn.00401400
add eax, 0x10
mov dword [ebx], eax
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.ImageBuffer
mov byte [ebp - 4], 0x20
call fcn.00401aa0
push ecx
mov dword [ebp - 0x3c], esp
mov ebx, esp
push esi
mov byte [ebp - 4], 0x21
call fcn.00401400
add eax, 0x10
lea ecx, [ebp - 0x50]
add esp, 4
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 6
call fcn.00406d90
add esp, 0x14
lea edx, [ebp - 0x10]
push edx
push 0x56510c
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x22
call fcn.004256f0
mov byte [ebp - 4], 0x23
call fcn.004364a2
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42b0c9
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x38], eax
mov byte [ebp - 4], 0x24
call fcn.004364a2
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42b0c9
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x25
call fcn.00406240
mov ecx, eax
call fcn.00406120
mov eax, dword [ebp - 0x30]
cmp dword [eax - 0xc], 0
je 0x42c3fb
lea ebx, [edi + 0x824]
jmp 0x42c300
push 0x2a
push 0
push eax
lea ecx, [ebp - 0x38]
push ecx
call fcn.004363c1
mov edx, dword [ebp - 0x30]
push 0x2a
push 1
push edx
lea eax, [ebp - 0x48]
push eax
call fcn.004363c1
lea ecx, [ebp - 0x38]
call fcn.00412940
mov ecx, dword [ebp - 0x38]
push str.sensor
push ecx
call fcn.00535e00
add esp, 8
test eax, eax
sete al
test al, al
je 0x42c349
mov dword [ebx], 0
jmp 0x42c38b
mov edx, dword [ebp - 0x38]
push str.file
push edx
call fcn.00535e00
add esp, 8
test eax, eax
sete al
test al, al
je 0x42c36b
mov dword [ebx], 1
jmp 0x42c38b
mov eax, dword [ebp - 0x38]
push 0x5661b4
push eax
call fcn.00535e00
add esp, 8
test eax, eax
sete al
test al, al
je 0x42c38b
mov dword [ebx], 2
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [ebx + 4]
call fcn.004019c0
lea edx, [ebp - 0x10]
push edx
push 0x56510c
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x50]
call fcn.004256f0
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x26
call fcn.004019c0
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x25
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c3dc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x30]
call fcn.00406240
mov ecx, eax
call fcn.00406120
mov eax, dword [ebp - 0x30]
add ebx, 8
cmp dword [eax - 0xc], 0
jne 0x42c300
mov eax, dword [ebp - 0x1c]
fld dword [edi + 0x808]
sub esp, 8
add eax, 0xfffffff0
fstp dword [esp + 4]
mov dword [ebp - 0x3c], esp
mov ebx, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [ebx], eax
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x56226c
mov byte [ebp - 4], 0x27
call fcn.00401aa0
push ecx
mov dword [ebp - 0x20], esp
mov ebx, esp
push esi
mov byte [ebp - 4], 0x28
call fcn.00401400
add eax, 0x10
mov dword [ebx], eax
add esp, 4
mov byte [ebp - 4], 0x25
call fcn.00407120
fld dword [edi + 0x80c]
mov eax, dword [ebp - 0x1c]
fstp dword [esp + 0xc]
add esp, 8
add eax, 0xfffffff0
mov dword [ebp - 0x3c], esp
mov ebx, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [ebx], eax
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x562274
mov byte [ebp - 4], 0x29
call fcn.00401aa0
push ecx
mov dword [ebp - 0x20], esp
mov ebx, esp
push esi
mov byte [ebp - 4], 0x2a
call fcn.00401400
add eax, 0x10
mov dword [ebx], eax
add esp, 4
mov byte [ebp - 4], 0x25
call fcn.00407120
fld dword [edi + 0x810]
mov eax, dword [ebp - 0x1c]
fstp dword [esp + 0xc]
add esp, 8
add eax, 0xfffffff0
mov dword [ebp - 0x3c], esp
mov ebx, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [ebx], eax
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x56227c
mov byte [ebp - 4], 0x2b
call fcn.00401aa0
push ecx
mov dword [ebp - 0x20], esp
mov ebx, esp
mov byte [ebp - 4], 0x2c
push esi
call fcn.00401400
add eax, 0x10
mov dword [ebx], eax
add esp, 4
mov byte [ebp - 4], 0x25
call fcn.00407120
mov ecx, dword [edi + 0x84c]
mov eax, dword [ebp - 0x1c]
add esp, 0x10
push ecx
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x3c], esp
mov ebx, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [ebx], eax
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.ByPass
mov byte [ebp - 4], 0x2d
call fcn.00401aa0
push ecx
mov dword [ebp - 0x20], esp
mov ebx, esp
push esi
mov byte [ebp - 4], 0x2e
call fcn.00401400
add eax, 0x10
mov dword [ebx], eax
add esp, 4
mov byte [ebp - 4], 0x25
call fcn.00407250
mov edx, dword [edi + 0x850]
mov eax, dword [ebp - 0x1c]
add esp, 0x10
push edx
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x3c], esp
mov ebx, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [ebx], eax
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.Average
mov byte [ebp - 4], 0x2f
call fcn.00401aa0
push ecx
mov dword [ebp - 0x20], esp
mov ebx, esp
push esi
mov byte [ebp - 4], 0x30
call fcn.00401400
add eax, 0x10
mov dword [ebx], eax
add esp, 4
mov byte [ebp - 4], 0x25
call fcn.00407250
mov eax, dword [edi + 0x820]
add esp, 0x10
push eax
mov eax, dword [ebp - 0x1c]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x3c], esp
mov ebx, esp
push eax
call fcn.00401400
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x31
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.LightSourceID
call fcn.00401aa0
push ecx
mov dword [ebp - 0x20], esp
mov ebx, esp
push esi
mov byte [ebp - 4], 0x32
call fcn.00401400
add eax, 0x10
mov dword [ebx], eax
add esp, 4
mov byte [ebp - 4], 0x25
call fcn.00407250
add esp, 0x10
lea ebx, [edi + 0x85c]
mov dword [ebp - 0x10], 5
nop
cmp dword [ebx], 0
jne 0x42c651
mov eax, dword [ebp - 0x54]
movzx ecx, word [eax + 0x17e]
movzx edx, word [eax + 0x17c]
imul ecx, edx
push ecx
call fcn.00534fe2
mov ecx, dword [ebp - 0x54]
mov dword [ebx], eax
movzx edx, word [ecx + 0x17e]
movzx ecx, word [ecx + 0x17c]
imul edx, ecx
push edx
push 0
push eax
call fcn.005350f0
add esp, 0x10
add ebx, 4
dec dword [ebp - 0x10]
jne 0x42c610
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x24
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42c67c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x23
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c69f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x22
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c6c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x50]
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 0x42c6e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 5
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c702
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.00436b1a
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp eax, dword [ebp - 0x5c]
jl 0x42b1d2
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [ebp - 4], 3
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c744
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [ebp - 4], 2
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c767
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [ebp - 4], 1
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c78a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [ebp - 4], 0
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c7ad
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov dword [ebp - 4], edx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c7cf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.00436b1a
jmp 0x42c721
call fcn.00401170
xchg ebx, eax
mov cl, 66
add byte [edx], dl
mov dl, 0x42
add byte [edi], dl
mov dl, 0x42
add byte [edi], dl
mov dl, 0x42
add byte [eax], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ecx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [eax]
int3