Function at 0x435e90
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5cf7ab
mov eax, dword fs:[0]
push eax
sub esp, 0x78
push ebx
push ebp
push esi
push edi
mov eax, dword [0x613ad0]
xor eax, esp
push eax
lea eax, [esp + 0x8c]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x30], ebx
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x435eda
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov dword [esp + 0x94], 0
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x435f0f
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x94], 1
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x435f41
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x3c], eax
mov byte [esp + 0x94], 2
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x435f73
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x94], 3
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x435fa5
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0x94], 4
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x435fd7
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x38], eax
mov byte [esp + 0x94], 5
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x436009
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x7c], eax
mov byte [esp + 0x94], 6
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x43603b
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x78], eax
mov byte [esp + 0x94], 7
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x43606d
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x74], eax
mov byte [esp + 0x94], 8
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x43609f
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x70], eax
mov byte [esp + 0x94], 9
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4360d1
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x40], eax
mov byte [esp + 0x94], 0xa
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x436103
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x6c], eax
mov byte [esp + 0x94], 0xb
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x436135
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x68], eax
mov byte [esp + 0x94], 0xc
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x436167
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x64], eax
mov byte [esp + 0x94], 0xd
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x436199
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x60], eax
push 0
lea ecx, [esp + 0x40]
push ecx
push 0x7db6
mov ecx, 0x61537c
mov byte [esp + 0xa0], 0xe
call fcn.00405220
push 0
lea edx, [esp + 0x1c]
push edx
push 0x7db5
mov ecx, 0x61537c
call fcn.00405220
push 0
lea eax, [esp + 0x24]
push eax
push 0x7db2
mov ecx, 0x61537c
call fcn.00405220
push 0
lea ecx, [esp + 0x3c]
push ecx
push 0x7db3
mov ecx, 0x61537c
call fcn.00405220
push 0
lea edx, [esp + 0x80]
push edx
push 0x7dba
mov ecx, 0x61537c
call fcn.00405220
push 0
lea eax, [esp + 0x7c]
push eax
push 0x7db9
mov ecx, 0x61537c
call fcn.00405220
push 0
lea ecx, [esp + 0x78]
push ecx
push 0x7db8
mov ecx, 0x61537c
call fcn.00405220
push 0
lea edx, [esp + 0x74]
push edx
push 0x7db7
mov ecx, 0x61537c
call fcn.00405220
push 0
lea eax, [esp + 0x44]
push eax
push 0x7db4
mov ecx, 0x61537c
call fcn.00405220
push 0
lea ecx, [esp + 0x70]
push ecx
push 0x86fa
mov ecx, 0x61537c
call fcn.00405220
push 0
lea edx, [esp + 0x6c]
push edx
push 0x86fb
mov ecx, 0x61537c
call fcn.00405220
push 0
lea eax, [esp + 0x68]
push eax
push 0x86fc
mov ecx, 0x61537c
call fcn.00405220
push 0
lea ecx, [esp + 0x64]
push ecx
push 0x86fd
mov ecx, 0x61537c
call fcn.00405220
mov edx, dword [ebx + 4]
push edx
lea eax, [esp + 0x18]
push str._s_n_n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0xa8]
push 1
push ecx
push ebp
push 0
call fcn.00443c00
mov eax, dword [0x615430]
add esp, 0x1c
cmp dword [eax - 0xc], 0
je 0x436330
mov edx, dword [esp + 0x7c]
push eax
push edx
lea eax, [esp + 0x1c]
push str._s_s_n_n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x24]
push 1
push ecx
push ebp
push 0
call fcn.00443c00
add esp, 0x20
push 0
mov ecx, ebx
call fcn.004350b0
mov esi, eax
cmp esi, 0xffffffff
je 0x4363a3
cmp dword [ebx + 0x164], 0
je 0x4363a3
mov edx, dword [esp + 0x78]
push esi
push edx
lea eax, [esp + 0x1c]
push str._s_d___n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x24]
push 1
push ecx
push ebp
push 0
call fcn.00443c00
add esp, 0x20
cmp esi, dword [ebx + 0x290]
push 1
jl 0x436381
mov edx, dword [esp + 0x78]
push edx
jmp 0x436386
mov eax, dword [esp + 0x74]
push eax
push ebp
push 0
call fcn.00443c00
add esp, 0x10
push 1
push 0x5decd4
push ebp
push 0
call fcn.00443c00
add esp, 0x10
xor ecx, ecx
xor eax, eax
cmp dword [ebx + 0x2a8], ecx
mov dword [esp + 0x84], ecx
jle 0x437492
cmp dword [ebx + 0x280], 0
jne 0x43756d
test ecx, ecx
jl 0x437840
cmp ecx, dword [ebx + 0x2a8]
jge 0x437840
mov edx, dword [ebx + 0x2a4]
mov esi, dword [edx + ecx*4]
cmp dword [esi + 0x84], 8
je 0x43747c
add eax, 1
push eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x1c]
push str._s_d_n
push ecx
mov dword [esp + 0x5c], 1
call fcn.00403ad0
mov edx, dword [esp + 0x24]
push 1
push edx
push ebp
push 0
call fcn.00443c00
add esp, 0x20
lea eax, [esi + 0xdc]
push eax
lea ecx, [esp + 0x18]
call fcn.004024f0
push 1
push 0x5d8804
lea ecx, [esp + 0x1c]
call fcn.00403a10
mov eax, dword [esp + 0x14]
push 1
push eax
push ebp
push 0
call fcn.00443c00
mov eax, dword [esi + 0x84]
add eax, 0xffffffff
add esp, 0x10
cmp eax, 0xa
ja case.0x43646b.7
jmp dword [eax*4 + 0x437848]
mov ecx, dword [esp + 0x30]
cmp dword [ecx + 0x164], 0
je 0x4365ae
test byte [esi + 0x90], 0x10
jne 0x4365ae
push 0xffffffffffffffff
mov ecx, esi
call fcn.00428d30
test eax, eax
je 0x4364d9
mov edx, dword [esi + 0xa8]
mov eax, dword [edx + 0x10]
push eax
mov eax, dword [esp + 0x40]
push eax
lea ecx, [esp + 0x1c]
push str._s_s_n
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0xac]
push 1
push edx
push eax
push 0
call fcn.00443c00
add esp, 0x20
jmp case.0x43646b.7
mov ecx, dword [esi + 0xa8]
mov eax, dword [ecx + 0x10]
cmp dword [eax - 0xc], 0
jne 0x4364fe
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
push edx
push eax
push str._s_s_n
lea ecx, [esp + 0x20]
push ecx
jmp 0x43650e
mov edx, dword [esp + 0x18]
push eax
push edx
push str._s_s_n
lea eax, [esp + 0x20]
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xac]
add esp, 0x10
push 1
push ecx
push edx
push 0
call fcn.00443c00
xor edi, edi
add esp, 0x10
cmp dword [esi + 0xb4], edi
jle case.0x43646b.7
lea ebx, [esi + 0xac]
push edi
mov ecx, ebx
call fcn.00401700
mov eax, dword [eax]
test byte [eax + 4], 2
jne 0x436563
add edi, 1
cmp edi, dword [esi + 0xb4]
jl 0x436543
jmp case.0x43646b.7
test edi, edi
je 0x43656e
push 0x7da8
jmp 0x436573
push 0x7da7
call fcn.00443770
add esp, 4
push eax
mov eax, dword [esp + 0x3c]
push eax
lea ecx, [esp + 0x1c]
push str._s_s_n
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0xac]
push 1
push edx
push eax
push 0
call fcn.00443c00
add esp, 0x20
jmp case.0x43646b.7
mov ecx, dword [esi + 0xa8]
mov eax, dword [ecx + 0x10]
cmp dword [eax - 0xc], 0
jne 0x4365d3
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
push edx
push eax
push str._s_s_n
lea ecx, [esp + 0x20]
push ecx
jmp 0x4365e3
mov edx, dword [esp + 0x18]
push eax
push edx
push str._s_s_n
lea eax, [esp + 0x20]
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xac]
add esp, 0x10
push 1
push ecx
push edx
push 0
call fcn.00443c00
add esp, 0x10
jmp case.0x43646b.7
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x435ed0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x90]
test al, 4
mov byte [esp + 0x94], 0xf
je 0x436973
lea ecx, [esp + 0x28]
call fcn.00402080
mov eax, dword [esi + 0xa8]
add eax, 0x10
mov eax, dword [eax]
sub eax, 0x10
push eax
mov byte [esp + 0x98], 0x10
call fcn.00401a60
add eax, 0x10
add esp, 4
mov dword [esp + 0x48], eax
push 0x5d8f14
push 0
lea ecx, [esp + 0x50]
mov byte [esp + 0x9c], 0x11
call fcn.004284a0
push 0x5d8f14
lea ecx, [esp + 0x4c]
call fcn.00404560
xor eax, eax
cmp dword [esi + 0xb4], eax
mov dword [esp + 0x2c], eax
jle 0x436916
mov ebp, dword [esp + 0x9c]
jmp 0x4366b7
mov eax, dword [esp + 0x2c]
test eax, eax
jl 0x437840
cmp eax, dword [esi + 0xb4]
jge 0x437840
mov ecx, dword [esi + 0xb0]
mov edi, dword [ecx + eax*4]
cmp dword [edi + 0x30], 1
lea eax, [ecx + eax*4]
jne 0x4368ff
cmp dword [esp + 0x4c], 0
jne 0x436759
push 1
push 0x5d8804
push ebp
push 0
call fcn.00443c00
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x50]
add eax, 1
push eax
push edx
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x2c]
push str._s_d_n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x34]
push 1
push ecx
push ebp
push 0
call fcn.00443c00
add esp, 0x30
lea eax, [esi + 0xdc]
push eax
lea ecx, [esp + 0x18]
call fcn.004024f0
push 0x5d8804
lea ecx, [esp + 0x18]
call fcn.00404560
mov edx, dword [esp + 0x14]
push 1
push edx
push ebp
push 0
call fcn.00443c00
add esp, 0x10
mov ecx, dword [edi + 0x3c]
cmp dword [ecx - 0xc], 0
lea eax, [edi + 0x3c]
mov dword [esp + 0x4c], 0
jne 0x436783
mov edi, dword [edi + 0x14]
test edi, edi
je 0x436783
cmp dword [edi + 8], 0x424f5743
jne 0x436783
add edi, 4
push edi
jmp 0x436784
push eax
lea ecx, [esp + 0x2c]
call fcn.004024f0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
push eax
call fcn.00401a60
add eax, 0x10
add esp, 4
mov dword [esp + 0x54], eax
push 0x5d8f14
push 0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x9c], 0x12
call fcn.004284a0
push 0x5d8f14
lea ecx, [esp + 0x58]
call fcn.00404560
mov ebx, dword [esp + 0x54]
test ebx, ebx
je 0x4367f7
mov edi, dword [esp + 0x48]
cmp dword [edi - 0xc], 0
jl 0x4367f7
push ebx
push edi
call fcn.005aadaf
add esp, 8
test eax, eax
je 0x4367f7
sub eax, edi
sar eax, 1
js 0x4367f7
mov edi, 1
jmp 0x4367f9
xor edi, edi
mov edx, dword [esp + 0x30]
cmp dword [edx + 0x164], 0
je 0x43688b
test byte [esi + 0x90], 0x10
jne 0x43688b
mov eax, dword [esp + 0x2c]
push eax
mov ecx, esi
call fcn.00428d30
mov ecx, dword [esp + 0x28]
test eax, eax
push ecx
lea eax, [esp + 0x28]
je 0x43685d
test edi, edi
je 0x436848
mov edx, dword [esp + 0x70]
push edx
push str._s_s_n
push eax
call fcn.00403ad0
add esp, 0x10
jmp 0x4368c9
mov edx, dword [esp + 0x68]
push edx
push str._s_s_n
push eax
call fcn.00403ad0
add esp, 0x10
jmp 0x4368c9
test edi, edi
je 0x436876
mov edx, dword [esp + 0x6c]
push edx
push str._s_s_n
push eax
call fcn.00403ad0
add esp, 0x10
jmp 0x4368c9
mov edx, dword [esp + 0x64]
push edx
push str._s_s_n
push eax
call fcn.00403ad0
add esp, 0x10
jmp 0x4368c9
test edi, edi
mov ecx, dword [esp + 0x28]
push ecx
je 0x4368ad
mov edx, dword [esp + 0x1c]
push edx
lea eax, [esp + 0x2c]
push str._s_s_n
push eax
call fcn.00403ad0
add esp, 0x10
jmp 0x4368c9
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x30]
push str._s_s___s_n
push ecx
call fcn.00403ad0
add esp, 0x14
mov edx, dword [esp + 0x24]
push 1
push edx
push ebp
push 0
call fcn.00443c00
lea eax, [ebx - 0x10]
add esp, 0x10
mov byte [esp + 0x94], 0x11
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4368ff
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x2c]
add eax, 1
cmp eax, dword [esi + 0xb4]
mov dword [esp + 0x2c], eax
jl 0x4366b3
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x94], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43693e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x94], 0xf
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x436a82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x24]
jmp 0x437429
mov ebx, dword [esp + 0x30]
cmp dword [ebx + 0x164], 0
je 0x4369bf
test al, 0x10
jne 0x4369bf
push 0xffffffffffffffff
mov ecx, esi
call fcn.00428d30
test eax, eax
je 0x4369a8
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x28]
call fcn.004024f0
mov eax, dword [esp + 0x24]
push 1
push eax
jmp 0x4369c6
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x28]
call fcn.004024f0
mov eax, dword [esp + 0x24]
push 1
push eax
jmp 0x4369c6
mov ecx, dword [esp + 0x18]
push 1
push ecx
mov edi, dword [esp + 0xa4]
push edi
push 0
call fcn.00443c00
mov edx, dword [esi + 0xa8]
mov eax, dword [edx + 0x10]
add esp, 0x10
cmp dword [eax - 0xc], 0
push 1
jne 0x4369ed
mov eax, dword [esp + 0x24]
push eax
push edi
push 0
call fcn.00443c00
add esp, 0x10
push 1
push 0x5d8804
push edi
push 0
call fcn.00443c00
add esp, 0x10
cmp dword [ebx + 0x164], 0
je 0x436a82
test byte [esi + 0x90], 0x10
jne 0x436a82
push 0xffffffffffffffff
mov ecx, esi
call fcn.00428d30
test eax, eax
jne 0x436a82
mov ecx, dword [esp + 0x38]
push 1
push ecx
push edi
push eax
call fcn.00443c00
add esp, 0x10
lea edx, [esp + 0x80]
push edx
mov ecx, esi
call fcn.004296f0
mov eax, dword [esp + 0x80]
push 1
push eax
push edi
push 0
mov byte [esp + 0xa4], 0x13
call fcn.00443c00
push 1
push 0x5d8804
push edi
push 0
call fcn.00443c00
add esp, 0x20
lea ecx, [esp + 0x80]
call fcn.00401f40
mov eax, dword [esp + 0x24]
jmp 0x437429
mov ecx, dword [esi + 0xa8]
mov eax, dword [ecx + 0x10]
cmp dword [eax - 0xc], 0
jne 0x436a9e
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push eax
push edx
lea eax, [esp + 0x1c]
push str._s_s_n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xac]
push 1
push ecx
push edx
push 0
call fcn.00443c00
add esp, 0x20
jmp case.0x43646b.7
lea ecx, [esp + 0x58]
call fcn.00402080
mov eax, dword [esi + 0xa8]
mov eax, dword [eax + 0x10]
cmp dword [eax - 0xc], 0
mov byte [esp + 0x94], 0x14
lea ecx, [esp + 0x58]
je 0x436b02
push ecx
mov ecx, dword [esp + 0x34]
push eax
call fcn.00435dd0
jmp 0x436b0c
lea edx, [esp + 0x20]
push edx
call fcn.004024f0
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x9c]
push 1
push eax
push edi
push 0
call fcn.00443c00
push 1
push 0x5d8804
push edi
push 0
call fcn.00443c00
mov esi, dword [esp + 0x78]
push 1
push esi
push edi
push 0
call fcn.00443c00
push 1
push 0x5d8804
push edi
push 0
call fcn.00443c00
add esp, 0x40
lea eax, [esi - 0x10]
jmp 0x43742c
mov ecx, dword [esp + 0x30]
cmp dword [ecx + 0x164], 0
je 0x436c20
test byte [esi + 0x90], 0x10
jne 0x436c20
push 0xffffffffffffffff
mov ecx, esi
call fcn.00428d30
test eax, eax
jne 0x43649d
mov ecx, dword [esi + 0xa8]
mov eax, dword [ecx + 0x10]
cmp dword [eax - 0xc], 0
jne 0x436bae
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
push edx
push eax
push str._s_s_n
lea ecx, [esp + 0x20]
push ecx
jmp 0x436bbe
mov edx, dword [esp + 0x18]
push eax
push edx
push str._s_s_n
lea eax, [esp + 0x20]
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0xac]
add esp, 0x10
push 1
push ecx
push edi
push 0
call fcn.00443c00
add esp, 0x10
cmp dword [esi + 0xc8], 0
jle 0x437840
mov esi, dword [esi + 0xc4]
mov esi, dword [esi]
mov edx, dword [esp + 0x38]
push esi
push edx
lea eax, [esp + 0x1c]
push str._s_s_n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x24]
push 1
push ecx
push edi
push 0
call fcn.00443c00
add esp, 0x20
jmp case.0x43646b.7
mov edx, dword [esi + 0xa8]
mov eax, dword [edx + 0x10]
cmp dword [eax - 0xc], 0
jne 0x436c45
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push str._s_s_n
lea edx, [esp + 0x20]
push edx
jmp 0x436c55
push eax
mov eax, dword [esp + 0x1c]
push eax
push str._s_s_n
lea ecx, [esp + 0x20]
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0xac]
add esp, 0x10
push 1
push edx
push eax
push 0
call fcn.00443c00
add esp, 0x10
jmp case.0x43646b.7
lea ecx, [esp + 0x1c]
call fcn.00401f60
mov ecx, dword [esp + 0x30]
cmp dword [ecx + 0x164], 0
je 0x43717d
xor ebx, ebx
test byte [esi + 0x90], 4
je 0x436ecd
cmp dword [esi + 0xb4], ebx
mov dword [esp + 0x2c], ebx
jle case.0x43646b.7
lea edi, [ebx + 1]
test ebx, ebx
jl 0x437840
cmp ebx, dword [esi + 0xb4]
jge 0x437840
mov edx, dword [esi + 0xb0]
mov ebp, dword [edx + ebx*4]
cmp dword [ebp + 0x30], 1
lea eax, [edx + ebx*4]
jne 0x436eb2
cmp dword [esp + 0x4c], 0
jne 0x436d72
mov eax, dword [esp + 0x9c]
push 1
push 0x5d8804
push eax
push 0
call fcn.00443c00
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x50]
add eax, 1
push eax
push ecx
lea edx, [esp + 0x2c]
push str._s_d_n
push edx
mov dword [esp + 0x54], eax
call fcn.00403ad0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xbc]
push 1
push eax
push ecx
push 0
call fcn.00443c00
add esp, 0x30
lea eax, [esi + 0xdc]
push eax
lea ecx, [esp + 0x18]
call fcn.004024f0
push 0x5d8804
lea ecx, [esp + 0x18]
call fcn.00404560
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x9c]
push 1
push edx
push eax
push 0
call fcn.00443c00
add esp, 0x10
push ebx
mov ecx, esi
mov dword [esp + 0x50], 0
call fcn.00428d30
test eax, eax
je 0x436dce
push edi
push edi
lea ecx, [esp + 0x24]
push 0x5dc86c
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
push edx
push eax
lea ecx, [esp + 0x2c]
push str._s_s_n
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
push 1
push edx
push eax
push 0
call fcn.00443c00
add esp, 0x30
jmp 0x436eb2
cmp dword [ebp + 0x48], 0
jne 0x436dea
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push ecx
push edx
push str._s_s_n
lea eax, [esp + 0x20]
push eax
jmp 0x436e58
lea ecx, [esp + 0x1c]
call fcn.00401f60
mov edx, dword [esi + 0xb4]
xor eax, eax
test edx, edx
jle 0x436e44
test eax, eax
jl 0x437840
cmp eax, dword [esi + 0xb4]
jge 0x437840
mov ecx, dword [esi + 0xb0]
mov ebx, dword [ebp + 0x48]
lea ecx, [ecx + eax*4]
add eax, 1
cmp ebx, dword [ecx]
je 0x436e2c
cmp eax, edx
jl 0x436dff
jmp 0x436e40
push eax
push edi
lea edx, [esp + 0x24]
push 0x5dc86c
push edx
call fcn.00403ad0
add esp, 0x10
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push str._s_s_n
lea edx, [esp + 0x20]
push edx
call fcn.00403ad0
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0xac]
add esp, 0x10
push 1
push eax
push ebp
push 0
call fcn.00443c00
push edi
push edi
lea ecx, [esp + 0x34]
push 0x5dc86c
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
push edx
push eax
lea ecx, [esp + 0x3c]
push str._s_s_n
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x44]
push 1
push edx
push ebp
push 0
call fcn.00443c00
add esp, 0x40
add ebx, 1
add edi, 1
cmp ebx, dword [esi + 0xb4]
mov dword [esp + 0x2c], ebx
jl 0x436cb7
jmp case.0x43646b.7
xor ebp, ebp
cmp dword [esi + 0xb4], ebp
jle 0x436fe5
lea ecx, [esp + 0x50]
call fcn.00402080
test ebx, ebx
mov byte [esp + 0x94], 0x15
jl 0x437840
cmp ebx, dword [esi + 0xb4]
jge 0x437840
mov eax, dword [esi + 0xb0]
lea eax, [eax + ebx*4]
mov eax, dword [eax]
mov edx, dword [eax + 0x48]
test edx, edx
je 0x436f17
mov ebp, 1
cmp dword [eax + 0x30], 1
jne 0x436fae
test edx, edx
jne 0x436f35
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x54]
call fcn.004024f0
jmp 0x436f82
mov edi, dword [esi + 0xb4]
xor eax, eax
test edi, edi
jle 0x436f82
test eax, eax
jl 0x437840
cmp eax, dword [esi + 0xb4]
jge 0x437840
mov ecx, dword [esi + 0xb0]
lea ecx, [ecx + eax*4]
add eax, 1
cmp edx, dword [ecx]
je 0x436f6b
cmp eax, edi
jl 0x436f41
jmp 0x436f82
push eax
lea edx, [ebx + 1]
push edx
lea eax, [esp + 0x58]
push 0x5dc86c
push eax
call fcn.00403ad0
add esp, 0x10
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], 0
je 0x436f9a
push 0x5d8f14
lea ecx, [esp + 0x20]
call fcn.00404560
mov edi, dword [esp + 0x50]
mov eax, dword [edi - 0xc]
push eax
push edi
lea ecx, [esp + 0x24]
call fcn.00403a10
jmp 0x436fb2
mov edi, dword [esp + 0x50]
lea eax, [edi - 0x10]
mov byte [esp + 0x94], 0xe
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x436fd6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebx, 1
cmp ebx, dword [esi + 0xb4]
jl 0x436edb
push 0xffffffffffffffff
mov ecx, esi
call fcn.00428d30
test eax, eax
je 0x437029
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
push ecx
push edx
lea eax, [esp + 0x1c]
push str._s_s_n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xac]
push 1
push ecx
push edx
push 0
call fcn.00443c00
add esp, 0x20
jmp case.0x43646b.7
test ebp, ebp
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x14]
je 0x43703d
mov eax, dword [esp + 0x1c]
push eax
push ecx
push str._s_s_n
push edx
call fcn.00403ad0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xac]
add esp, 0x10
push 1
push eax
push ecx
push 0
call fcn.00443c00
add esp, 0x10
lea ecx, [esp + 0x1c]
call fcn.00401f60
xor edi, edi
cmp dword [esi + 0xb4], edi
jle 0x437146
test edi, edi
jl 0x437840
cmp edi, dword [esi + 0xb4]
jge 0x437840
mov edx, dword [esi + 0xb0]
lea eax, [edx + edi*4]
mov eax, dword [eax]
cmp dword [eax + 0x30], 1
jne 0x437137
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x435ed0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x54], eax
lea eax, [edi + 1]
push eax
push eax
lea ecx, [esp + 0x5c]
push 0x5dc86c
push ecx
mov byte [esp + 0xa4], 0x16
call fcn.00403ad0
mov edx, dword [esp + 0x2c]
add esp, 0x10
cmp dword [edx - 0xc], 0
je 0x437101
push 0x5d8f14
lea ecx, [esp + 0x20]
call fcn.00404560
mov ebp, dword [esp + 0x54]
mov eax, dword [ebp - 0xc]
push eax
push ebp
lea ecx, [esp + 0x24]
call fcn.00403a10
lea eax, [ebp - 0x10]
mov byte [esp + 0x94], 0xe
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437137
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 1
cmp edi, dword [esi + 0xb4]
jl 0x43707d
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
push ecx
push edx
lea eax, [esp + 0x1c]
push str._s_s_n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xac]
push 1
push ecx
push edx
push 0
call fcn.00443c00
add esp, 0x20
jmp case.0x43646b.7
test byte [esi + 0x90], 4
je 0x4372c7
mov ebp, dword [esi + 0xb4]
xor edi, edi
test ebp, ebp
jle case.0x43646b.7
mov ebx, dword [esp + 0x9c]
test edi, edi
jl 0x437840
cmp edi, dword [esi + 0xb4]
jge 0x437840
mov eax, dword [esi + 0xb0]
lea eax, [eax + edi*4]
mov eax, dword [eax]
mov edx, dword [eax + 0x48]
test edx, edx
jne 0x4371cd
mov ecx, dword [esp + 0x20]
jmp 0x437218
xor eax, eax
test ebp, ebp
jle 0x437214
test eax, eax
jl 0x437840
cmp eax, dword [esi + 0xb4]
jge 0x437840
mov ecx, dword [esi + 0xb0]
lea ecx, [ecx + eax*4]
add eax, 1
cmp edx, dword [ecx]
je 0x4371fd
cmp eax, ebp
jl 0x4371d3
jmp 0x437214
push eax
lea edx, [edi + 1]
push edx
lea eax, [esp + 0x24]
push 0x5dc86c
push eax
call fcn.00403ad0
add esp, 0x10
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
push edx
lea eax, [esp + 0x1c]
push str._s_s_n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x24]
add esp, 0x10
push 1
push ecx
push ebx
push 0
call fcn.00443c00
mov eax, dword [esi + 0xb4]
add eax, 0xffffffff
add esp, 0x10
cmp edi, eax
jge 0x4372b1
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
add eax, 1
push eax
push edx
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x1c]
push str._s_d_n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x24]
push 1
push ecx
push ebx
push 0
call fcn.00443c00
add esp, 0x20
lea eax, [esi + 0xdc]
push eax
lea ecx, [esp + 0x18]
call fcn.004024f0
push 0x5d8804
lea ecx, [esp + 0x18]
call fcn.00404560
mov edx, dword [esp + 0x14]
push 1
push edx
push ebx
push 0
call fcn.00443c00
add esp, 0x10
mov ebp, dword [esi + 0xb4]
add edi, 1
cmp edi, ebp
jl 0x4371a1
jmp case.0x43646b.7
lea ecx, [esp + 0x44]
xor ebx, ebx
call fcn.00402080
xor ebp, ebp
cmp dword [esi + 0xb4], ebp
mov byte [esp + 0x94], 0x17
jle 0x4373ea
jmp 0x4372f0
lea ecx, [esp + 0x5c]
call fcn.00402080
test ebp, ebp
mov byte [esp + 0x94], 0x18
jl 0x437840
cmp ebp, dword [esi + 0xb4]
jge 0x437840
mov eax, dword [esi + 0xb0]
lea eax, [eax + ebp*4]
mov eax, dword [eax]
mov edi, dword [eax + 0x48]
test edi, edi
jne 0x437337
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x60]
call fcn.004024f0
jmp 0x437389
mov edx, dword [esi + 0xb4]
xor eax, eax
test edx, edx
mov ebx, 1
jle 0x437389
test eax, eax
jl 0x437840
cmp eax, dword [esi + 0xb4]
jge 0x437840
mov ecx, dword [esi + 0xb0]
lea ecx, [ecx + eax*4]
add eax, 1
cmp edi, dword [ecx]
je 0x437372
cmp eax, edx
jl 0x437348
jmp 0x437389
push eax
lea edx, [ebp + 1]
push edx
lea eax, [esp + 0x64]
push 0x5dc86c
push eax
call fcn.00403ad0
add esp, 0x10
mov ecx, dword [esp + 0x44]
cmp dword [ecx - 0xc], 0
je 0x4373a1
push 0x5d8f14
lea ecx, [esp + 0x48]
call fcn.00404560
mov edi, dword [esp + 0x5c]
mov eax, dword [edi - 0xc]
push eax
push edi
lea ecx, [esp + 0x4c]
call fcn.00403a10
lea eax, [edi - 0x10]
mov byte [esp + 0x94], 0x17
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4373d7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebp, 1
cmp ebp, dword [esi + 0xb4]
jl 0x4372f0
test ebx, ebx
jne 0x4373f0
mov ecx, dword [esp + 0x20]
jmp 0x4373f4
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x18]
push ecx
push edx
lea eax, [esp + 0x1c]
push str._s_s_n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xac]
add esp, 0x10
push 1
push ecx
push edx
push 0
call fcn.00443c00
mov eax, dword [esp + 0x54]
add esp, 0x10
add eax, 0xfffffff0
mov byte [esp + 0x94], 0xe
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg case.0x43646b.7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x9c]
push 1
push 0x5d8804
push ecx
push 0
call fcn.00443c00
mov ebp, dword [esp + 0xac]
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x94]
add esp, 0x10
add ecx, 1
cmp ecx, dword [ebx + 0x2a8]
mov dword [esp + 0x84], ecx
jl 0x4363ba
cmp dword [ebx + 0x280], 0
jne 0x43756d
mov eax, dword [ebx + 0x288]
test eax, eax
je 0x43756d
test byte [esp + 0xa8], 1
jne 0x43756d
mov esi, eax
shl esi, 4
sub esi, eax
add esi, esi
add esi, esi
mov eax, 0x91a2b3c5
imul esi
add edx, esi
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
imul edx, edx, 0xe10
mov eax, esi
sub eax, edx
cdq
mov edi, 0x3c
idiv edi
push edx
push eax
push ecx
lea eax, [esp + 0x20]
push str.AllowedTime_02d:_02d:_02d_n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x28]
push 1
push ecx
push ebp
push 0
call fcn.00443c00
mov edi, dword [esp + 0xc4]
add esp, 0x24
cmp edi, esi
jg 0x437520
test edi, edi
jge 0x437522
mov edi, esi
mov eax, 0x91a2b3c5
imul edi
add edx, edi
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
imul edx, edx, 0xe10
mov eax, edi
sub eax, edx
cdq
mov esi, 0x3c
idiv esi
push edx
push eax
push ecx
lea eax, [esp + 0x20]
push 0x5dec30
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x28]
push 1
push ecx
push ebp
push 0
call fcn.00443c00
add esp, 0x24
mov esi, dword [esp + 0xa4]
test esi, esi
je 0x4375b2
test byte [ebx + 0x298], 4
je 0x4375b2
test byte [esp + 0xa8], 1
jne 0x4375b2
lea ecx, [esp + 0x14]
call fcn.00401f60
lea edx, [esp + 0x14]
push edx
mov ecx, esi
call fcn.0043ce40
mov eax, dword [esp + 0x14]
push 0
push eax
push ebp
push 0
call fcn.00443c00
add esp, 0x10
push 1
push 0x5decd4
push ebp
push 0
call fcn.00443c00
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
add esp, 0x10
mov byte [esp + 0x94], 0xd
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4375ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
mov byte [esp + 0x94], 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437614
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
mov byte [esp + 0x94], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43763c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
mov byte [esp + 0x94], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437664
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x94], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43768c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
mov byte [esp + 0x94], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4376b4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x74]
add eax, 0xfffffff0
mov byte [esp + 0x94], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4376dc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
mov byte [esp + 0x94], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437704
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x7c]
add eax, 0xfffffff0
mov byte [esp + 0x94], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43772c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x94], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437754
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0x94], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43777c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x94], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4377a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov byte [esp + 0x94], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4377cc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov byte [esp + 0x94], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4377f4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x94], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43781f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x8c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x10
call fcn.0057e0f5
lea ecx, [ecx]
jb 0x4378ae
inc ebx
add byte [ecx], cl
inc bx
add byte [ebx - 0x2effbc96], cl
push 0x43
add byte [edx + 0x6b], bl
inc ebx
add byte [ebx + 0x6c], bh
inc ebx
add byte [ebx + 0x6c], bh
inc ebx
add byte [ebp + 0x74], cl
inc ebx
add byte [ecx], cl
inc bx
add byte [ecx], cl
inc bx
add byte [ecx], cl
inc bx
add ah, cl
int3
and al, 0x20
call fcn.0057e772
xor ecx, ecx
xor esi, esi
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x4378cc
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov dword [esp + 0x98], esi
mov dword [esp + 0x78], 1
mov dword [esp + 0x64], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x24], esi
call fcn.0057e772
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x437925
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x98], 1
call fcn.0057e772
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x437957
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x4c], eax
mov byte [esp + 0x98], 2
call fcn.0057e772
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x437989
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x98], 3
call fcn.0057e772
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x4379bb
push 0x80004005
call fcn.00401a10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x2c], eax
push esi
lea ecx, [esp + 0x50]
push ecx
push 0x7db2
mov ecx, 0x61537c
mov byte [esp + 0xa4], 4
call fcn.00405220
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x2c]
push edx
push eax
call fcn.0043e170
mov edi, dword [esp + 0xa8]
add esp, 8
xor ebp, ebp
test dword [ebx + 0x298], 0x100
mov dword [esp + 0x60], ebp
push 1
je 0x437a2a
push str._lectorasurvey__n
push edi
push esi
call fcn.00443c00
push 1
push str._t_surveyname_
jmp 0x437a3d
push str._lectoratest__n
push edi
push esi
call fcn.00443c00
push 1
push str._t_testname_
push edi
push esi
call fcn.00443c00
mov eax, dword [ebx + 4]
add esp, 0x20
lea ecx, [esp + 0x18]
push ecx
push eax
call fcn.0043e170
mov edx, dword [esp + 0x20]
push 1
push edx
push edi
push esi
call fcn.00443c00
add esp, 0x18
test dword [ebx + 0x298], 0x100
push 1
je 0x437a7b
push str.__surveyname__n
jmp 0x437a80
push str.__testname__n
push edi
push esi
call fcn.00443c00
add esp, 0x10
cmp dword [ebx + 0x294], esi
je 0x437ada
mov eax, dword [0x615430]
cmp dword [eax - 0xc], esi
je 0x437ada
push 1
push str._t_studentname_
push edi
push esi
call fcn.00443c00
mov edx, dword [0x615430]
lea ecx, [esp + 0x28]
push ecx
push edx
call fcn.0043e170
mov eax, dword [esp + 0x30]
push 1
push eax
push edi
push esi
call fcn.00443c00
push 1
push str.__studentname__n
push edi
push esi
call fcn.00443c00
add esp, 0x38
mov eax, dword [ebx + 0x2a8]
xor ecx, ecx
cmp eax, esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x80], ecx
jle 0x438ed4
test ecx, ecx
jl 0x439047
cmp ecx, dword [ebx + 0x2a8]
jge 0x439047
mov edx, dword [ebx + 0x2a4]
mov esi, dword [edx + ecx*4]
cmp dword [esi + 0x84], 8
je 0x438ead
add dword [esp + 0x38], 1
cmp dword [ebx + 0x280], 0
jne 0x437da1
push esi
mov dword [esp + 0x60], 1
call fcn.0042d370
add esp, 4
test eax, eax
jne 0x437b53
test ebp, ebp
jne 0x437b53
mov dword [esp + 0x60], ebp
jmp 0x437c2d
push esi
call fcn.0042d370
add esp, 4
test ebp, ebp
mov dword [esp + 0x70], eax
je 0x437c25
cmp eax, ebp
je 0x437c25
push 1
push str._t_section__n
push edi
push 0
call fcn.00443c00
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [esp + 0x28]
push str._t_t_id__d__id__n
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x30]
push 1
push edx
push edi
push 0
call fcn.00443c00
add esp, 0x2c
cmp dword [ebx + 0x164], 0
je 0x437c02
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
push eax
push ecx
lea edx, [esp + 0x1c]
push str._t_t_truefalsescore__d__d__truefalsescore__n
push edx
call fcn.00403ad0
mov eax, dword [esp + 0x24]
push 1
push eax
push edi
xor ebx, ebx
push ebx
call fcn.00443c00
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x44]
push ecx
push edx
lea eax, [esp + 0x3c]
push str._t_t_multiplechoicescore__d__d__multiplechoicescore__n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x44]
push 1
push ecx
push edi
push ebx
call fcn.00443c00
add esp, 0x40
jmp 0x437c04
xor ebx, ebx
push 1
push str._t__section__n
push edi
push ebx
call fcn.00443c00
add esp, 0x10
mov dword [esp + 0x48], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x30], ebx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x60], edx
push 1
push str._t_question__n
push edi
push 0
call fcn.00443c00
mov eax, dword [esp + 0x48]
push eax
lea ecx, [esp + 0x28]
push str._t_t_questionnumber__d__questionnumber__n
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x30]
push 1
push edx
push edi
push 0
call fcn.00443c00
add esp, 0x2c
push 0x10
push str._t_t_questiontext_
lea ecx, [esp + 0x1c]
call fcn.00402270
lea eax, [esi + 0xdc]
push eax
lea ecx, [esp + 0x50]
call fcn.004024f0
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.0043e170
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 0xc]
add esp, 8
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00403a10
push 0x10
push str.__questiontext__n
lea ecx, [esp + 0x1c]
call fcn.00403a10
mov eax, dword [esp + 0x14]
push 1
push eax
push edi
push 0
call fcn.00443c00
mov ecx, dword [esi + 0xc]
push ecx
lea edx, [esp + 0x28]
push str._t_t_id__d__id__n
push edx
call fcn.00403ad0
mov eax, dword [esp + 0x30]
push 1
push eax
push edi
push 0
call fcn.00443c00
push esi
call fcn.0042d370
add esp, 0x30
test eax, eax
je 0x437d6f
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4378c2
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebp, [eax + 0x10]
mov dword [esp + 0x70], ebp
push esi
mov byte [esp + 0x9c], 5
call fcn.0042d370
mov ecx, dword [eax + 0xc]
push ecx
lea edx, [esp + 0x1c]
push str._t_t_sectionref__d__sectionref__n
push edx
call fcn.00403ad0
mov eax, dword [esp + 0x24]
push 1
push eax
push edi
push 0
call fcn.00443c00
lea eax, [ebp - 0x10]
add esp, 0x20
mov byte [esp + 0x98], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437d6f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test byte [esi + 0x90], 0x10
jne 0x437da1
mov ecx, esi
call fcn.00427830
push eax
lea ecx, [esp + 0x18]
push str._t_t_questionweight__d__questionweight__n
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x20]
push 1
push edx
push edi
push 0
call fcn.00443c00
add esp, 0x1c
mov eax, dword [esi + 0x84]
add eax, 0xffffffff
cmp eax, 0xa
ja case.0x437db3.7
jmp dword [eax*4 + 0x4393dc]
mov ecx, esi
call fcn.00427830
add dword [esp + 0x64], eax
mov ecx, esi
call fcn.00427830
add dword [esp + 0x44], eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.00428d30
test eax, eax
je 0x437df3
mov ecx, esi
call fcn.00427830
add dword [esp + 0x68], eax
mov ecx, esi
call fcn.00427830
add dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x280], 0
jne case.0x437db3.7
push 1
push str._t_t_questiontype_1__questiontype__n
push edi
push 0
call fcn.00443c00
mov ecx, dword [esp + 0x30]
add esp, 0x10
cmp dword [ecx + 0x164], 0
je 0x437ec0
test byte [esi + 0x90], 0x10
jne 0x437ec0
push str._t_t_correctanswer_
lea ecx, [esp + 0x18]
call fcn.00403db0
mov edx, dword [esi + 0xb4]
xor eax, eax
test edx, edx
jle 0x437ea0
mov edi, edi
test eax, eax
jl 0x439047
cmp eax, dword [esi + 0xb4]
jge 0x439047
mov ecx, dword [esi + 0xb0]
lea ecx, [ecx + eax*4]
mov ecx, dword [ecx]
test byte [ecx + 4], 2
jne 0x437e7e
add eax, 1
cmp eax, edx
jl 0x437e50
jmp 0x437ea0
test eax, eax
jne 0x437e89
push 0x7da7
jmp 0x437e8e
push 0x7da8
call fcn.00443770
add esp, 4
push eax
lea ecx, [esp + 0x18]
call fcn.00404560
push str.__correctanswer__n
lea ecx, [esp + 0x18]
call fcn.00404560
mov edx, dword [esp + 0x14]
push 1
push edx
push edi
push 0
call fcn.00443c00
add esp, 0x10
push str._t_t_answer_
lea ecx, [esp + 0x18]
call fcn.00403db0
mov esi, dword [esi + 0xa8]
mov eax, dword [esi + 0x10]
cmp dword [eax - 0xc], 0
jne 0x437ee8
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 0xc]
push ecx
push eax
jmp 0x437eef
mov esi, eax
mov eax, dword [esi - 0xc]
push eax
push esi
lea ecx, [esp + 0x1c]
call fcn.00403a10
push str.__answer__n
lea ecx, [esp + 0x18]
call fcn.00404560
jmp 0x438e7c
mov ecx, esi
call fcn.00427830
add dword [esp + 0x34], eax
mov ecx, esi
call fcn.00427830
add dword [esp + 0x30], eax
test byte [esi + 0x90], 4
je 0x438404
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4378c2
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x40], eax
mov byte [esp + 0x98], 6
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4378c2
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x70], eax
mov byte [esp + 0x98], 7
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4378c2
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x6c], eax
xor eax, eax
cmp dword [esi + 0xb4], eax
mov byte [esp + 0x98], 8
mov dword [esp + 0x3c], eax
jle 0x4383a8
jmp 0x437fd4
mov eax, dword [esp + 0x3c]
test eax, eax
jl 0x439047
cmp eax, dword [esi + 0xb4]
jge 0x439047
mov ecx, dword [esi + 0xb0]
mov ebx, dword [ecx + eax*4]
cmp dword [ebx + 0x30], 1
lea eax, [ecx + eax*4]
jne 0x438391
mov edx, dword [esp + 0x3c]
push edx
mov ecx, esi
call fcn.00428d30
test eax, eax
je 0x43801c
mov eax, dword [esi + 0xe0]
add dword [esp + 0x28], eax
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x280], 0
jne 0x438391
lea ecx, [esp + 0x7c]
push ecx
mov ecx, esi
call fcn.004296f0
cmp dword [esp + 0x5c], 0
mov byte [esp + 0x98], 9
jne 0x438157
mov ebp, dword [esp + 0x38]
push 1
push str._t_question__n
push edi
add ebp, 1
push 0
mov dword [esp + 0x48], ebp
call fcn.00443c00
push ebp
lea edx, [esp + 0x28]
push str._t_t_questionnumber__d__questionnumber__n
push edx
call fcn.00403ad0
mov eax, dword [esp + 0x30]
push 1
push eax
push edi
push 0
call fcn.00443c00
add esp, 0x2c
push str._t_t_questiontext_
lea ecx, [esp + 0x18]
call fcn.00403db0
mov eax, dword [esi + 0xdc]
lea ecx, [esp + 0x18]
push ecx
push eax
call fcn.0043e170
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 0xc]
add esp, 8
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00403a10
push str.__questiontext__n
lea ecx, [esp + 0x18]
call fcn.00404560
mov edx, dword [esp + 0x14]
push 1
push edx
push edi
push 0
call fcn.00443c00
mov eax, dword [esi + 0xc]
push eax
lea ecx, [esp + 0x28]
push str._t_t_id__d__id__n
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x30]
push 1
push edx
push edi
push 0
call fcn.00443c00
push esi
call fcn.0042d370
mov ebp, eax
add esp, 0x30
test ebp, ebp
je 0x438157
lea ecx, [esp + 0x84]
call fcn.00402080
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [esp + 0x18]
push str._t_t_sectionref__d__sectionref__n
push ecx
mov byte [esp + 0xa4], 0xa
call fcn.00403ad0
mov edx, dword [esp + 0x20]
push 1
push edx
push edi
push 0
call fcn.00443c00
add esp, 0x1c
lea ecx, [esp + 0x84]
mov byte [esp + 0x98], 9
call fcn.00401f40
cmp dword [esi + 0x84], 2
mov dword [esp + 0x5c], 0
jne 0x43817a
push 1
push str._t_t_questiontype_2__questiontype__n
push edi
push 0
call fcn.00443c00
add esp, 0x10
mov eax, dword [ebx + 0x3c]
cmp dword [eax - 0xc], 0
lea ecx, [ebx + 0x3c]
jne 0x43819c
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x43819c
cmp dword [eax + 8], 0x424f5743
jne 0x43819c
add eax, 4
push eax
jmp 0x43819d
push ecx
lea ecx, [esp + 0x44]
call fcn.004024f0
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0x164], 0
je 0x43820e
test byte [esi + 0x90], 0x10
jne 0x43820e
push str._t_t_correctanswer_
lea ecx, [esp + 0x18]
call fcn.00403db0
mov eax, dword [esp + 0x7c]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.0043e170
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 0xc]
add esp, 8
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00403a10
push str.__correctanswer__n
lea ecx, [esp + 0x18]
call fcn.00404560
mov ecx, dword [esp + 0x14]
push 1
push ecx
push edi
push 0
call fcn.00443c00
add esp, 0x10
mov edx, dword [esp + 0x40]
push edx
lea eax, [esp + 0x74]
push 0x5d8f18
push eax
call fcn.00403ad0
mov ecx, dword [esi + 0xa8]
mov edx, dword [ecx + 0x10]
push edx
lea eax, [esp + 0x7c]
push 0x5d8f18
push eax
call fcn.00403ad0
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0x84]
add esp, 0x18
test eax, eax
je 0x438271
cmp dword [ebx - 0xc], 0
jl 0x438271
push eax
push ebx
call fcn.005aadaf
add esp, 8
test eax, eax
je 0x438271
sub eax, ebx
sar eax, 1
js 0x438271
mov ebp, 1
jmp 0x438273
xor ebp, ebp
push str._t_t_answer_
lea ecx, [esp + 0x18]
call fcn.00403db0
mov ecx, dword [esi + 0xa8]
mov edx, dword [ecx + 0x10]
cmp dword [edx - 0xc], 0
jne 0x4382a7
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00403a10
jmp 0x438328
lea ecx, [esp + 0x50]
call fcn.00402080
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x50]
push eax
push ecx
mov byte [esp + 0xa0], 0xb
call fcn.0043e170
add esp, 8
test ebp, ebp
jne 0x4382ee
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00403a10
push 0x5dc8f0
lea ecx, [esp + 0x18]
call fcn.00404560
mov eax, dword [esp + 0x50]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00403a10
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
mov byte [esp + 0x98], 9
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x438328
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.__answer__n
lea ecx, [esp + 0x18]
call fcn.00404560
mov ecx, dword [esp + 0x14]
push 1
push ecx
push edi
push 0
call fcn.00443c00
mov eax, dword [esi + 0xb4]
add eax, 0xffffffff
add esp, 0x10
cmp dword [esp + 0x3c], eax
jge 0x438369
push 1
push str._t__question__n
push edi
push 0
call fcn.00443c00
add esp, 0x10
mov eax, dword [esp + 0x7c]
add eax, 0xfffffff0
mov byte [esp + 0x98], 8
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x438391
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 1
cmp eax, dword [esi + 0xb4]
mov dword [esp + 0x3c], eax
jl 0x437fd0
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
mov byte [esp + 0x98], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4383d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
mov byte [esp + 0x98], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4383f8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
jmp 0x438609
push 0xffffffffffffffff
mov ecx, esi
call fcn.00428d30
test eax, eax
je 0x438427
mov ecx, esi
call fcn.00427830
add dword [esp + 0x28], eax
mov ecx, esi
call fcn.00427830
add dword [esp + 0x24], eax
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0x280], 0
jne case.0x437db3.7
mov eax, dword [esi + 0x84]
cmp eax, 2
push 1
jne 0x43844c
push str._t_t_questiontype_2__questiontype__n
jmp 0x438469
cmp eax, 0xa
jne 0x438458
push str._t_t_questiontype_10__questiontype__n
jmp 0x438469
cmp eax, 0xb
jne 0x438464
push str._t_t_questiontype_11__questiontype__n
jmp 0x438469
push str._t_t_questiontype_9__questiontype__n
push edi
push 0
call fcn.00443c00
mov edx, dword [esp + 0x30]
add esp, 0x10
cmp dword [edx + 0x164], 0
je 0x4385a6
test byte [esi + 0x90], 0x10
jne 0x4385a6
push str._t_t_correctanswer_
lea ecx, [esp + 0x18]
call fcn.00403db0
lea ecx, [esp + 0x54]
call fcn.00402080
xor ebp, ebp
cmp dword [esi + 0xb4], ebp
mov byte [esp + 0x98], 0xc
jle 0x438550
mov ebx, 0x424f5743
test ebp, ebp
jl 0x439047
cmp ebp, dword [esi + 0xb4]
jge 0x439047
mov eax, dword [esi + 0xb0]
lea eax, [eax + ebp*4]
mov eax, dword [eax]
test byte [eax + 4], 2
je 0x438541
mov ecx, dword [eax + 0x3c]
cmp dword [ecx - 0xc], 0
jne 0x438509
mov eax, dword [eax + 0x14]
test eax, eax
je 0x438509
cmp dword [eax + 8], ebx
jne 0x438509
mov eax, dword [eax + 4]
lea ecx, [esp + 0x18]
push ecx
push eax
jmp 0x43850f
lea edx, [esp + 0x18]
push edx
push ecx
call fcn.0043e170
mov eax, dword [esp + 0x5c]
add esp, 8
cmp dword [eax - 0xc], 0
je 0x43852f
push 0x5d8f14
lea ecx, [esp + 0x58]
call fcn.00404560
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x5c]
call fcn.00403a10
add ebp, 1
cmp ebp, dword [esi + 0xb4]
jl 0x4384c4
mov ebp, dword [esp + 0x54]
mov eax, dword [ebp - 0xc]
push eax
push ebp
lea ecx, [esp + 0x1c]
call fcn.00403a10
push str.__correctanswer__n
lea ecx, [esp + 0x18]
call fcn.00404560
mov ecx, dword [esp + 0x14]
push 1
push ecx
push edi
push 0
call fcn.00443c00
lea eax, [ebp - 0x10]
add esp, 0x10
mov byte [esp + 0x98], 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4385a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esi + 0xa8]
mov edx, dword [ecx + 0x10]
cmp dword [edx - 0xc], 0
jne 0x438633
lea ecx, [esp + 0x58]
call fcn.00402080
push str._t_t_answer_
lea ecx, [esp + 0x5c]
mov byte [esp + 0x9c], 0xd
call fcn.00403db0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x60]
call fcn.00403a10
push str.__answer__n
lea ecx, [esp + 0x5c]
call fcn.00404560
mov esi, dword [esp + 0x58]
push 1
push esi
push edi
push 0
call fcn.00443c00
add esp, 0x10
lea eax, [esi - 0x10]
mov byte [esp + 0x98], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg case.0x437db3.7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp case.0x437db3.7
push str._t_t_answer_
lea ecx, [esp + 0x18]
call fcn.00403db0
mov ecx, dword [esi + 0xa8]
mov eax, dword [ecx + 0x10]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.0043e170
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 0xc]
add esp, 8
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00403a10
push str.__answer__n
lea ecx, [esp + 0x18]
call fcn.00404560
mov eax, dword [esp + 0x14]
push 1
push eax
jmp 0x438e83
mov ecx, esi
call fcn.00427830
test eax, eax
jle 0x438697
mov dword [esp + 0x78], 0
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0x280], 0
jne case.0x437db3.7
push 1
push str._t_t_questiontype_3__questiontype__n
push edi
push 0
call fcn.00443c00
mov edx, dword [esi + 0xa8]
mov eax, dword [edx + 0x10]
add esp, 0x10
cmp dword [eax - 0xc], 0
lea ecx, [esp + 0x18]
je 0x4386d9
push ecx
push eax
call fcn.0043e170
add esp, 8
jmp 0x4386e3
lea edx, [esp + 0x2c]
push edx
call fcn.004024f0
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push str._t_t_answer__s__answer__n
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x20]
push 1
push edx
push edi
push 0
call fcn.00443c00
add esp, 0x1c
jmp case.0x437db3.7
mov ecx, esi
call fcn.00427830
test eax, eax
jle 0x438721
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x280], 0
jne case.0x437db3.7
push 1
push str._t_t_questiontype_4__questiontype__n
push edi
push 0
call fcn.00443c00
mov ecx, dword [esi + 0xa8]
mov eax, dword [ecx + 0x10]
add esp, 0x10
cmp dword [eax - 0xc], 0
je 0x438763
lea edx, [esp + 0x18]
push edx
push eax
call fcn.0043e170
add esp, 8
jmp 0x438771
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x1c]
call fcn.004024f0
mov ecx, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push str._t_t_answer__s__answer__n
push edx
call fcn.00403ad0
mov eax, dword [esp + 0x20]
push 1
push eax
push edi
push 0
call fcn.00443c00
add esp, 0x1c
jmp case.0x437db3.7
mov ecx, esi
call fcn.00427830
add dword [esp + 0x34], eax
mov ecx, esi
call fcn.00427830
add dword [esp + 0x30], eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.00428d30
test eax, eax
je 0x4387d5
mov ecx, esi
call fcn.00427830
add dword [esp + 0x28], eax
mov ecx, esi
call fcn.00427830
add dword [esp + 0x24], eax
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0x280], 0
jne case.0x437db3.7
push 1
push str._t_t_questiontype_5__questiontype__n
push edi
push 0
call fcn.00443c00
mov edx, dword [esp + 0x30]
add esp, 0x10
cmp dword [edx + 0x164], 0
je 0x438859
test byte [esi + 0x90], 0x10
jne 0x438859
push str._t_t_correctanswer_
lea ecx, [esp + 0x18]
call fcn.00403db0
cmp dword [esi + 0xc8], 0
jle 0x439047
mov eax, dword [esi + 0xc4]
push eax
lea ecx, [esp + 0x18]
call fcn.00404540
push str.__correctanswer__n
lea ecx, [esp + 0x18]
call fcn.00404560
mov eax, dword [esp + 0x14]
push 1
push eax
push edi
push 0
call fcn.00443c00
add esp, 0x10
push str._t_t_answer_
lea ecx, [esp + 0x18]
call fcn.00403db0
mov esi, dword [esi + 0xa8]
mov ecx, dword [esi + 0x10]
cmp dword [ecx - 0xc], 0
lea eax, [esi + 0x10]
jne 0x43888d
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00403a10
jmp 0x438897
push eax
lea ecx, [esp + 0x18]
call fcn.00404540
push str.__answer__n
lea ecx, [esp + 0x18]
call fcn.00404560
mov edx, dword [esp + 0x14]
push 1
push edx
jmp 0x438e83
lea ecx, [esp + 0x1c]
call fcn.00401f60
mov ecx, esi
call fcn.00427830
add dword [esp + 0x34], eax
mov ecx, esi
call fcn.00427830
add dword [esp + 0x30], eax
test byte [esi + 0x90], 4
je 0x438bc4
xor ebx, ebx
cmp dword [esi + 0xb4], ebx
jle case.0x437db3.7
jmp 0x4388f0
test ebx, ebx
jl 0x439047
cmp ebx, dword [esi + 0xb4]
jge 0x439047
mov eax, dword [esi + 0xb0]
lea eax, [eax + ebx*4]
mov eax, dword [eax]
cmp dword [eax + 0x30], 1
mov dword [esp + 0x70], eax
jne 0x438bb0
push ebx
mov ecx, esi
call fcn.00428d30
test eax, eax
je 0x438937
mov eax, dword [esi + 0xe0]
add dword [esp + 0x28], eax
add dword [esp + 0x24], eax
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0x280], 0
jne 0x438bb0
cmp dword [esp + 0x5c], 0
jne 0x438a4a
mov ebp, dword [esp + 0x38]
push 1
push str._t_question__n
push edi
add ebp, 1
push 0
mov dword [esp + 0x48], ebp
call fcn.00443c00
push ebp
lea edx, [esp + 0x28]
push str._t_t_questionnumber__d__questionnumber__n
push edx
call fcn.00403ad0
mov eax, dword [esp + 0x30]
push 1
push eax
push edi
push 0
call fcn.00443c00
add esp, 0x2c
push str._t_t_questiontext_
lea ecx, [esp + 0x18]
call fcn.00403db0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00403a10
push str.__questiontext__n
lea ecx, [esp + 0x18]
call fcn.00404560
mov ecx, dword [esp + 0x14]
push 1
push ecx
push edi
push 0
call fcn.00443c00
mov edx, dword [esi + 0xc]
push edx
lea eax, [esp + 0x28]
push str._t_t_id__d__id__n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x30]
push 1
push ecx
push edi
push 0
call fcn.00443c00
push esi
call fcn.0042d370
mov ebp, eax
add esp, 0x30
test ebp, ebp
je 0x438a4a
lea ecx, [esp + 0x88]
call fcn.00402080
mov edx, dword [ebp + 0xc]
push edx
lea eax, [esp + 0x18]
push str._t_t_sectionref__d__sectionref__n
push eax
mov byte [esp + 0xa4], 0xe
call fcn.00403ad0
mov ecx, dword [esp + 0x20]
push 1
push ecx
push edi
push 0
call fcn.00443c00
add esp, 0x1c
lea ecx, [esp + 0x88]
mov byte [esp + 0x98], 4
call fcn.00401f40
cmp dword [esi + 0x84], 6
mov dword [esp + 0x5c], 0
push 1
jne 0x438a64
push str._t_t_questiontype_6__questiontype__n
jmp 0x438a69
push 0x5def50
push edi
push 0
call fcn.00443c00
mov edx, dword [esp + 0x30]
add esp, 0x10
cmp dword [edx + 0x164], 0
je 0x438add
test byte [esi + 0x90], 0x10
jne 0x438add
push str._t_t_correctanswer_
lea ecx, [esp + 0x18]
call fcn.00403db0
lea eax, [ebx + 1]
push eax
push eax
lea eax, [esp + 0x24]
push 0x5dc86c
push eax
call fcn.00403ad0
add esp, 0x10
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x18]
call fcn.00404540
push str.__correctanswer__n
lea ecx, [esp + 0x18]
call fcn.00404560
mov edx, dword [esp + 0x14]
push 1
push edx
push edi
push 0
call fcn.00443c00
add esp, 0x10
push str._t_t_answer_
lea ecx, [esp + 0x18]
call fcn.00403db0
mov eax, dword [esp + 0x70]
cmp dword [eax + 0x48], 0
jne 0x438b00
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 0xc]
push ecx
push eax
jmp 0x438b66
lea ecx, [esp + 0x1c]
call fcn.00401f60
mov edx, dword [esi + 0xb4]
xor eax, eax
test edx, edx
jle 0x438b5d
test eax, eax
jl 0x439047
cmp eax, dword [esi + 0xb4]
jge 0x439047
mov ecx, dword [esi + 0xb0]
mov ebp, dword [esp + 0x70]
mov ebp, dword [ebp + 0x48]
lea ecx, [ecx + eax*4]
add eax, 1
cmp ebp, dword [ecx]
je 0x438b46
cmp eax, edx
jl 0x438b15
jmp 0x438b5d
push eax
lea edx, [ebx + 1]
push edx
lea eax, [esp + 0x24]
push 0x5dc86c
push eax
call fcn.00403ad0
add esp, 0x10
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00403a10
push 0xa
push str.__answer__n
lea ecx, [esp + 0x1c]
call fcn.00403a10
mov ecx, dword [esp + 0x14]
push 1
push ecx
push edi
push 0
call fcn.00443c00
mov eax, dword [esi + 0xb4]
add eax, 0xffffffff
add esp, 0x10
cmp ebx, eax
jge 0x438bb0
push 1
push str._t__question__n
push edi
push 0
call fcn.00443c00
add esp, 0x10
add ebx, 1
cmp ebx, dword [esi + 0xb4]
jl 0x4388f0
jmp case.0x437db3.7
push 0xffffffffffffffff
mov ecx, esi
call fcn.00428d30
test eax, eax
je 0x438bdf
mov eax, dword [esi + 0xe0]
add dword [esp + 0x28], eax
add dword [esp + 0x24], eax
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x280], 0
jne case.0x437db3.7
cmp dword [esi + 0x84], 6
push 1
jne 0x438c02
push str._t_t_questiontype_6__questiontype__n
jmp 0x438c07
push 0x5def50
push edi
push 0
call fcn.00443c00
mov eax, dword [esp + 0x30]
add esp, 0x10
cmp dword [eax + 0x164], 0
je 0x438cf7
test byte [esi + 0x90], 0x10
jne 0x438cf7
push str._t_t_correctanswer_
lea ecx, [esp + 0x18]
call fcn.00403db0
lea ecx, [esp + 0x1c]
call fcn.00401f60
cmp dword [esi + 0xb4], 0
jle 0x438cc5
mov ebp, 1
lea ecx, [esp + 0x74]
call fcn.00402080
push ebp
push ebp
lea ecx, [esp + 0x7c]
push 0x5dc86c
push ecx
mov byte [esp + 0xa8], 0xf
call fcn.00403ad0
mov edx, dword [esp + 0x2c]
add esp, 0x10
cmp dword [edx - 0xc], 0
je 0x438c92
push 0x5def4c
lea ecx, [esp + 0x20]
call fcn.00407200
mov eax, dword [esp + 0x74]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.00403a10
lea ecx, [esp + 0x74]
mov byte [esp + 0x98], 4
call fcn.00401f40
mov eax, dword [esi + 0xb4]
add ebp, 1
lea ecx, [ebp - 1]
cmp ecx, eax
jl 0x438c55
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00403a10
push str.__correctanswer__n
lea ecx, [esp + 0x18]
call fcn.00404560
mov edx, dword [esp + 0x14]
push 1
push edx
push edi
push 0
call fcn.00443c00
add esp, 0x10
push str._t_t_answer_
lea ecx, [esp + 0x18]
call fcn.00403db0
lea ecx, [esp + 0x1c]
mov dword [esp + 0x70], 0
call fcn.00401f60
xor ebp, ebp
cmp dword [esi + 0xb4], ebp
jle 0x438e4f
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4378c2
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x40], eax
test ebp, ebp
mov byte [esp + 0x98], 0x10
jl 0x439047
cmp ebp, dword [esi + 0xb4]
jge 0x439047
mov ecx, dword [esi + 0xb0]
lea eax, [ecx + ebp*4]
mov eax, dword [eax]
cmp dword [eax + 0x30], 1
jne 0x438e11
mov ebx, dword [eax + 0x48]
test ebx, ebx
jne 0x438d90
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x44]
call fcn.004024f0
jmp 0x438de5
mov edx, dword [esi + 0xb4]
xor eax, eax
test edx, edx
mov dword [esp + 0x70], 1
jle 0x438de5
test eax, eax
jl 0x439047
cmp eax, dword [esi + 0xb4]
jge 0x439047
mov ecx, dword [esi + 0xb0]
lea ecx, [ecx + eax*4]
add eax, 1
cmp ebx, dword [ecx]
je 0x438dce
cmp eax, edx
jl 0x438da4
jmp 0x438de5
push eax
lea edx, [ebp + 1]
push edx
lea eax, [esp + 0x48]
push 0x5dc86c
push eax
call fcn.00403ad0
add esp, 0x10
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], 0
je 0x438dff
push 1
push 0x5d8f14
lea ecx, [esp + 0x24]
call fcn.00403a10
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.00403a10
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x98], 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x438e39
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebp, 1
cmp ebp, dword [esi + 0xb4]
jl 0x438d24
cmp dword [esp + 0x70], 0
jne 0x438e5a
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 0xc]
push ecx
push eax
jmp 0x438e63
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00403a10
push 0xa
push str.__answer__n
lea ecx, [esp + 0x1c]
call fcn.00403a10
mov ecx, dword [esp + 0x14]
push 1
push ecx
push edi
push 0
call fcn.00443c00
add esp, 0x10
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x280], 0
jne 0x438ead
push 1
push str._t__question__n
push edi
push 0
call fcn.00443c00
add esp, 0x10
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x60]
add ecx, 1
cmp ecx, dword [ebx + 0x2a8]
mov dword [esp + 0x80], ecx
jl 0x437af5
xor esi, esi
cmp dword [ebx + 0x280], esi
jne 0x438f84
cmp ebp, esi
je 0x438f84
push 1
push str._t_section__n
push edi
push esi
call fcn.00443c00
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [esp + 0x28]
push str._t_t_id__d__id__n
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x30]
push 1
push edx
push edi
push esi
call fcn.00443c00
add esp, 0x2c
cmp dword [ebx + 0x164], esi
je 0x438f73
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
push eax
push ecx
lea edx, [esp + 0x1c]
push str._t_t_truefalsescore__d__d__truefalsescore__n
push edx
call fcn.00403ad0
mov eax, dword [esp + 0x24]
push 1
push eax
push edi
push esi
call fcn.00443c00
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x44]
push ecx
push edx
lea eax, [esp + 0x3c]
push str._t_t_multiplechoicescore__d__d__multiplechoicescore__n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x44]
push 1
push ecx
push edi
push esi
call fcn.00443c00
add esp, 0x40
push 1
push str._t__section__n
push edi
push esi
call fcn.00443c00
add esp, 0x10
cmp dword [ebx + 0x164], esi
je 0x439145
cmp dword [esp + 0x78], 0
je 0x4390e5
mov edx, dword [ebx + 0x290]
push edx
lea eax, [esp + 0x18]
push str._t_passinggrade__d__passinggrade__n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x20]
push 1
push ecx
push edi
push 0
call fcn.00443c00
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x80]
add eax, edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0xa4], eax
fild dword [esp + 0xa4]
add edx, ecx
mov dword [esp + 0xa4], edx
fild dword [esp + 0xa4]
fdivp st(1)
fmul qword [0x5d9510]
fadd qword [0x5debe8]
call fcn.005ac350
mov esi, eax
push esi
lea eax, [esp + 0x34]
push str._t_score__d__score__n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x3c]
push 1
push ecx
push edi
push 0
call fcn.00443c00
add esp, 0x38
call fcn.0057e772
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x43904c
push 0x80004005
call fcn.00401a10
call fcn.0057e0f5
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x48], eax
cmp esi, dword [ebx + 0x290]
mov byte [esp + 0x98], 0x11
push 0
jl 0x43907a
lea ecx, [esp + 0x4c]
push ecx
push 0x7db8
jmp 0x439084
lea edx, [esp + 0x4c]
push edx
push 0x7db7
mov ecx, 0x61537c
call fcn.00405220
lea ecx, [esp + 0x48]
call fcn.00428570
mov eax, dword [esp + 0x48]
push eax
lea ecx, [esp + 0x18]
push str._t__s____n
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x20]
push 1
push edx
push edi
push 0
call fcn.00443c00
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x98], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4390e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x280], 0
jne 0x439212
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
push ecx
push edx
lea eax, [esp + 0x1c]
push str._t_truefalsescore__d__d__truefalsescore__n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x24]
push 1
push ecx
push edi
push 0
call fcn.00443c00
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x48]
push edx
push eax
lea ecx, [esp + 0x3c]
push str._t_multiplechoicescore__d__d__multiplechoicescore__n
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x44]
push 1
push edx
push edi
push 0
call fcn.00443c00
add esp, 0x40
cmp dword [ebx + 0x280], 0
jne 0x439212
mov eax, dword [ebx + 0x288]
test eax, eax
je 0x439212
mov esi, eax
shl esi, 4
sub esi, eax
add esi, esi
add esi, esi
mov eax, 0x91a2b3c5
imul esi
add edx, esi
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
imul edx, edx, 0xe10
mov eax, esi
sub eax, edx
cdq
mov ebp, 0x3c
idiv ebp
push edx
push eax
push ecx
lea eax, [esp + 0x20]
push str._t_allowedtime__02d:_02d:_02d__allowedtime__n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x28]
push 1
push ecx
push edi
push 0
call fcn.00443c00
mov ebp, dword [esp + 0xc8]
add esp, 0x24
cmp ebp, esi
jg 0x4391c5
test ebp, ebp
jge 0x4391c7
mov ebp, esi
mov eax, 0x91a2b3c5
imul ebp
add edx, ebp
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
imul edx, edx, 0xe10
mov eax, ebp
sub eax, edx
cdq
mov esi, 0x3c
idiv esi
push edx
push eax
push ecx
lea eax, [esp + 0x20]
push str._t_elapsedtesttime__02d:_02d:_02d__elapsedtesttime__n
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x28]
push 1
push ecx
push edi
push 0
call fcn.00443c00
add esp, 0x24
test dword [ebx + 0x298], 0x100
push 1
je 0x439227
push str.__lectorasurvey__n
jmp 0x43922c
push str.__lectoratest__n
push edi
push 0
call fcn.00443c00
mov edx, dword [esp + 0x24]
mov esi, dword [edx - 0x10]
lea eax, [edx - 0x10]
add esp, 0x10
cmp dword [eax + 4], 0
je 0x439298
cmp dword [eax + 0xc], 0
lea ecx, [eax + 0xc]
jge 0x439272
cmp dword [edx - 8], 0
jge 0x439260
push 0x80070057
call fcn.00401a10
mov dword [edx - 0xc], 0
mov edx, dword [esp + 0x14]
mov word [edx], 0
jmp 0x439298
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439288
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0xa8]
test esi, esi
je 0x4392ed
test byte [ebx + 0x298], 4
je 0x4392ed
push 1
push str._lectoravariables__n
push edi
push 0
call fcn.00443c00
add esp, 0x10
push 1
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call fcn.0043cf70
mov edx, dword [esp + 0x14]
push 0
push edx
push edi
push 0
call fcn.00443c00
push 1
push str.__lectoravariables__n
push edi
push 0
call fcn.00443c00
add esp, 0x20
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov byte [esp + 0x98], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439315
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov byte [esp + 0x98], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43933d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov byte [esp + 0x98], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439365
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x98], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43938d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x98], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4393b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 0xc