Function at 0x60ee30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x30], eax
mov eax, esi
mov dword [ebp - 0x2c], edx
test al, al
je 0x60ecd0
mov ebx, dword [0x905a6c]
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
cmp edx, eax
je 0x60ebe9
cmp dword [eax - 4], edi
je 0x60ec33
mov ecx, dword [0x905a64]
cmp ecx, dword [0x905a68]
je 0x60edc0
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
add dword [0x905a64], 8
mov ecx, dword [0x905a6c]
mov dword [ebp - 0x1c], edi
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x60eda8
mov dword [eax], edi
add dword [ecx + 4], 4
mov ebx, dword [0x905a6c]
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
mov ecx, esi
sub eax, edx
movzx edx, cl
mov edi, eax
lea edx, [edx + edx*2]
sar edi, 2
shl edx, 2
mov dword [ebp - 0x34], edi
add ebx, edx
mov dword [ebp - 0x3c], edx
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
mov edi, edx
mov dword [ebp - 0x40], ecx
sub edi, ecx
mov ecx, edi
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x34]
sar ecx, 2
sub edi, 1
mov dword [ebp - 0x44], ecx
cmp ecx, edi
jae 0x60ecb0
xor ecx, ecx
cmp dword [ebp + 0x18], 2
sete cl
mov edi, ecx
neg edi
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x38], eax
jb 0x60ed70
mov edi, dword [ebp - 0x38]
cmp eax, edi
jae 0x60ecb0
mov edi, dword [ebp - 0x40]
add edi, eax
cmp edx, edi
je 0x60ecb0
mov dword [ebx + 4], edi
mov ebx, dword [ebp - 0x3c]
add ebx, dword [0x905a6c]
mov edx, dword [ebx + 4]
lea esi, [esi]
lea esi, [esi]
cmp dword [ebx + 8], edx
je 0x60ece0
mov eax, dword [ebp + 0x1c]
mov dword [edx], eax
mov eax, esi
add dword [ebx + 4], 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [ebx]
mov ecx, edx
sub ecx, edi
mov eax, ecx
sar eax, 2
cmp eax, 0x1fffffff
je 0x60ee15
cmp edi, edx
mov edx, 1
cmovne edx, eax
add eax, edx
jb 0x60ee0c
test eax, eax
jne 0x60eddc
mov dword [ebp - 0x34], 0
xor edx, edx
mov eax, dword [ebp + 0x1c]
mov dword [edx + ecx], eax
lea eax, [edx + ecx + 4]
mov dword [ebp - 0x38], eax
test ecx, ecx
jg 0x60ed40
test edi, edi
jne 0x60ed56
mov eax, dword [ebp - 0x38]
mov dword [ebx], edx
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [ebx + 8], eax
mov eax, esi
jmp 0x60ecc0
mov dword [esp], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [ebp - 0x3c], edx
call fcn.00723988
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], edx
mov dword [esp], edi
call fcn.00712028
mov edx, dword [ebp - 0x3c]
jmp 0x60ed2e
lea eax, [ebp - 0x1c]
mov ecx, ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x44]
mov dword [esp], edx
sub eax, edi
mov dword [esp + 4], eax
call fcn.00736660
mov ebx, dword [ebp - 0x3c]
add ebx, dword [0x905a6c]
mov edx, dword [ebx + 4]
sub esp, 0xc
jmp 0x60ecb0
lea edx, [ebp - 0x1c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00736a70
sub esp, 8
jmp 0x60ec28
lea eax, [ebp - 0x30]
mov dword [esp], ecx
mov ecx, 0x905a60
mov dword [esp + 4], eax
call fcn.00736e90
sub esp, 8
jmp 0x60ec0d
mov edx, 0x1fffffff
cmp eax, edx
cmova eax, edx
shl eax, 2
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], ecx
mov dword [esp], eax
call fcn.00712010
mov ecx, dword [ebp - 0x38]
mov edx, eax
mov eax, dword [ebp - 0x34]
add eax, edx
mov dword [ebp - 0x34], eax
jmp 0x60ed19
mov dword [ebp - 0x34], 0x7ffffffc
jmp 0x60edec
mov dword [esp], 0x7ec7a0
call fcn.00712070
lea esi, [esi]
lea esi, [esi]
nop
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1cc
call dword [0x90b6a8]
mov dword [esp + 4], str.HWMPermThread_thread_id__d_n
mov dword [esp + 8], eax
mov dword [esp], 6
call fcn.004fc8f0
mov esi, dword [0x905b24]
mov byte [0x905ae8], 1
test esi, esi
jne 0x60ee75
mov eax, dword [0x9003c0]
mov dword [0x905b24], eax
cmp byte [0x905ae7], 0
mov dword [ebp - 0x13c], 0
jne 0x60ef1c
lea esi, [esi]
mov ebx, dword [0x773634]
test ebx, ebx
jg 0x60eea4
mov dword [0x773634], 1
mov ecx, dword [0x905ae0]
test ecx, ecx
jne 0x60ef03
cmp byte [0x905ae6], 0
je 0x60ef03
mov eax, dword [0x905ad8]
or eax, dword [0x905ad4]
or eax, dword [0x905ad0]
or eax, dword [0x905acc]
or eax, dword [0x905ac8]
or eax, dword [0x905ac4]
or eax, dword [0x905ac0]
or eax, dword [0x905abc]
je 0x60ef03
mov eax, dword [0x9003c0]
mov edi, dword [ebp - 0x13c]
imul edx, dword [0x773634], 0x3e8
sub eax, edi
cmp edx, eax
jb 0x60ef26
mov dword [esp], 0x64
call fcn.004fc370
cmp byte [0x905ae7], 0
je 0x60ee90
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], str.HWMPermThread_updating_values_n
mov dword [esp], 8
call fcn.004fc8f0
call fcn.006030f0
mov eax, dword [0x905b1c]
test eax, eax
je 0x610b9a
mov edi, dword [eax + 4]
call dword [0x90beb4]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], edx
mov dword [esp], 0x7786a0
call fcn.00723bd8
test edi, edi
je 0x610d6e
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x14c], 0
jmp 0x60f008
test eax, edx
jne 0x610850
mov edx, eax
and edx, dword [0x773668]
jne 0x60f420
mov edx, eax
and edx, dword [0x773664]
jne 0x6105b0
mov edx, eax
and edx, dword [0x773660]
jne 0x610300
mov edx, eax
and edx, dword [0x77365c]
jne 0x610050
mov edx, eax
and edx, dword [0x773658]
jne 0x60fd80
mov edx, eax
and edx, dword [0x773654]
jne 0x60fab0
and eax, dword [0x773650]
jne 0x60f6d0
mov edi, dword [edi]
test edi, edi
je 0x60f866
lea esi, [esi]
mov eax, dword [edi + 0x6c]
mov edx, dword [0x77366c]
cmp eax, 2
jne 0x60ef90
and edx, 2
je 0x60ef98
mov dword [ebp - 0x168], eax
lea ecx, [edi + 0x74]
mov ebx, 0x80000000
mov esi, 0x7fffffff
mov dword [ebp - 0x158], 0
lea edx, [edi + 0xf4]
mov dword [ebp - 0x160], edi
xor edi, edi
nop
mov eax, dword [ecx]
test eax, eax
je 0x60f069
cmp esi, eax
cmovg esi, eax
cmp ebx, eax
cmovl ebx, eax
add dword [ebp - 0x158], 1
add edi, eax
add ecx, 4
cmp edx, ecx
jne 0x60f050
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x150], edi
mov eax, dword [ebp - 0x168]
mov edi, dword [ebp - 0x160]
test edx, edx
je 0x60ef98
mov eax, dword [edi + 0x394]
test eax, eax
je 0x610bc8
mov eax, dword [ebp - 0x150]
cdq
idiv dword [ebp - 0x158]
mov dword [ebp - 0x158], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 0
movzx eax, byte [edi + 0x494]
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x13c]
mov dword [esp], ecx
call fcn.0060ebb0
mov eax, dword [ebp - 0x158]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
movzx eax, byte [edi + 0x495]
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x13c]
mov dword [esp], ecx
call fcn.0060ebb0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 0
movzx eax, byte [edi + 0x496]
mov dword [esp + 0xc], eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0x148]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0x13c]
mov dword [esp], ecx
call fcn.0060ebb0
mov eax, dword [0x90039c]
test eax, eax
je 0x60f3f8
mov ecx, dword [eax + 0x134]
test ecx, ecx
je 0x60f3f8
mov edx, dword [edi + 0x414]
test edx, edx
je 0x60f251
mov dword [ebp - 0x118], 0x2098c3
lea eax, [ebp - 0x115]
mov dword [esp + 8], eax
fild dword [ebp - 0x158]
fld dword [0x7ec974]
fdiv st(1), st(0)
fmulp st(1)
fstp qword [ebp - 0x158]
cvttsd2si eax, qword [ebp - 0x158]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.0049b8e0
mov ecx, dword [edi + 0x414]
lea eax, [ebp - 0x118]
sub esp, 0xc
mov dword [ebp - 0x160], ecx
mov dword [esp], eax
call fcn.00723a18
mov dword [esp + 4], eax
lea eax, [ebp - 0x118]
mov dword [esp], eax
call dword [0x90be60]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
mov dword [ebp - 0x158], eax
mov dword [esp], eax
mov ecx, dword [ebp - 0x160]
call dword [0x90c678]
mov eax, dword [ebp - 0x128]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x610d32
cmp edx, 0xffffffff
je 0x60f246
lock sub dword [eax], 1
mov eax, dword [ebp - 0x128]
je 0x610d32
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x158], esi
fild dword [ebp - 0x158]
fld dword [0x7ec974]
mov dword [ebp - 0x158], ebx
mov ebx, dword [edi + 0x418]
fdiv st(1), st(0)
fxch st(1)
fstp qword [ebp - 0x160]
fild dword [ebp - 0x158]
fdivrp st(1)
fstp qword [ebp - 0x168]
test ebx, ebx
je 0x60f3a0
lea ebx, [ebp - 0x118]
mov dword [ebp - 0x150], ecx
mov byte [ebp - 0x118], 0
mov dword [esp], ebx
call fcn.00723a18
add eax, ebx
mov dword [esp + 8], eax
fld qword [ebp - 0x160]
fld qword [0x7ec978]
fmulp st(1)
fstp qword [ebp - 0x158]
cvttsd2si eax, qword [ebp - 0x158]
mov dword [esp], 0
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x150]
call fcn.0049b8e0
sub esp, 0xc
mov dword [esp], ebx
call fcn.00723a18
mov edx, dword [0x90039c]
fld qword [0x7ec978]
mov dword [ebx + eax], 0x9380e2
lea eax, [ebx + eax + 3]
mov ecx, dword [edx + 0x134]
mov dword [esp + 8], eax
fmul qword [ebp - 0x168]
fstp qword [ebp - 0x158]
cvttsd2si eax, qword [ebp - 0x158]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.0049b8e0
mov esi, dword [edi + 0x418]
sub esp, 0xc
mov dword [esp], ebx
call fcn.00723a18
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [0x90be60]
mov ecx, esi
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
mov dword [ebp - 0x158], eax
mov dword [esp], eax
call dword [0x90c678]
mov eax, dword [ebp - 0x128]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x610d50
cmp edx, 0xffffffff
je 0x60f395
lock sub dword [eax], 1
mov eax, dword [ebp - 0x128]
je 0x610d50
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
fld qword [ebp - 0x160]
fld qword [ecx + 0x20]
fcompi st(1)
fstp st(0)
jbe 0x60f3cf
movsd xmm0, qword [ebp - 0x160]
movsd qword [ecx + 0x20], xmm0
mov edx, dword [eax + 0x134]
mov byte [edx + 0xa0], 1
mov ecx, dword [eax + 0x134]
fld qword [ecx + 0x60]
fld qword [ebp - 0x168]
fcompi st(1)
fstp st(0)
jbe 0x60f3f8
movsd xmm1, qword [ebp - 0x168]
movsd qword [ecx + 0x60], xmm1
mov eax, dword [eax + 0x134]
mov byte [eax + 0xa0], 1
mov eax, dword [edi + 0x6c]
mov edx, dword [0x905ab8]
and edx, eax
cmp edx, 1
mov edx, eax
sbb dword [ebp - 0x140], 0xffffffff
and edx, dword [0x773668]
je 0x60efa6
lea esi, [esi]
nop
xor ebx, ebx
jmp 0x60f5ba
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 1
movzx eax, byte [edi + ebx + 0x658]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x13c]
mov dword [esp], eax
call fcn.0060ebb0
mov eax, dword [0x90039c]
test eax, eax
je 0x60f592
mov ecx, dword [eax + 0x134]
test ecx, ecx
je 0x60f592
mov edx, dword [edi + ebx*4 + 0x61c]
mov dword [ebp - 0x160], edx
test edx, edx
je 0x60f53e
lea eax, [ebp - 0x118]
mov dword [esp + 8], eax
mov eax, dword [edi + ebx*4 + 0x4b4]
mov dword [esp], 1
mov dword [esp + 4], eax
call fcn.0049b8e0
mov edx, eax
sub esp, 0xc
mov eax, 0xffffffff
test edx, edx
je 0x60f4dd
mov dword [esp], edx
mov dword [ebp - 0x158], edx
call fcn.00723a18
mov edx, dword [ebp - 0x158]
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [0x90be60]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
mov dword [ebp - 0x158], eax
mov dword [esp], eax
mov ecx, dword [ebp - 0x160]
call dword [0x90c678]
mov eax, dword [ebp - 0x128]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x610b40
cmp edx, 0xffffffff
je 0x60f533
lock sub dword [eax], 1
mov eax, dword [ebp - 0x128]
je 0x610b40
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x158], esi
fild dword [ebp - 0x158]
fmul qword [0x7ec990]
fld qword [ecx + 0x28]
fcompi st(1)
jbe 0x60f56d
fst qword [ecx + 0x28]
mov edx, dword [eax + 0x134]
mov byte [edx + 0xa1], 1
mov ecx, dword [eax + 0x134]
fld qword [ecx + 0x68]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x60f590
fstp qword [ecx + 0x68]
mov eax, dword [eax + 0x134]
mov byte [eax + 0xa1], 1
jmp 0x60f592
fstp st(0)
mov eax, dword [edi + 0x6c]
mov edx, dword [0x905ad4]
add dword [ebp - 0x14c], 1
and edx, eax
cmp edx, 1
sbb dword [ebp - 0x140], 0xffffffff
add ebx, 1
cmp ebx, 0xf
je 0x60efa6
mov esi, dword [edi + ebx*4 + 0x4b4]
test esi, esi
je 0x60f5ae
mov eax, dword [edi + ebx*4 + 0x5e0]
test eax, eax
jne 0x60f430
mov eax, dword [0x90039c]
test eax, eax
je 0x60f430
mov eax, dword [eax + 0x134]
test eax, eax
je 0x60f430
mov dword [esp + 8], ebx
lea esi, [ebp - 0x128]
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0060ea60
mov byte [edi + ebx + 0x658], al
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [esp + 0x14], 0
mov eax, dword [edi + 0x6c]
and eax, dword [0x905ab4]
setne al
movzx eax, al
mov dword [esp + 0x10], eax
mov eax, dword [0x778698]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0049b690
mov ecx, esi
mov dword [edi + ebx*4 + 0x5e0], eax
mov eax, dword [0x778698]
sub esp, 0x18
mov dword [esp], eax
call dword [0x90c19c]
lea ecx, [ebp - 0x138]
sub esp, 4
mov dword [esp], esi
mov dword [esp + 4], 0x78
call dword [0x90c2f4]
lea ecx, [ebp - 0x138]
sub esp, 8
call dword [0x90c2e0]
lea ecx, [ebp - 0x138]
mov esi, eax
call dword [0x90c2f0]
shl esi, 0x10
lea ecx, [ebp - 0x138]
shl eax, 8
add esi, eax
call dword [0x90c2e8]
add esi, eax
mov dword [0x778698], esi
mov esi, dword [edi + ebx*4 + 0x4b4]
jmp 0x60f430
mov esi, dword [edi + 0x1590]
cmp esi, 0xffffffff
je 0x60eff8
mov ebx, dword [edi + 0x15a0]
test ebx, ebx
je 0x60f990
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 7
movzx eax, byte [edi + 0x15a8]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x13c]
mov dword [esp], eax
call fcn.0060ebb0
mov eax, dword [0x90039c]
test eax, eax
je 0x60f842
mov ecx, dword [eax + 0x134]
test ecx, ecx
je 0x60f842
mov ebx, dword [edi + 0x15a4]
test ebx, ebx
je 0x60f7ee
lea eax, [ebp - 0x118]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x1590]
mov dword [esp], 7
mov dword [esp + 4], eax
call fcn.0049b8e0
mov edx, eax
sub esp, 0xc
mov eax, 0xffffffff
test edx, edx
je 0x60f791
mov dword [esp], edx
mov dword [ebp - 0x158], edx
call fcn.00723a18
mov edx, dword [ebp - 0x158]
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [0x90be60]
mov ecx, ebx
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
mov dword [ebp - 0x158], eax
mov dword [esp], eax
call dword [0x90c678]
mov eax, dword [ebp - 0x128]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x60fa90
cmp edx, 0xffffffff
je 0x60f7e3
lock sub dword [eax], 1
mov eax, dword [ebp - 0x128]
je 0x60fa90
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x158], esi
fild dword [ebp - 0x158]
fmul qword [0x7ec990]
fld qword [ecx + 0x58]
fcompi st(1)
jbe 0x60f81d
fst qword [ecx + 0x58]
mov edx, dword [eax + 0x134]
mov byte [edx + 0xa7], 1
mov ecx, dword [eax + 0x134]
fld qword [ecx + 0x98]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x60f840
fstp qword [ecx + 0x98]
mov eax, dword [eax + 0x134]
mov byte [eax + 0xa7], 1
jmp 0x60f842
fstp st(0)
mov eax, dword [edi + 0x6c]
mov edi, dword [edi]
and eax, dword [0x905abc]
add dword [ebp - 0x14c], 1
cmp eax, 1
sbb dword [ebp - 0x140], 0xffffffff
test edi, edi
jne 0x60f008
mov dword [esp], 0x7786a0
call fcn.00723bd0
mov eax, dword [0x9003c0]
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x13c], eax
test edx, edx
je 0x60f88e
mov byte [0x905adc], 1
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x60ef03
cmp byte [0x9003a4], 0
je 0x60ef03
mov dword [esp + 4], str.QMetaObject::invokeMethod_hwmPermUpdate_n
mov dword [esp], 9
call fcn.004fc8f0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 2
mov dword [esp + 4], str.hwmPermUpdate
mov eax, dword [0x90039c]
mov dword [esp], eax
call dword [0x90bcc4]
jmp 0x60ef03
mov eax, dword [0x90039c]
test eax, eax
je 0x60f6ed
mov ecx, dword [eax + 0x134]
test ecx, ecx
je 0x60f6ed
mov dword [esp + 8], 0
lea ebx, [ebp - 0x128]
mov dword [esp + 4], 7
mov dword [esp], edi
call fcn.0060ea60
mov byte [edi + 0x15a8], al
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [esp + 0x14], 0
mov eax, dword [edi + 0x6c]
and eax, dword [0x905a9c]
setne al
movzx eax, al
mov dword [esp + 0x10], eax
mov eax, dword [0x778680]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 4], 7
mov dword [esp], edi
call fcn.0049b690
mov ecx, ebx
mov dword [edi + 0x15a0], eax
mov eax, dword [0x778680]
sub esp, 0x18
mov dword [esp], eax
call dword [0x90c19c]
lea ecx, [ebp - 0x138]
sub esp, 4
mov dword [esp], ebx
mov dword [esp + 4], 0x78
call dword [0x90c2f4]
lea ecx, [ebp - 0x138]
sub esp, 8
call dword [0x90c2e0]
lea ecx, [ebp - 0x138]
mov ebx, eax
call dword [0x90c2f0]
shl ebx, 0x10
lea ecx, [ebp - 0x138]
shl eax, 8
add ebx, eax
call dword [0x90c2e8]
mov esi, dword [edi + 0x1590]
add ebx, eax
mov dword [0x778680], ebx
jmp 0x60f6ed
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x90bc9c]
jmp 0x60f7e3
xor ebx, ebx
jmp 0x60fc4a
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 6
movzx eax, byte [edi + ebx + 0x1550]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x13c]
mov dword [esp], eax
call fcn.0060ebb0
mov eax, dword [0x90039c]
test eax, eax
je 0x60fc22
mov ecx, dword [eax + 0x134]
test ecx, ecx
je 0x60fc22
mov edx, dword [edi + ebx*4 + 0x1450]
mov dword [ebp - 0x160], edx
test edx, edx
je 0x60fbce
lea eax, [ebp - 0x118]
mov dword [esp + 8], eax
mov eax, dword [edi + ebx*4 + 0xf50]
mov dword [esp], 6
mov dword [esp + 4], eax
call fcn.0049b8e0
mov edx, eax
sub esp, 0xc
mov eax, 0xffffffff
test edx, edx
je 0x60fb6d
mov dword [esp], edx
mov dword [ebp - 0x158], edx
call fcn.00723a18
mov edx, dword [ebp - 0x158]
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [0x90be60]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
mov dword [ebp - 0x158], eax
mov dword [esp], eax
mov ecx, dword [ebp - 0x160]
call dword [0x90c678]
mov eax, dword [ebp - 0x128]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x60fd60
cmp edx, 0xffffffff
je 0x60fbc3
lock sub dword [eax], 1
mov eax, dword [ebp - 0x128]
je 0x60fd60
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x158], esi
fild dword [ebp - 0x158]
fmul qword [0x7ec990]
fld qword [ecx + 0x50]
fcompi st(1)
jbe 0x60fbfd
fst qword [ecx + 0x50]
mov edx, dword [eax + 0x134]
mov byte [edx + 0xa6], 1
mov ecx, dword [eax + 0x134]
fld qword [ecx + 0x90]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x60fc20
fstp qword [ecx + 0x90]
mov eax, dword [eax + 0x134]
mov byte [eax + 0xa6], 1
jmp 0x60fc22
fstp st(0)
mov eax, dword [edi + 0x6c]
mov edx, dword [0x905ac0]
add dword [ebp - 0x14c], 1
and edx, eax
cmp edx, 1
sbb dword [ebp - 0x140], 0xffffffff
add ebx, 1
cmp ebx, 0x40
je 0x60efec
mov esi, dword [edi + ebx*4 + 0xf50]
cmp esi, 0xffffffff
je 0x60fc3e
mov eax, dword [edi + ebx*4 + 0x1350]
test eax, eax
jne 0x60fac0
mov eax, dword [0x90039c]
test eax, eax
je 0x60fac0
mov eax, dword [eax + 0x134]
test eax, eax
je 0x60fac0
mov dword [esp + 8], ebx
lea esi, [ebp - 0x128]
mov dword [esp + 4], 6
mov dword [esp], edi
call fcn.0060ea60
mov byte [edi + ebx + 0x1550], al
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [esp + 0x14], 0
mov eax, dword [edi + 0x6c]
and eax, dword [0x905aa0]
setne al
movzx eax, al
mov dword [esp + 0x10], eax
mov eax, dword [0x778684]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], 6
mov dword [esp], edi
call fcn.0049b690
mov ecx, esi
mov dword [edi + ebx*4 + 0x1350], eax
mov eax, dword [0x778684]
sub esp, 0x18
mov dword [esp], eax
call dword [0x90c19c]
lea ecx, [ebp - 0x138]
sub esp, 4
mov dword [esp], esi
mov dword [esp + 4], 0x78
call dword [0x90c2f4]
lea ecx, [ebp - 0x138]
sub esp, 8
call dword [0x90c2e0]
lea ecx, [ebp - 0x138]
mov esi, eax
call dword [0x90c2f0]
shl esi, 0x10
lea ecx, [ebp - 0x138]
shl eax, 8
add esi, eax
call dword [0x90c2e8]
add esi, eax
mov dword [0x778684], esi
mov esi, dword [edi + ebx*4 + 0xf50]
jmp 0x60fac0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x90bc9c]
jmp 0x60fbc3
xor ebx, ebx
jmp 0x60ff1a
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 5
movzx eax, byte [edi + ebx + 0xf10]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x13c]
mov dword [esp], eax
call fcn.0060ebb0
mov eax, dword [0x90039c]
test eax, eax
je 0x60fef2
mov ecx, dword [eax + 0x134]
test ecx, ecx
je 0x60fef2
mov edx, dword [edi + ebx*4 + 0xe10]
mov dword [ebp - 0x160], edx
test edx, edx
je 0x60fe9e
lea eax, [ebp - 0x118]
mov dword [esp + 8], eax
mov eax, dword [edi + ebx*4 + 0x910]
mov dword [esp], 5
mov dword [esp + 4], eax
call fcn.0049b8e0
mov edx, eax
sub esp, 0xc
mov eax, 0xffffffff
test edx, edx
je 0x60fe3d
mov dword [esp], edx
mov dword [ebp - 0x158], edx
call fcn.00723a18
mov edx, dword [ebp - 0x158]
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [0x90be60]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
mov dword [ebp - 0x158], eax
mov dword [esp], eax
mov ecx, dword [ebp - 0x160]
call dword [0x90c678]
mov eax, dword [ebp - 0x128]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x610030
cmp edx, 0xffffffff
je 0x60fe93
lock sub dword [eax], 1
mov eax, dword [ebp - 0x128]
je 0x610030
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x158], esi
fild dword [ebp - 0x158]
fld qword [ecx + 0x48]
fcompi st(1)
jbe 0x60fec7
fst qword [ecx + 0x48]
mov edx, dword [eax + 0x134]
mov byte [edx + 0xa5], 1
mov ecx, dword [eax + 0x134]
fld qword [ecx + 0x88]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x60fef0
fstp qword [ecx + 0x88]
mov eax, dword [eax + 0x134]
mov byte [eax + 0xa5], 1
jmp 0x60fef2
fstp st(0)
mov eax, dword [edi + 0x6c]
mov edx, dword [0x905ac4]
add dword [ebp - 0x14c], 1
and edx, eax
cmp edx, 1
sbb dword [ebp - 0x140], 0xffffffff
add ebx, 1
cmp ebx, 0x40
je 0x60efde
mov esi, dword [edi + ebx*4 + 0x910]
test esi, esi
je 0x60ff0e
mov eax, dword [edi + ebx*4 + 0xd10]
test eax, eax
jne 0x60fd90
mov eax, dword [0x90039c]
test eax, eax
je 0x60fd90
mov eax, dword [eax + 0x134]
test eax, eax
je 0x60fd90
mov dword [esp + 8], ebx
lea esi, [ebp - 0x128]
mov dword [esp + 4], 5
mov dword [esp], edi
call fcn.0060ea60
mov byte [edi + ebx + 0xf10], al
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [esp + 0x14], 0
mov eax, dword [edi + 0x6c]
and eax, dword [0x905aa4]
setne al
movzx eax, al
mov dword [esp + 0x10], eax
mov eax, dword [0x778688]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], 5
mov dword [esp], edi
call fcn.0049b690
mov ecx, esi
mov dword [edi + ebx*4 + 0xd10], eax
mov eax, dword [0x778688]
sub esp, 0x18
mov dword [esp], eax
call dword [0x90c19c]
lea ecx, [ebp - 0x138]
sub esp, 4
mov dword [esp], esi
mov dword [esp + 4], 0x78
call dword [0x90c2f4]
lea ecx, [ebp - 0x138]
sub esp, 8
call dword [0x90c2e0]
lea ecx, [ebp - 0x138]
mov esi, eax
call dword [0x90c2f0]
shl esi, 0x10
lea ecx, [ebp - 0x138]
shl eax, 8
add esi, eax
call dword [0x90c2e8]
add esi, eax
mov dword [0x778688], esi
mov esi, dword [edi + ebx*4 + 0x910]
jmp 0x60fd90
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x90bc9c]
jmp 0x60fe93
xor ebx, ebx
jmp 0x6101ea
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 2
movzx eax, byte [edi + ebx + 0x908]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x13c]
mov dword [esp], eax
call fcn.0060ebb0
mov eax, dword [0x90039c]
test eax, eax
je 0x6101c2
mov ecx, dword [eax + 0x134]
test ecx, ecx
je 0x6101c2
mov edx, dword [edi + ebx*4 + 0x8f0]
mov dword [ebp - 0x160], edx
test edx, edx
je 0x61016e
lea eax, [ebp - 0x118]
mov dword [esp + 8], eax
mov eax, dword [edi + ebx*4 + 0x878]
mov dword [esp], 2
mov dword [esp + 4], eax
call fcn.0049b8e0
mov edx, eax
sub esp, 0xc
mov eax, 0xffffffff
test edx, edx
je 0x61010d
mov dword [esp], edx
mov dword [ebp - 0x158], edx
call fcn.00723a18
mov edx, dword [ebp - 0x158]
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [0x90be60]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
mov dword [ebp - 0x158], eax
mov dword [esp], eax
mov ecx, dword [ebp - 0x160]
call dword [0x90c678]
mov eax, dword [ebp - 0x128]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x610b5e
cmp edx, 0xffffffff
je 0x610163
lock sub dword [eax], 1
mov eax, dword [ebp - 0x128]
je 0x610b5e
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x158], esi
fild dword [ebp - 0x158]
fld qword [ecx + 0x40]
fcompi st(1)
jbe 0x610197
fst qword [ecx + 0x40]
mov edx, dword [eax + 0x134]
mov byte [edx + 0xa4], 1
mov ecx, dword [eax + 0x134]
fld qword [ecx + 0x80]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x6101c0
fstp qword [ecx + 0x80]
mov eax, dword [eax + 0x134]
mov byte [eax + 0xa4], 1
jmp 0x6101c2
fstp st(0)
mov eax, dword [edi + 0x6c]
mov edx, dword [0x905ac8]
add dword [ebp - 0x14c], 1
and edx, eax
cmp edx, 1
sbb dword [ebp - 0x140], 0xffffffff
add ebx, 1
cmp ebx, 6
je 0x60efd0
mov esi, dword [edi + ebx*4 + 0x878]
cmp esi, 0xffffffff
je 0x6101de
mov edx, dword [edi + ebx*4 + 0x8d8]
test edx, edx
jne 0x610060
mov eax, dword [0x90039c]
test eax, eax
je 0x610060
mov eax, dword [eax + 0x134]
test eax, eax
je 0x610060
mov dword [esp + 8], ebx
lea esi, [ebp - 0x128]
mov dword [esp + 4], 2
mov dword [esp], edi
call fcn.0060ea60
mov byte [edi + ebx + 0x908], al
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [esp + 0x14], 0
mov eax, dword [edi + 0x6c]
and eax, dword [0x905aa8]
setne al
movzx eax, al
mov dword [esp + 0x10], eax
mov eax, dword [0x77868c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], 2
mov dword [esp], edi
call fcn.0049b690
mov ecx, esi
mov dword [edi + ebx*4 + 0x8d8], eax
mov eax, dword [0x77868c]
sub esp, 0x18
mov dword [esp], eax
call dword [0x90c19c]
lea ecx, [ebp - 0x138]
sub esp, 4
mov dword [esp], esi
mov dword [esp + 4], 0x78
call dword [0x90c2f4]
lea ecx, [ebp - 0x138]
sub esp, 8
call dword [0x90c2e0]
lea ecx, [ebp - 0x138]
mov esi, eax
call dword [0x90c2f0]
shl esi, 0x10
lea ecx, [ebp - 0x138]
shl eax, 8
add esi, eax
call dword [0x90c2e8]
add esi, eax
mov dword [0x77868c], esi
mov esi, dword [edi + ebx*4 + 0x878]
jmp 0x610060
xor ebx, ebx
jmp 0x61049a
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 4
movzx eax, byte [edi + ebx + 0x868]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x13c]
mov dword [esp], eax
call fcn.0060ebb0
mov eax, dword [0x90039c]
test eax, eax
je 0x610472
mov ecx, dword [eax + 0x134]
test ecx, ecx
je 0x610472
mov edx, dword [edi + ebx*4 + 0x828]
mov dword [ebp - 0x160], edx
test edx, edx
je 0x61041e
lea eax, [ebp - 0x118]
mov dword [esp + 8], eax
mov eax, dword [edi + ebx*4 + 0x6e8]
mov dword [esp], 4
mov dword [esp + 4], eax
call fcn.0049b8e0
mov edx, eax
sub esp, 0xc
mov eax, 0xffffffff
test edx, edx
je 0x6103bd
mov dword [esp], edx
mov dword [ebp - 0x158], edx
call fcn.00723a18
mov edx, dword [ebp - 0x158]
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [0x90be60]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
mov dword [ebp - 0x158], eax
mov dword [esp], eax
mov ecx, dword [ebp - 0x160]
call dword [0x90c678]
mov eax, dword [ebp - 0x128]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x610b20
cmp edx, 0xffffffff
je 0x610413
lock sub dword [eax], 1
mov eax, dword [ebp - 0x128]
je 0x610b20
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x158], esi
fild dword [ebp - 0x158]
fmul qword [0x7ec990]
fld qword [ecx + 0x38]
fcompi st(1)
jbe 0x61044d
fst qword [ecx + 0x38]
mov edx, dword [eax + 0x134]
mov byte [edx + 0xa3], 1
mov ecx, dword [eax + 0x134]
fld qword [ecx + 0x78]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x610470
fstp qword [ecx + 0x78]
mov eax, dword [eax + 0x134]
mov byte [eax + 0xa3], 1
jmp 0x610472
fstp st(0)
mov eax, dword [edi + 0x6c]
mov edx, dword [0x905acc]
add dword [ebp - 0x14c], 1
and edx, eax
cmp edx, 1
sbb dword [ebp - 0x140], 0xffffffff
add ebx, 1
cmp ebx, 0x10
je 0x60efc2
mov esi, dword [edi + ebx*4 + 0x6e8]
test esi, esi
je 0x61048e
mov eax, dword [edi + ebx*4 + 0x7e8]
test eax, eax
jne 0x610310
mov eax, dword [0x90039c]
test eax, eax
je 0x610310
mov ecx, dword [eax + 0x134]
test ecx, ecx
je 0x610310
mov dword [esp + 8], ebx
lea esi, [ebp - 0x128]
mov dword [esp + 4], 4
mov dword [esp], edi
call fcn.0060ea60
mov byte [edi + ebx + 0x868], al
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [esp + 0x14], 0
mov eax, dword [edi + 0x6c]
and eax, dword [0x905aac]
setne al
movzx eax, al
mov dword [esp + 0x10], eax
mov eax, dword [0x778690]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], 4
mov dword [esp], edi
call fcn.0049b690
mov ecx, esi
mov dword [edi + ebx*4 + 0x7e8], eax
mov eax, dword [0x778690]
sub esp, 0x18
mov dword [esp], eax
call dword [0x90c19c]
lea ecx, [ebp - 0x138]
sub esp, 4
mov dword [esp], esi
mov dword [esp + 4], 0x78
call dword [0x90c2f4]
lea ecx, [ebp - 0x138]
sub esp, 8
call dword [0x90c2e0]
lea ecx, [ebp - 0x138]
mov esi, eax
call dword [0x90c2f0]
shl esi, 0x10
lea ecx, [ebp - 0x138]
shl eax, 8
add esi, eax
call dword [0x90c2e8]
add esi, eax
mov dword [0x778690], esi
mov esi, dword [edi + ebx*4 + 0x6e8]
jmp 0x610310
xor ebx, ebx
jmp 0x61073e
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 3
movzx eax, byte [edi + ebx + 0x6e0]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x13c]
mov dword [esp], eax
call fcn.0060ebb0
mov eax, dword [0x90039c]
test eax, eax
je 0x610716
mov ecx, dword [eax + 0x134]
test ecx, ecx
je 0x610716
mov edx, dword [edi + ebx*4 + 0x6cc]
mov dword [ebp - 0x160], edx
test edx, edx
je 0x6106ce
lea eax, [ebp - 0x118]
mov dword [esp + 8], eax
mov eax, dword [edi + ebx*4 + 0x668]
mov dword [esp], 3
mov dword [esp + 4], eax
call fcn.0049b8e0
mov edx, eax
sub esp, 0xc
mov eax, 0xffffffff
test edx, edx
je 0x61066d
mov dword [esp], edx
mov dword [ebp - 0x158], edx
call fcn.00723a18
mov edx, dword [ebp - 0x158]
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [0x90be60]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
mov dword [ebp - 0x158], eax
mov dword [esp], eax
mov ecx, dword [ebp - 0x160]
call dword [0x90c678]
mov eax, dword [ebp - 0x128]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x610b7c
cmp edx, 0xffffffff
je 0x6106c3
lock sub dword [eax], 1
mov eax, dword [ebp - 0x128]
je 0x610b7c
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x158], esi
fild dword [ebp - 0x158]
fld qword [ecx + 0x30]
fcompi st(1)
jbe 0x6106f7
fst qword [ecx + 0x30]
mov edx, dword [eax + 0x134]
mov byte [edx + 0xa2], 1
mov ecx, dword [eax + 0x134]
fld qword [ecx + 0x70]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x610714
fstp qword [ecx + 0x70]
mov eax, dword [eax + 0x134]
mov byte [eax + 0xa2], 1
jmp 0x610716
fstp st(0)
mov eax, dword [edi + 0x6c]
mov edx, dword [0x905ad0]
add dword [ebp - 0x14c], 1
and edx, eax
cmp edx, 1
sbb dword [ebp - 0x140], 0xffffffff
add ebx, 1
cmp ebx, 5
je 0x60efb4
mov esi, dword [edi + ebx*4 + 0x668]
test esi, esi
je 0x610732
mov eax, dword [edi + ebx*4 + 0x6b8]
test eax, eax
jne 0x6105c0
mov eax, dword [0x90039c]
test eax, eax
je 0x6105c0
mov eax, dword [eax + 0x134]
test eax, eax
je 0x6105c0
mov dword [esp + 8], ebx
lea esi, [ebp - 0x128]
mov dword [esp + 4], 3
mov dword [esp], edi
call fcn.0060ea60
mov byte [edi + ebx + 0x6e0], al
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [esp + 0x14], 0
mov eax, dword [edi + 0x6c]
and eax, dword [0x905ab0]
setne al
movzx eax, al
mov dword [esp + 0x10], eax
mov eax, dword [0x778694]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], 3
mov dword [esp], edi
call fcn.0049b690
mov ecx, esi
mov dword [edi + ebx*4 + 0x6b8], eax
mov eax, dword [0x778694]
sub esp, 0x18
mov dword [esp], eax
call dword [0x90c19c]
lea ecx, [ebp - 0x138]
sub esp, 4
mov dword [esp], esi
mov dword [esp + 4], 0x78
call dword [0x90c2f4]
lea ecx, [ebp - 0x138]
sub esp, 8
call dword [0x90c2e0]
lea ecx, [ebp - 0x138]
mov esi, eax
call dword [0x90c2f0]
shl esi, 0x10
lea ecx, [ebp - 0x138]
shl eax, 8
add esi, eax
call dword [0x90c2e8]
add esi, eax
mov dword [0x778694], esi
mov esi, dword [edi + ebx*4 + 0x668]
jmp 0x6105c0
xor ebx, ebx
jmp 0x6109ea
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 0
movzx eax, byte [edi + ebx + 0x494]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x13c]
mov dword [esp], eax
call fcn.0060ebb0
mov eax, dword [0x90039c]
test eax, eax
je 0x6109c2
mov ecx, dword [eax + 0x134]
test ecx, ecx
je 0x6109c2
mov edx, dword [edi + ebx*4 + 0x414]
mov dword [ebp - 0x160], edx
test edx, edx
je 0x61096b
lea eax, [ebp - 0x118]
mov dword [esp + 8], eax
mov eax, dword [edi + ebx*4 + 0x74]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.0049b8e0
mov edx, eax
sub esp, 0xc
mov eax, 0xffffffff
test edx, edx
je 0x61090a
mov dword [esp], edx
mov dword [ebp - 0x158], edx
call fcn.00723a18
mov edx, dword [ebp - 0x158]
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [0x90be60]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
mov dword [ebp - 0x158], eax
mov dword [esp], eax
mov ecx, dword [ebp - 0x160]
call dword [0x90c678]
mov eax, dword [ebp - 0x128]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x610b00
cmp edx, 0xffffffff
je 0x610960
lock sub dword [eax], 1
mov eax, dword [ebp - 0x128]
je 0x610b00
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x158], esi
fild dword [ebp - 0x158]
fmul qword [0x7ec990]
fld qword [ecx + 0x20]
fcompi st(1)
jbe 0x61099a
fst qword [ecx + 0x20]
mov edx, dword [eax + 0x134]
mov byte [edx + 0xa0], 1
mov ecx, dword [eax + 0x134]
fld qword [ecx + 0x60]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x6109c0
fstp qword [ecx + 0x60]
mov eax, dword [eax + 0x134]
mov byte [eax + 0xa0], 1
jmp 0x6109c2
fstp st(0)
mov eax, dword [edi + 0x6c]
mov edx, dword [0x905ad8]
add dword [ebp - 0x14c], 1
and edx, eax
cmp edx, 1
sbb dword [ebp - 0x140], 0xffffffff
add ebx, 1
cmp ebx, 0x20
je 0x60ef98
mov esi, dword [edi + ebx*4 + 0x74]
test esi, esi
je 0x6109de
mov ecx, dword [edi + ebx*4 + 0x394]
test ecx, ecx
jne 0x610860
mov eax, dword [0x90039c]
test eax, eax
je 0x610860
mov edx, dword [eax + 0x134]
test edx, edx
je 0x610860
mov dword [esp + 8], ebx
lea esi, [ebp - 0x128]
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.0060ea60
mov byte [edi + ebx + 0x494], al
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [esp + 0x14], 0
mov eax, dword [edi + 0x6c]
and eax, dword [0x905ab8]
setne al
movzx eax, al
mov dword [esp + 0x10], eax
mov eax, dword [0x77869c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.0049b690
mov ecx, esi
mov dword [edi + ebx*4 + 0x394], eax
mov eax, dword [0x77869c]
sub esp, 0x18
mov dword [esp], eax
call dword [0x90c19c]
lea ecx, [ebp - 0x138]
sub esp, 4
mov dword [esp], esi
mov dword [esp + 4], 0x78
call dword [0x90c2f4]
lea ecx, [ebp - 0x138]
sub esp, 8
call dword [0x90c2e0]
lea ecx, [ebp - 0x138]
mov esi, eax
call dword [0x90c2f0]
shl esi, 0x10
lea ecx, [ebp - 0x138]
shl eax, 8
add esi, eax
call dword [0x90c2e8]
add esi, eax
mov dword [0x77869c], esi
mov esi, dword [edi + ebx*4 + 0x74]
jmp 0x610860
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x90bc9c]
jmp 0x610960
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x90bc9c]
jmp 0x610413
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x90bc9c]
jmp 0x60f533
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x90bc9c]
jmp 0x610163
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x90bc9c]
jmp 0x6106c3
call dword [0x90beb4]
mov dword [esp], 0x7786a0
call fcn.00723bd8
mov dword [esp], 0x7786a0
call fcn.00723bd0
mov eax, dword [0x9003c0]
mov dword [ebp - 0x13c], eax
jmp 0x60ef03
mov eax, dword [0x90039c]
test eax, eax
je 0x60f09e
mov ecx, dword [eax + 0x134]
test ecx, ecx
je 0x60f09e
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.0060ea60
mov byte [edi + 0x494], al
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.0060ea60
mov byte [edi + 0x495], al
mov dword [esp + 8], 2
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.0060ea60
mov byte [edi + 0x496], al
mov eax, dword [0x90039c]
mov ecx, dword [eax + 0x134]
mov dword [esp + 0x14], 0x10
mov eax, dword [edi + 0x6c]
and eax, dword [0x905ab8]
setne al
movzx eax, al
mov dword [esp + 0x10], eax
mov eax, dword [0x77869c]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.0049b690
mov dword [edi + 0x394], eax
mov eax, dword [0x90039c]
sub esp, 0x18
mov ecx, dword [eax + 0x134]
mov dword [esp + 0x14], 0x11
mov eax, dword [edi + 0x6c]
and eax, dword [0x905ab8]
setne al
movzx eax, al
mov dword [esp + 0x10], eax
mov eax, dword [0x77869c]
mov dword [esp + 8], 1
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.0049b690
mov dword [edi + 0x398], eax
mov eax, dword [0x90039c]
sub esp, 0x18
mov ecx, dword [eax + 0x134]
mov dword [esp + 0x14], 0x12
mov eax, dword [edi + 0x6c]
and eax, dword [0x905ab8]
setne al
movzx eax, al
mov dword [esp + 0x10], eax
mov eax, dword [0x77869c]
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.0049b690
mov dword [edi + 0x39c], eax
sub esp, 0x18
jmp 0x60f09e
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x90bc9c]
jmp 0x60f246
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x90bc9c]
jmp 0x60f395
mov dword [esp], 0x7786a0
call fcn.00723bd0
mov eax, dword [0x9003c0]
mov dword [ebp - 0x13c], eax
jmp 0x60ef03