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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x104
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0xd0]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0xd4]
mov edx, dword [esi + 0x88]
mov dword [ebp - 0xe8], eax
mov eax, dword [esi + 0xd8]
mov dword [ebp - 0xb0], eax
mov eax, dword [esi + 0xe8]
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + 0xbc]
mov dword [ebp - 0xc0], eax
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0xcc]
mov dword [ebp - 0xa8], eax
mov eax, dword [esi + 0x130]
mov dword [ebp - 0xd8], eax
mov eax, dword [esi + 0x134]
push edi
xor edi, edi
mov dword [esi + 0xbc], 1
mov dword [esi + 0xe8], edi
mov dword [ebp - 0xe0], eax
mov eax, dword [esi + 0x18]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0xec], edx
mov edx, dword [esi + 0x8c]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0xe4], edx
mov edx, dword [esi + 0x78]
mov edx, dword [eax + edx*4]
xor ebx, ebx
mov dword [ebp - 0xd0], edx
mov edx, dword [ebp + 0xc]
cmp edx, edi
setne bl
cmp ecx, edi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x44], ebx
jne 0x68c43c
or dword [esi + 0xec], 8
mov ecx, dword [ebp + 0x14]
cmp ecx, edi
jne 0x68c446
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x34]
cmp ecx, edi
jne 0x68c46b
cmp edx, edi
je 0x68c45f
mov dword [ebp - 0x1c], edx
jmp 0x68c46e
cmp ebx, edi
je 0x68c468
mov dword [ebp - 0x1c], ebx
jmp 0x68c46e
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xac]
cmp edx, dword [ecx + 0x7c]
jb 0x68c496
add esi, 0xec
mov eax, dword [esi]
and eax, 0xfffffff9
or eax, 1
mov dword [esi], eax
mov eax, 0x80004005
jmp 0x68e53d
inc edx
mov dword [esi + 0xac], edx
mov edx, dword [esi + 4]
mov ebx, dword [edx + 0x20]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [esi + 0xfc]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [esi + 0x100]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [esi + 0x104]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [esi + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xdc], ecx
mov ecx, dword [esi + 0x80]
mov eax, dword [eax + ecx*4]
add ebx, 0xb
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x58], eax
xor ecx, ecx
push 4
pop edx
mov eax, ebx
mul edx
seto cl
mov dword [ebp - 0x40], ebx
mov dword [esi + 0xfc], edi
mov dword [esi + 0x104], edi
mov dword [esi + 0x100], edi
mov dword [esi + 0xd0], edi
mov dword [esi + 0xd4], edi
neg ecx
or ecx, eax
push ecx
mov dword [esi + 0xd8], edi
mov dword [esi + 0xcc], 1
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
mov dword [ebp - 0xbc], eax
je 0x68e3fb
xor ecx, ecx
push 8
pop edx
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
mov dword [ebp - 0x34], eax
je 0x68e3fb
xor ecx, ecx
push 8
pop edx
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
mov dword [ebp - 0x54], eax
je 0x68e3fb
xor ecx, ecx
push 0x40
pop edx
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
mov dword [ebp - 0x50], eax
je 0x68e3fb
xor ecx, ecx
push 0x40
pop edx
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
mov dword [ebp - 0x68], eax
je 0x68e3fb
cmp ebx, edi
jbe 0x68c684
mov eax, dword [ebp - 0x50]
mov dword [ebp + 0xc], eax
mov ebx, edi
mov eax, dword [esi + 0x18]
mov eax, dword [eax + ebx*4]
cmp eax, 0xffffffff
je 0x68c5f6
push dword [ebp + 0xc]
mov ecx, esi
push eax
call fcn.0067e786
test eax, eax
jge 0x68c62b
push edi
fld qword [0x441ff0]
push edi
push edi
mov ecx, dword [ebp + 0xc]
push edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push edi
push 0x7fffffff
push 0xffffffffffffffff
push 0x80000000
push edi
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x441fe8]
fstp qword [esp]
call fcn.006b7ed2
mov eax, dword [esi + 0x18]
mov eax, dword [eax + ebx*4]
cmp eax, 0xffffffff
je 0x68c668
mov ecx, dword [esi + 8]
push edi
push 0x80000000
push eax
call fcn.006b5351
test eax, eax
jne 0x68c668
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 0x1c]
mov eax, dword [eax + ebx*4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x34]
and ecx, 0x27f
mov dword [eax + ebx*8], ecx
jmp 0x68c672
mov eax, dword [ebp - 0x34]
mov dword [eax + ebx*8], 0x27f
add dword [ebp + 0xc], 0x40
mov dword [eax + ebx*8 + 4], edi
inc ebx
cmp ebx, dword [ebp - 0x40]
jb 0x68c5dc
mov ebx, dword [ebp - 0x40]
mov eax, ebx
shl eax, 3
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x54]
call sub.msvcrt.dll_memcpy
shl ebx, 6
push ebx
push dword [ebp - 0x50]
push dword [ebp - 0x68]
call sub.msvcrt.dll_memcpy
add esp, 0x18
mov ecx, esi
call fcn.00679c71
or dword [ebp - 0xc8], 0xffffffff
or dword [ebp - 0xa0], 0xffffffff
mov ecx, dword [esi + 8]
mov dword [ebp - 0x24], eax
mov ecx, dword [ecx + 0x88]
xor eax, eax
inc eax
cmp ecx, edi
mov dword [ebp - 0x28], eax
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], ecx
jne 0x68c6e8
mov dword [ebp - 4], 0xff
mov edx, dword [esi + 0xb0]
lea ecx, [edx + edx]
shr dword [ebp - 4], cl
push 4
pop ecx
cmp dword [ebp - 4], ecx
jae 0x68c6ff
mov dword [ebp - 4], ecx
inc edx
mov ecx, esi
mov dword [esi + 0xb0], edx
mov dword [ebp - 0xa4], eax
call fcn.00679c55
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x18]
mov dword [edx + ecx*4], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x8c]
mov ecx, dword [eax + ecx*4]
mov edx, dword [esi + 0x88]
mov dword [eax + edx*4], ecx
mov ecx, esi
call fcn.00679c71
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x18]
mov dword [edx + ecx*4], eax
mov ecx, esi
call fcn.00679c71
mov ecx, dword [esi + 0x7c]
mov edx, dword [esi + 0x18]
mov dword [edx + ecx*4], eax
mov ecx, esi
mov dword [esi + 0x108], edi
mov dword [esi + 0x10c], edi
call fcn.0067963c
cmp dword [ebp - 4], edi
mov dword [ebp - 0x10], edi
jbe 0x68cbb0
cmp dword [ebp + 0xc], edi
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 1]
mov dword [esi + 0x130], eax
mov dword [esi + 0x134], ecx
je 0x68c7b0
mov ecx, dword [esi + 8]
test byte [ecx + 0x9c], 8
je 0x68c7b0
cmp dword [esi + 0xe8], edi
jne 0x68c7b0
mov ecx, dword [ebp - 4]
dec ecx
cmp eax, ecx
jne 0x68c7b0
mov dword [esi + 0xe8], 1
cmp dword [ebp + 0x14], edi
jne 0x68c7ba
cmp dword [ebp + 0x18], edi
je 0x68c7e3
cmp dword [ebp - 0x44], edi
je 0x68c7e3
push edi
push 1
push edi
push dword [ebp + 0x14]
mov ecx, esi
call fcn.006a1aef
mov ebx, eax
cmp ebx, edi
jl 0x68e400
cmp dword [esi + 0xd0], edi
jne 0x68cb52
mov eax, dword [ebp - 0x40]
shl eax, 2
push eax
push dword [esi + 0x18]
push dword [ebp - 0xbc]
call sub.msvcrt.dll_memcpy
mov ecx, dword [esi + 0x18]
or eax, 0xffffffff
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x60], eax
mov eax, dword [esi + 0x88]
add esp, 0xc
lea eax, [ecx + eax*4]
push eax
lea eax, [ebp - 0x3c]
push eax
push dword [ebp + 0x10]
mov ecx, esi
call fcn.0068164b
mov ebx, eax
cmp ebx, edi
jl 0x68e400
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x80]
lea eax, [ecx + eax*4]
push eax
lea eax, [ebp - 0x60]
push eax
push dword [ebp + 0x10]
mov ecx, esi
call fcn.0068164b
mov ebx, eax
cmp ebx, edi
jl 0x68e400
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x38]
push eax
push dword [ebp + 0x10]
mov ecx, esi
call fcn.0068151f
mov ebx, eax
cmp ebx, edi
jl 0x68e400
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x38]
push eax
push dword [ebp + 0x10]
mov ecx, esi
call fcn.0068151f
mov ebx, eax
cmp ebx, edi
jl 0x68e400
cmp dword [ebp + 0x10], edi
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], eax
je 0x68c8e6
or dword [ebp - 0x30], 0xffffffff
push edi
push edi
lea eax, [ebp - 0x30]
push eax
push dword [ebp + 0x10]
mov ecx, esi
call fcn.006a44c3
mov ebx, eax
cmp ebx, edi
jl 0x68e400
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x24]
push eax
push eax
push dword [ebp + 0x10]
mov ecx, esi
call fcn.0068151f
mov ebx, eax
cmp ebx, edi
jl 0x68e400
cmp dword [esi + 0xd0], edi
jne 0x68cb52
cmp dword [ebp - 0x20], edi
je 0x68c933
mov ecx, dword [esi + 0x18]
lea eax, [ebp - 0x28]
push eax
mov eax, dword [esi + 0x88]
push dword [ecx + eax*4]
mov ecx, esi
call fcn.0067aea2
test eax, eax
jl 0x68c933
cmp dword [ebp - 0x28], edi
jne 0x68c933
mov ecx, dword [esi + 0x18]
lea eax, [ebp - 0x28]
push eax
mov eax, dword [esi + 0x80]
push dword [ecx + eax*4]
mov ecx, esi
call fcn.0067aea2
test eax, eax
jl 0x68c933
cmp dword [ebp - 0x28], edi
jne 0x68c933
xor ebx, ebx
inc ebx
mov dword [ebp - 0x20], ebx
jmp 0x68c939
xor ebx, ebx
mov dword [ebp - 0x20], edi
inc ebx
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
mov ecx, esi
call fcn.0067aea2
xor ecx, ecx
test eax, eax
setge cl
cmp dword [ebp + 0xc], edi
mov dword [ebp - 0x48], ecx
je 0x68c95d
cmp ecx, edi
mov dword [ebp + 0xc], ebx
jne 0x68c960
mov dword [ebp + 0xc], edi
cmp dword [ebp - 0x10], edi
jbe 0x68c9a3
cmp dword [ebp + 0xc], edi
jne 0x68c9a3
mov eax, dword [esi + 8]
test dword [eax + 0x98], 0x200000
jne 0x68c97e
cmp dword [ebp - 8], edi
je 0x68c9a3
test byte [eax + 0x9c], 8
je 0x68c9a3
cmp dword [esi + 0xe8], edi
jne 0x68c9a3
mov eax, dword [ebp - 4]
add eax, 0xfffffffe
cmp dword [ebp - 0x10], eax
mov dword [esi + 0xe8], ebx
jae 0x68c9a3
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x64], eax
mov eax, dword [esi + 8]
test byte [eax + 0x9c], 8
je 0x68c9d3
test dword [eax + 0x98], 0x200000
jne 0x68c9d0
cmp dword [ebp + 0xc], edi
jne 0x68c9d3
cmp dword [ebp - 0x20], edi
jne 0x68c9d3
cmp dword [ebp - 8], edi
jne 0x68c9d3
mov dword [ebp - 0x64], ebx
push dword [ebp - 0x68]
mov ecx, esi
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push dword [ebp - 0x34]
push dword [ebp + 0x1c]
push dword [ebp - 0x64]
push dword [ebp + 0xc]
push dword [ebp - 0x48]
push dword [ebp - 0x40]
call fcn.0067ee85
mov ebx, eax
cmp ebx, edi
jl 0x68e400
cmp dword [ebp - 0x48], edi
je 0x68ca0d
cmp dword [ebp - 0x28], edi
je 0x68cbab
cmp dword [ebp - 8], edi
je 0x68ca48
cmp dword [ebp + 0xc], edi
jne 0x68ca45
cmp dword [esi + 0xe8], edi
jne 0x68ca45
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xc8]
push eax
push dword [ebp - 0x10]
mov ecx, esi
push dword [ebp - 0x30]
call fcn.00684054
test eax, eax
mov dword [ebp - 8], 1
jne 0x68ca48
mov dword [ebp - 8], edi
cmp dword [ebp - 0x20], edi
je 0x68ca59
cmp dword [ebp - 8], edi
mov dword [ebp - 0x20], 1
jne 0x68ca5c
mov dword [ebp - 0x20], edi
cmp dword [ebp + 0x14], edi
jne 0x68ca6a
cmp dword [ebp + 0x18], edi
je 0x68cb41
cmp dword [ebp - 0x44], edi
jne 0x68cb41
mov ecx, esi
mov dword [esi + 0x114], edi
call fcn.00679c55
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x18]
push edi
push edi
push edi
push dword [ebp + 0x14]
mov dword [edx + ecx*4], eax
mov ecx, esi
call fcn.006a1aef
mov ebx, eax
cmp ebx, edi
jl 0x68e400
push dword [ebp - 0x68]
mov ecx, esi
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push dword [ebp - 0x34]
push dword [ebp + 0x1c]
push dword [ebp - 0x64]
push dword [ebp + 0xc]
push dword [ebp - 0x48]
push dword [ebp - 0x40]
call fcn.0067ee85
mov ebx, eax
cmp ebx, edi
jl 0x68e400
mov ecx, dword [esi + 0x18]
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esi + 0x88]
push dword [ecx + eax*4]
mov ecx, esi
call fcn.0067aea2
test eax, eax
jl 0x68caef
cmp dword [ebp - 0xc], edi
jne 0x68cb5e
mov ecx, dword [esi + 0x18]
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esi + 0x80]
push dword [ecx + eax*4]
mov ecx, esi
call fcn.0067aea2
test eax, eax
jl 0x68cb0f
cmp dword [ebp - 0xc], edi
jne 0x68cb5e
mov ecx, esi
call fcn.00679c55
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x18]
push edi
push edi
push edi
push dword [ebp + 0x18]
mov dword [edx + ecx*4], eax
mov ecx, esi
call fcn.006a1aef
mov ebx, eax
cmp ebx, edi
jl 0x68e400
cmp dword [esi + 0xd0], edi
jne 0x68cb6d
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 4]
jb 0x68c773
jmp 0x68cbab
cmp dword [ebp - 0x4c], edi
jne 0x68cbab
cmp dword [ebp + 0xc], edi
je 0x68cbb3
jmp 0x68cb77
mov ecx, esi
call fcn.00679c55
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edi
jmp 0x68cbab
cmp dword [ebp - 0x4c], edi
jne 0x68cbab
cmp dword [ebp + 0xc], edi
je 0x68cbbe
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x38]
mov eax, dword [esi + 0x24]
test byte [eax + ecx*4], 0x20
jne 0x68cbab
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x38]
push 0x442a00
lea eax, [eax + ecx*4]
or dword [eax], 0x20
push 0xdb0
push dword [esi + 0xd8]
push esi
call fcn.0067afcf
add esp, 0x10
cmp dword [ebp + 0xc], edi
je 0x68cbb3
mov dword [ebp - 8], edi
cmp dword [ebp - 0x44], edi
je 0x68cbbe
mov eax, dword [ebp - 0x10]
inc eax
jmp 0x68cbc1
mov eax, dword [ebp - 0x10]
xor ebx, ebx
inc ebx
cmp eax, ebx
ja 0x68cbed
cmp dword [ebp + 0x20], edi
je 0x68ccdb
cmp dword [ebp - 0x4c], edi
jne 0x68cbed
push eax
push 0x4429b8
push 0xde5
push dword [ebp - 0x1c]
push esi
call fcn.0067b049
add esp, 0x14
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 4]
jae 0x68cc26
test byte [esi + 0xec], 7
je 0x68cc07
cmp dword [ebp + 0x20], edi
je 0x68e3b4
test word [esi + 0x14], 0x200
je 0x68cc18
cmp dword [ebp + 0x20], edi
je 0x68e3b4
cmp dword [esi + 0xd0], edi
jne 0x68cc23
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x5c], ebx
mov eax, dword [esi + 8]
test byte [eax + 0x98], 0x20
mov dword [ebp - 0x30], edi
jne 0x68cc58
mov ecx, dword [esi + 0x18]
lea eax, [ebp - 0x28]
push eax
mov eax, dword [esi + 0x88]
push dword [ecx + eax*4]
mov ecx, esi
call fcn.0067aea2
test eax, eax
jl 0x68cc55
cmp dword [ebp - 0x28], edi
je 0x68cc58
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x4c], edi
jne 0x68cc8d
cmp dword [ebp - 0x5c], edi
jne 0x68cc8d
cmp dword [ebp - 8], edi
jne 0x68cc8d
cmp dword [ebp + 0xc], edi
jne 0x68cd5e
cmp dword [esi + 0xe8], edi
je 0x68cc96
mov eax, dword [esi + 8]
test dword [eax + 0x98], 0x200000
jne 0x68cc96
mov dword [ebp - 0xc4], ebx
cmp dword [ebp + 0xc], edi
jne 0x68cd5e
cmp dword [ebp - 0x20], edi
jne 0x68cd5e
cmp dword [ebp - 0x5c], edi
je 0x68ccad
cmp dword [ebp - 0x30], edi
jne 0x68cd2f
cmp dword [ebp - 8], edi
jne 0x68cd2f
mov eax, dword [esi + 8]
test byte [eax + 0x98], 0x20
jne 0x68cd2f
cmp dword [ebp + 0x20], edi
je 0x68cd00
push 0x442970
push 0xdc5
push dword [ebp - 0x1c]
push esi
call fcn.0067afcf
jmp 0x68d2c4
cmp dword [ebp - 0x4c], edi
jne 0x68e3b4
push eax
push 0x44292c
push 0xde5
push dword [ebp - 0x1c]
push esi
call fcn.0067b049
add esp, 0x14
jmp 0x68e3b4
lea ebx, [esi + 0x190]
cmp dword [ebx], edi
jne 0x68e3b4
push 0x4428f0
push 0xde0
push dword [ebp - 0x1c]
push esi
call fcn.0067b049
add esp, 0x10
mov dword [ebx], 1
jmp 0x68e3b4
mov eax, dword [esi + 8]
test dword [eax + 0x98], 0x800000
jne 0x68cd5e
mov ebx, dword [ebp - 0x2c]
jmp 0x68cd59
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x20]
mov ecx, dword [eax + ebx*4]
call fcn.006b683e
test eax, eax
jne 0x68cd8e
mov eax, dword [esi + 8]
inc ebx
cmp ebx, dword [eax + 0x10]
jb 0x68cd43
mov eax, dword [ebp - 0x10]
dec dword [esi + 0xb0]
xor ebx, ebx
cmp eax, dword [ebp - 4]
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x64], edi
jae 0x68cde8
xor eax, eax
inc eax
cmp dword [ebp - 0x20], edi
mov dword [ebp - 0x64], eax
jne 0x68cd8a
cmp dword [ebp + 0xc], edi
je 0x68ce05
mov ebx, eax
jmp 0x68ce02
cmp dword [ebp + 0x20], edi
je 0x68cdae
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + ebx*4]
push 0x4428bc
push 0xdc6
push dword [eax + 0x40]
jmp 0x68ccd0
cmp dword [esi + 0x190], edi
jne 0x68e3b4
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + ebx*4]
push 0x442870
push 0xde1
push dword [eax + 0x40]
push esi
call fcn.0067b049
add esp, 0x10
mov dword [esi + 0x190], 1
jmp 0x68e3b4
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
mov ecx, esi
call fcn.0067aea2
test eax, eax
jl 0x68ce05
cmp dword [ebp - 0x28], edi
jne 0x68ce05
xor ebx, ebx
inc ebx
mov dword [ebp - 0x38], ebx
mov eax, dword [esi + 0xd0]
cmp eax, edi
je 0x68ce26
mov ecx, dword [esi + 8]
mov cl, byte [ecx + 0x98]
not cl
movsx ebx, cl
and ebx, 0x20
shr ebx, 5
mov dword [ebp - 0x38], ebx
mov ecx, dword [esi + 8]
test dword [ecx + 0x98], 0x200000
je 0x68ce45
cmp eax, edi
je 0x68ce45
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov dword [esi + 0xd0], edi
cmp dword [ebp - 0x20], edi
jne 0x68ce4f
cmp dword [ebp - 8], edi
je 0x68ce85
cmp ebx, edi
jne 0x68ce89
test byte [ecx + 0x98], 0x20
je 0x68ce65
test byte [ecx + 0x9c], 8
jne 0x68ce90
cmp dword [ebp - 0x5c], edi
jne 0x68ce7a
lea eax, [esi + 0xec]
mov edx, dword [eax]
and edx, 0xfffffffb
or edx, 3
mov dword [eax], edx
cmp dword [ebp - 0x20], edi
je 0x68ce90
xor ebx, ebx
inc ebx
mov dword [ebp - 0x38], ebx
cmp ebx, edi
je 0x68ce90
mov dword [ebp - 0x64], 1
cmp dword [ebp - 0x5c], edi
je 0x68cf63
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 4]
jae 0x68cf63
cmp dword [ebp + 0xc], edi
jne 0x68ceb3
cmp eax, 0x10
jae 0x68cf63
test word [esi + 0x14], 0x400
jne 0x68cf63
cmp dword [ebp + 0x20], edi
jne 0x68cf63
mov eax, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
cmp eax, edx
mov ebx, eax
mov dword [ebp + 0xc], edx
jae 0x68cf47
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + eax*4]
mov edx, 0x20100000
mov eax, dword [ecx]
mov eax, dword [eax]
and eax, 0xfff00000
cmp eax, edx
ja 0x68cf18
je 0x68cf3b
cmp eax, edi
je 0x68cf3b
cmp eax, 0x10000000
je 0x68cf3b
cmp eax, 0x10100000
je 0x68cf3b
cmp eax, 0x10200000
je 0x68cf3b
cmp eax, 0x10400000
je 0x68cf3b
cmp eax, 0x20000000
jmp 0x68cf39
cmp eax, 0x20200000
je 0x68cf3b
cmp eax, 0x20300000
je 0x68cf3b
cmp eax, 0x20400000
je 0x68cf3b
cmp eax, 0x20500000
je 0x68cf3b
cmp eax, 0x30000000
jne 0x68cf47
mov eax, dword [esi + 8]
inc ebx
add ecx, 4
cmp ebx, dword [eax + 0x10]
jb 0x68cee2
cmp ebx, dword [ebp + 0xc]
jne 0x68cf63
mov eax, dword [esi + 0xec]
and eax, 7
cmp eax, 3
je 0x68cf63
cmp eax, 4
jne 0x68e3b4
mov eax, dword [esi + 0x74]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [esi + 0x18]
shl eax, 2
mov edx, dword [eax + edx]
xor ebx, ebx
cmp dword [ebp - 0x40], edi
mov dword [eax + ecx], edx
mov dword [ebp + 0xc], edi
jbe 0x68cfc5
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + ebx*4]
cmp eax, 0xffffffff
je 0x68cfba
mov ecx, dword [esi + 0x18]
cmp dword [ecx + ebx*4], eax
je 0x68cfba
mov ecx, dword [esi + 8]
push edi
push 0x8000000
push eax
call fcn.006b5351
test eax, eax
jne 0x68cfba
cmp ebx, dword [esi + 0x8c]
je 0x68cfba
cmp ebx, dword [esi + 0x7c]
je 0x68cfba
cmp ebx, dword [esi + 0x38]
je 0x68cfba
inc dword [ebp + 0xc]
inc ebx
cmp ebx, dword [ebp - 0x40]
jb 0x68cf7f
cmp dword [ebp + 0xc], edi
jne 0x68cfe4
cmp dword [ebp + 0x20], edi
je 0x68d291
push 0x442834
push 0xde5
push dword [ebp - 0x1c]
push esi
call fcn.0067b049
add esp, 0x10
cmp dword [ebp + 0xc], edi
mov dword [esi + 0xd4], 1
mov dword [esi + 0xd8], edi
mov dword [esi + 0xd0], edi
jne 0x68d01a
cmp dword [ebp - 0x38], edi
jne 0x68d01a
push 0x44281c
push 0xddf
push dword [ebp - 0x1c]
push esi
call fcn.0067b049
add esp, 0x10
cmp dword [ebp - 0x30], edi
je 0x68d022
inc dword [ebp + 0xc]
mov ebx, dword [ebp + 0xc]
imul ebx, ebx, 0xb
xor ecx, ecx
push 4
pop edx
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
mov dword [ebp - 0x70], eax
je 0x68e3fb
push ebx
push eax
mov ecx, esi
call fcn.0055719a
mov ebx, eax
cmp ebx, edi
jl 0x68e400
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x70]
xor eax, eax
shl edx, 2
mov dword [ebp + eax*4 - 0x9c], ecx
inc eax
add ecx, edx
cmp eax, 0xb
jb 0x68d068
mov ebx, dword [ebp + 0xc]
xor ecx, ecx
push 4
pop edx
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
mov dword [esi + 0x104], eax
je 0x68e3fb
xor ecx, ecx
push 4
pop edx
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
mov dword [esi + 0xfc], eax
je 0x68e3fb
cmp dword [ebp - 0x40], edi
mov dword [esi + 0x100], ebx
mov ebx, dword [ebp - 0x98]
mov dword [ebp + 0xc], edi
mov dword [ebp - 4], edi
jbe 0x68d19f
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0x94]
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x94]
sub eax, ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
lea ebx, [eax + ecx*4]
mov eax, dword [ebx]
cmp eax, 0xffffffff
je 0x68d18a
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 4]
cmp dword [ecx + edx*4], eax
je 0x68d18a
mov ecx, edx
cmp ecx, dword [esi + 0x38]
je 0x68d18a
mov ecx, dword [esi + 8]
push edi
push 0x8000000
push eax
call fcn.006b5351
test eax, eax
jne 0x68d18a
mov ecx, dword [ebp - 4]
cmp ecx, dword [esi + 0x8c]
je 0x68d18a
cmp ecx, dword [esi + 0x7c]
je 0x68d18a
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x3c]
add eax, edx
mov edx, dword [ebp - 0x60]
mov dword [eax + edx], ecx
mov edx, dword [ebx]
mov ecx, dword [ebp - 0xc]
mov dword [ecx], edx
mov edx, dword [ebx]
mov dword [eax], edx
mov eax, dword [esi + 0x18]
mov edx, dword [ebp - 4]
cmp dword [eax + edx*4], 0xffffffff
je 0x68d17c
mov eax, dword [esi + 8]
mov edx, dword [ebx]
mov ebx, dword [eax + 0x1c]
mov edx, dword [ebx + edx*4]
mov eax, dword [eax + 0x2a50]
cmp eax, dword [edx + 8]
jne 0x68d181
mov eax, dword [esi + 0x48]
mov dword [ecx], eax
inc dword [ebp + 0xc]
add ecx, 4
mov dword [ebp - 0xc], ecx
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x40]
jb 0x68d0fc
mov ebx, dword [ebp - 0x98]
cmp dword [ebp - 0x30], edi
je 0x68d2d5
mov ecx, esi
call fcn.00679711
cmp dword [ebp - 0x5c], edi
jne 0x68d1f0
cmp dword [ebp - 0x4c], edi
jne 0x68d1f0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x38]
mov ecx, dword [esi + 0x24]
test byte [ecx + eax*4], 0x80
jne 0x68d1f0
push 0x4427c8
push 0xdee
push dword [ebp - 0x1c]
push esi
call fcn.0067b049
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x38]
mov ecx, dword [esi + 0x24]
lea eax, [ecx + eax*4]
add esp, 0x10
or dword [eax], 0x80
mov edx, dword [ebp + 0xc]
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 0x9c]
shl edx, 2
mov dword [edx + ecx], eax
mov ecx, esi
call fcn.00679c71
mov dword [edx + ebx], eax
call fcn.00679c71
fld qword [0x441ff0]
mov ecx, dword [ebp - 0x94]
push edi
push edi
push edi
mov ebx, dword [ebp - 0x50]
push edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push edi
push 0x7fffffff
push 0xffffffffffffffff
push 0x80000000
mov dword [edx + ecx], eax
mov ecx, dword [esi + 0x7c]
push edi
sub esp, 0x10
fstp qword [esp + 8]
shl ecx, 6
fld qword [0x441fe8]
add ecx, ebx
fstp qword [esp]
call fcn.006b7ed2
mov eax, dword [esi + 0x7c]
fldz
mov ecx, dword [ebp - 0x34]
shl eax, 6
fstp qword [eax + ebx]
mov eax, dword [esi + 0x7c]
fld1
shl eax, 6
fstp qword [eax + ebx + 8]
mov eax, dword [esi + 8]
test dword [eax + 0x98], 0x200000
mov eax, dword [esi + 0x7c]
lea eax, [ecx + eax*8]
mov ecx, dword [eax + 4]
mov dword [eax + 4], ecx
jne 0x68d2cc
or dword [eax], 0x17
jmp 0x68d2d2
push dword [ebp + 0x1c]
lea eax, [esi + 0xec]
mov ecx, dword [eax]
push dword [ebp - 0x2c]
and ecx, 0xfffffffd
push dword [ebp - 0x14]
or ecx, 5
mov dword [eax], ecx
mov ecx, esi
call fcn.0067af07
push 0x442788
push 0xde5
push dword [ebp - 0x1c]
push esi
call fcn.0067b049
add esp, 0x10
jmp 0x68e3b4
or dword [eax], 0x80000000
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
cmp dword [esi + 0x100], eax
jne 0x68e3b4
push dword [ebp + 0x1c]
mov ecx, esi
push dword [ebp - 0x2c]
push dword [ebp - 0x14]
call fcn.0067af07
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x134], eax
mov eax, dword [ebp - 0xb8]
mov ecx, esi
mov dword [esi + 0x130], edi
mov dword [esi + 0xe8], eax
call fcn.00679c55
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x18]
mov dword [edx + ecx*4], eax
mov ecx, esi
call fcn.00679c55
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x18]
mov dword [edx + ecx*4], eax
mov ecx, esi
call fcn.00679c71
cmp dword [ebp - 0x44], edi
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x18]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x114], eax
je 0x68d36b
push edi
push 1
push edi
push dword [ebp + 0x14]
mov ecx, esi
call fcn.006a1aef
mov ebx, eax
cmp ebx, edi
jl 0x68e400
cmp dword [esi + 0x100], edi
mov dword [ebp - 0xc], edi
jbe 0x68d481
mov ebx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
sub ecx, ebx
sub eax, ebx
mov dword [ebp + 0xc], ecx
mov dword [ebp - 4], eax
jmp 0x68d39e
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + ebx]
cmp eax, dword [esi + 0x48]
jne 0x68d3fc
cmp dword [ecx + ebx], 0xffffffff
je 0x68d3fc
mov eax, dword [ebx]
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + eax*4]
cmp eax, 0xffffffff
je 0x68d3cc
mov ecx, dword [esi + 8]
push edi
push 0x80000000
push eax
call fcn.006b5351
test eax, eax
je 0x68d3fc
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x6c]
mov edx, dword [ecx + 0x1c]
push dword [edx + eax*4]
call fcn.006b58fd
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
mov dword [ecx + ebx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 0x1c]
mov edx, dword [edx + ebx]
push dword [ecx + edx*4]
mov ecx, dword [ecx + eax*4]
call fcn.006b863e
jmp 0x68d46c
mov eax, dword [ebp - 4]
mov edx, dword [eax + ebx]
mov ecx, esi
call fcn.00679c71
cmp edx, eax
jne 0x68d459
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x1c]
push dword [eax + edx*4]
call fcn.006b58fd
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
mov dword [ecx + ebx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 0x1c]
mov edx, dword [edx + ebx]
push dword [ecx + edx*4]
mov ecx, dword [ecx + eax*4]
call fcn.006b863e
mov ecx, dword [esi + 8]
mov eax, dword [ebp - 4]
mov edx, dword [eax + ebx]
mov ecx, dword [ecx + 0x1c]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebx]
mov dword [ecx + 0x28], edx
mov ecx, dword [ebx]
mov edx, dword [esi + 0x18]
mov eax, dword [eax + ebx]
mov dword [edx + ecx*4], eax
jmp 0x68d46c
mov eax, dword [ebx]
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + eax*4]
cmp eax, 0xffffffff
je 0x68d46c
mov ecx, dword [ebp - 4]
mov dword [ecx + ebx], eax
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
add ebx, 4
cmp eax, dword [esi + 0x100]
jb 0x68d398
mov ecx, esi
call fcn.00679c55
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x18]
mov dword [edx + ecx*4], eax
cmp dword [esi + 0x110], edi
je 0x68d4ab
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 0x58]
mov dword [ecx + eax*4], edx
mov eax, dword [esi + 8]
add eax, 0x98
mov ecx, dword [eax]
shl ecx, 0x1a
sar ecx, 0x1f
mov dword [esi + 0x108], ecx
mov eax, dword [eax]
shl eax, 0x19
sar eax, 0x1f
mov ecx, esi
mov dword [esi + 0x10c], eax
call fcn.0067963c
fild dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
test eax, eax
mov ecx, dword [esi + 8]
push edi
push edi
jge 0x68d4eb
fadd qword [0x402070]
push ecx
push ecx
fstp qword [esp]
push edi
push edi
push dword [ecx + 0x2a54]
call fcn.006b574c
or dword [ebp - 0x6c], 0xffffffff
cmp dword [ebp - 8], edi
mov dword [ebp - 0xf0], eax
lea eax, [ebp - 0xa0]
jne 0x68d518
lea eax, [ebp - 0xf0]
push edi
push edi
push edi
push edi
push edi
push eax
lea eax, [ebp - 0x6c]
push eax
push 0x11000001
push dword [ebp - 0x1c]
mov ecx, esi
call fcn.0067b74b
mov ebx, eax
cmp ebx, edi
jl 0x68e400
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x2a8c]
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ecx + edx*4]
push edi
push edi
push edi
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x6c]
push edi
push edi
push dword [ebp - 0x98]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x100]
push dword [ebp - 0x94]
and eax, 0xfffff
or eax, 0x11100000
push eax
push dword [ebp - 0x1c]
mov ecx, esi
mov dword [esi + 0x94], 1
call fcn.0067b74b
mov ebx, eax
cmp ebx, edi
jl 0x68e400
mov ecx, dword [esi + 8]
fldz
push edi
push edi
push ecx
push ecx
fstp qword [esp]
push edi
push edi
push dword [ecx + 0x2aa4]
call fcn.006b574c
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x18]
or dword [ebp + 0xc], 0xffffffff
push edi
mov dword [edx + ecx*4], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x18]
push edi
push dword [eax + 0x2aa8]
mov eax, dword [esi + 0x38]
push edi
push edi
lea eax, [ecx + eax*4]
push eax
lea eax, [ebp + 0xc]
push eax
push 0x11100001
push dword [ebp - 0x1c]
mov ecx, esi
call fcn.0067b52e
mov ebx, eax
cmp ebx, edi
jl 0x68e400
mov eax, dword [esi + 0x38]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x18]
mov dword [ecx + eax*4], edx
mov eax, dword [esi + 8]
cmp dword [eax + 0xc], edi
mov dword [ebp + 0xc], edi
jbe 0x68d63d
mov ecx, dword [eax + 0x2a80]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x14], ecx
mov ecx, dword [eax]
mov edx, dword [ebp - 0x3c]
cmp dword [ecx + 8], edx
jne 0x68d635
mov ecx, dword [ecx + 0x18]
cmp ecx, dword [ebp + 0xc]
jb 0x68d635
inc ecx
mov dword [ebp + 0xc], ecx
add eax, 4
dec dword [ebp - 0x14]
jne 0x68d61f
cmp dword [esi + 0x100], edi
mov dword [ebp - 0x48], edi
jbe 0x68d77f
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x94]
sub eax, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [eax + ecx]
mov eax, dword [eax]
mov edx, dword [esi + 8]
mov edx, dword [edx + 0x1c]
mov ecx, dword [edx + ecx*4]
mov edx, eax
mov dword [ebp - 0x14], eax
mov eax, dword [ecx]
mov dword [ebp - 0x44], ecx
mov ecx, dword [ecx + 4]
shl edx, 6
add edx, dword [ebp - 0x50]
and eax, 0x80000000
and ecx, 0x1ff
or eax, ecx
mov dword [ebp - 0xc], edx
je 0x68d769
cmp dword [ebp - 0x64], edi
jne 0x68d709
mov eax, dword [ebp - 0x14]
cmp eax, dword [esi + 0x80]
je 0x68d709
mov eax, dword [edx + 0x30]
cmp eax, dword [edx + 0x38]
jne 0x68d6bd
mov eax, dword [edx + 0x34]
cmp eax, dword [edx + 0x3c]
je 0x68d709
push edi
fld qword [0x441ff0]
push edi
push edi
mov ecx, dword [ebp - 0xc]
push edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push edi
push 0x7fffffff
push 0xffffffffffffffff
push 0x80000000
push edi
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x441fe8]
fstp qword [esp]
call fcn.006b7ed2
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x34]
lea eax, [ecx + eax*8]
mov ecx, dword [eax + 4]
and dword [eax], 0xfffff582
mov dword [eax + 4], ecx
push dword [ebp - 0xc]
mov ecx, dword [ebp - 0x44]
call fcn.006b8291
test eax, eax
jl 0x68e400
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x30]
cmp ecx, dword [eax + 0x38]
jne 0x68d73a
mov ecx, dword [eax + 0x34]
cmp ecx, dword [eax + 0x3c]
jne 0x68d73a
mov eax, dword [ebp - 0x44]
or dword [eax], 0x7800
jmp 0x68d749
mov eax, dword [ebp - 0x44]
and dword [eax], 0xfffff7ff
or dword [eax], 0x7000
mov ecx, dword [eax + 4]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x14], edx
mov edx, dword [ecx + edx*8]
or dword [eax], edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ecx + edx*8 + 4]
or dword [eax + 4], ecx
inc dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
add dword [ebp - 0x2c], 4
cmp eax, dword [esi + 0x100]
jb 0x68d660
cmp dword [esi + 0x100], edi
mov dword [ebp + 0xc], edi
jbe 0x68d896
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x98]
sub eax, ebx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 8]
push edi
add eax, ebx
push 0x4000000
push dword [eax]
call fcn.006b5351
test eax, eax
je 0x68d7d5
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x2ac4]
jmp 0x68d802
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 8]
push edi
push 0x200000
add eax, ebx
push dword [eax]
call fcn.006b5351
test eax, eax
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x1c]
je 0x68d7fc
mov eax, dword [eax + 0x2ab4]
jmp 0x68d802
mov eax, dword [eax + 0x2a80]
mov ecx, dword [ebx]
mov ecx, dword [edx + ecx*4]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 8]
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
add ecx, ebx
mov ecx, dword [ecx]
push dword [eax + ecx*4]
mov ecx, dword [ebx]
mov ecx, dword [eax + ecx*4]
call fcn.006b863e
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov ecx, dword [esi + 0x104]
add eax, ebx
mov eax, dword [eax + edx]
mov edx, dword [ebp + 0xc]
mov dword [ecx + edx*4], eax
mov eax, dword [esi + 0x104]
mov ecx, edx
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebx]
mov dword [ecx + eax*4], edx
mov eax, dword [esi + 0xfc]
mov ecx, dword [ebx]
mov edx, dword [ebp + 0xc]
mov dword [eax + edx*4], ecx
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebx]
mov ecx, dword [eax + ecx*4]
cmp dword [ecx + 0x28], 0xffffffff
jne 0x68d881
mov edx, dword [ebx]
mov eax, dword [eax + edx*4]
mov ecx, dword [esi + 0x104]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ecx + edx*4]
mov dword [eax + 0x28], ecx
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
add ebx, 4
cmp eax, dword [esi + 0x100]
jb 0x68d7ae
cmp dword [ebp + 0x10], edi
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x80]
mov edx, dword [ebp - 0x58]
mov dword [ecx + eax*4], edx
mov ecx, esi
je 0x68d8c9
or dword [ebp - 0x24], 0xffffffff
push edi
push edi
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0x10]
call fcn.006a44c3
mov ebx, eax
cmp ebx, edi
jge 0x68d8d1
jmp 0x68e400
call fcn.00679c71
mov dword [ebp - 0x24], eax
cmp dword [esi + 0x100], edi
mov dword [ebp + 0xc], edi
jbe 0x68d906
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x9c]
sub ecx, eax
mov edx, dword [eax + ecx]
mov ebx, dword [esi + 0x18]
mov edx, dword [ebx + edx*4]
inc dword [ebp + 0xc]
mov dword [eax], edx
mov edx, dword [ebp + 0xc]
add eax, 4
cmp edx, dword [esi + 0x100]
jb 0x68d8ea
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x10]
or dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x10]
cmp eax, edi
jne 0x68d923
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x14]
push ecx
push eax
mov ecx, esi
call fcn.0068164b
mov ebx, eax
cmp ebx, edi
jl 0x68e400
cmp dword [esi + 0x108], edi
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x24], ecx
jne 0x68d985
cmp dword [ebp - 0x30], edi
je 0x68d97d
mov ecx, dword [ebp + 0x10]
cmp ecx, edi
jne 0x68d95a
mov ecx, dword [ebp - 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x7c]
lea eax, [edx + eax*4]
lea edx, [ebp - 0x3c]
push edx
push eax
push eax
push ecx
mov ecx, esi
call fcn.0068151f
mov ebx, eax
cmp ebx, edi
jl 0x68e400
jmp 0x68d9b5
mov eax, dword [esi + 0x7c]
mov edx, dword [ebp - 0x3c]
jmp 0x68d9af
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x78]
lea eax, [edx + eax*4]
mov edx, dword [eax]
mov dword [eax], ecx
mov eax, dword [ebp + 0x10]
cmp eax, edi
mov dword [ebp - 0xc], edx
jne 0x68d99f
mov eax, dword [ebp - 0x18]
push eax
mov ecx, esi
call fcn.0068a446
mov edx, dword [ebp - 0xc]
mov ebx, eax
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x18]
mov dword [ecx + eax*4], edx
cmp ebx, edi
jl 0x68e400
mov eax, dword [ebp - 0x6c]
mov ecx, dword [esi + 0x100]
mov edx, dword [ebp - 0x70]
mov dword [esi + 0x90], eax
xor eax, eax
mov dword [esi + 0x94], 1
mov dword [esi + 0xe0], edi
shl ecx, 2
mov dword [ebp + eax*4 - 0x9c], edx
inc eax
add edx, ecx
cmp eax, 4
jb 0x68d9e4
mov eax, dword [ebp + 0x10]
or dword [ebp + 0xc], 0xffffffff
cmp eax, edi
jne 0x68da01
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x18]
push edi
push edi
push edi
push edi
push edi
lea ecx, [edx + ecx*4]
push ecx
lea ecx, [ebp + 0xc]
push ecx
push 0x11300001
push eax
mov ecx, esi
call fcn.0067b74b
mov ebx, eax
cmp ebx, edi
jl 0x68e400
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x2a88]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ecx + edx*4]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0xc]
mov ecx, esi
mov dword [esi + 0x90], eax
mov dword [esi + 0x94], 1
call fcn.00679c55
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x18]
mov dword [edx + ecx*4], eax
mov ecx, esi
call fcn.00679c55
cmp dword [ebp + 0x14], edi
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x8c]
mov dword [edx + ecx*4], eax
mov eax, dword [esi + 0x7c]
mov edx, dword [esi + 0x18]
lea ebx, [edx + eax*4]
mov eax, dword [ebx]
mov dword [ebp - 0x60], eax
jne 0x68da95
cmp dword [ebp + 0x18], edi
je 0x68db16
cmp dword [esi + 0x108], edi
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x114], eax
mov ecx, esi
jne 0x68db00
call fcn.00679c71
mov dword [ebp - 0x104], eax
call fcn.00679c55
mov dword [ebp - 0x100], eax
mov eax, dword [esi + 0x80]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xfc], eax
call fcn.00679c55
mov dword [ebp - 0xf8], eax
call fcn.00679c71
push edi
push edi
push edi
push edi
push edi
push edi
mov dword [ebx], eax
lea eax, [ebp - 0x104]
push eax
push 1
push edi
push dword [ebp + 0x14]
push dword [ebp - 0x60]
push dword [ebp + 0x14]
push edi
call fcn.006845c1
jmp 0x68db0c
push edi
push 1
push edi
push dword [ebp + 0x14]
call fcn.006a1aef
mov ebx, eax
cmp ebx, edi
jl 0x68e400
cmp dword [ebp - 0x30], edi
je 0x68db46
mov ecx, dword [ebp + 0x10]
cmp ecx, edi
jne 0x68db25
mov ecx, dword [ebp - 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x7c]
lea eax, [edx + eax*4]
lea edx, [ebp - 0x60]
push edx
push eax
push eax
push ecx
mov ecx, esi
call fcn.0068151f
mov ebx, eax
cmp ebx, edi
jl 0x68e400
cmp dword [esi + 0xbc], edi
jne 0x68dc73
cmp dword [ebp - 0x30], edi
mov dword [esi + 0xbc], 1
je 0x68dbff
or dword [ebp + 0x14], 0xffffffff
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 8]
test dword [ecx + 0x98], 0x200000
mov eax, dword [esi + 0x80]
mov eax, dword [edx + eax*4]
mov edx, dword [ecx + 0x1c]
mov eax, dword [edx + eax*4]
jne 0x68dbbf
mov ecx, dword [eax + 4]
fld1
or dword [eax], 0x17
sub esp, 0x10
fstp qword [esp + 8]
mov dword [eax + 4], ecx
fldz
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x80]
fstp qword [esp]
push dword [ecx + eax*4]
mov ecx, dword [esi + 8]
call fcn.006d1096
mov ebx, eax
cmp ebx, edi
jl 0x68e400
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x80]
lea eax, [ecx + eax*4]
push eax
lea eax, [ebp + 0x14]
push eax
push dword [ebp - 0x18]
mov ecx, esi
call fcn.0068164b
mov ebx, eax
cmp ebx, edi
jl 0x68e400
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x7c]
lea eax, [ecx + eax*4]
lea ecx, [ebp + 0x14]
push ecx
push eax
push eax
push dword [ebp - 0x18]
mov ecx, esi
call fcn.0068151f
jmp 0x68dc69
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x78]
push dword [ebp - 0x18]
lea ecx, [eax + ecx*4]
mov edx, dword [ecx]
mov dword [ebp + 0x14], edx
mov edx, dword [esi + 0x88]
mov edx, dword [eax + edx*4]
mov dword [ebp + 0x18], edx
mov edx, dword [esi + 0x80]
mov eax, dword [eax + edx*4]
mov dword [ecx], eax
mov ecx, esi
call fcn.0068a446
mov ebx, eax
cmp ebx, edi
jl 0x68e400
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp + 0x14]
mov dword [ecx + eax*4], edx
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x80]
lea ecx, [eax + ecx*4]
push ecx
lea ecx, [ebp + 0x18]
push ecx
mov ecx, dword [esi + 0x88]
lea eax, [eax + ecx*4]
push eax
push dword [ebp - 0x18]
mov ecx, esi
call fcn.0068158b
mov ebx, eax
cmp ebx, edi
jl 0x68e400
cmp dword [esi + 0x110], edi
jne 0x68dcac
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + eax*4]
cmp eax, 0xffffffff
je 0x68dcac
cmp eax, dword [ebp - 0x58]
je 0x68dcac
lea ecx, [ebp - 0x28]
push ecx
push eax
mov ecx, esi
call fcn.0067aea2
test eax, eax
jl 0x68dca6
cmp dword [ebp - 0x28], edi
je 0x68dcac
mov dword [ebp - 0xc0], edi
mov eax, dword [ebp - 0x88]
xor ecx, ecx
cmp dword [esi + 0x100], edi
jbe 0x68dd0d
mov edx, dword [ebp - 0x8c]
sub edx, eax
mov dword [ebp + 0x14], edx
mov edx, dword [ebp - 0x84]
sub edx, eax
mov dword [ebp + 0x18], edx
mov edx, dword [esi + 0xfc]
mov edx, dword [edx + ecx*4]
mov ebx, dword [ebp + 0x14]
mov dword [ebx + eax], edx
mov edx, dword [esi + 0x104]
mov edx, dword [edx + ecx*4]
mov ebx, dword [esi + 0x18]
mov edx, dword [ebx + edx*4]
mov dword [eax], edx
mov ebx, dword [esi + 0x18]
mov edx, dword [esi + 0x38]
mov edx, dword [ebx + edx*4]
mov ebx, dword [ebp + 0x18]
mov dword [ebx + eax], edx
inc ecx
add eax, 4
cmp ecx, dword [esi + 0x100]
jb 0x68dcd2
push dword [esi + 0x100]
mov ecx, esi
push dword [ebp - 0x80]
call fcn.0055719a
mov ebx, eax
cmp ebx, edi
jl 0x68e400
mov eax, dword [ebp + 0x10]
cmp eax, edi
jne 0x68dd31
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x100]
push edi
push edi
push edi
push edi
push edi
push dword [ebp - 0x88]
and ecx, 0xfffff
push dword [ebp - 0x80]
or ecx, 0x10000000
push ecx
push eax
mov ecx, esi
call fcn.0067b74b
mov ebx, eax
cmp ebx, edi
jl 0x68e400
cmp dword [esi + 0x100], edi
mov dword [ebp + 0x18], edi
jbe 0x68de0b
mov ebx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x88]
sub eax, ebx
mov dword [ebp + 0x14], eax
jmp 0x68dd86
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 8]
push edi
push 0x4000000
push dword [eax + ebx]
call fcn.006b5351
test eax, eax
je 0x68dda9
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x2ac4]
jmp 0x68ddd5
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 8]
push edi
push 0x200000
push dword [eax + ebx]
call fcn.006b5351
test eax, eax
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x1c]
je 0x68ddcf
mov eax, dword [eax + 0x2ab4]
jmp 0x68ddd5
mov eax, dword [eax + 0x2a80]
mov ecx, dword [ebx]
mov ecx, dword [edx + ecx*4]
mov dword [ecx + 8], eax
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx + ebx]
push dword [eax + ecx*4]
mov ecx, dword [ebx]
mov ecx, dword [eax + ecx*4]
call fcn.006b863e
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
add ebx, 4
cmp eax, dword [esi + 0x100]
jb 0x68dd83
mov eax, dword [ebp - 0x6c]
mov dword [esi + 0x90], eax
mov eax, dword [ebp + 0x10]
cmp eax, edi
mov dword [esi + 0x94], 1
jne 0x68de28
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x100]
push edi
push edi
push edi
push edi
push edi
push dword [ebp - 0x80]
and ecx, 0xfffff
push dword [ebp - 0x78]
or ecx, 0x11400000
push ecx
push eax
mov ecx, esi
call fcn.0067b74b
mov ebx, eax
cmp ebx, edi
jl 0x68e400
cmp dword [esi + 0x100], edi
mov dword [ebp + 0x18], edi
jbe 0x68df1f
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x78]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x88]
sub eax, ebx
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 8]
push edi
add eax, ebx
push 2
push dword [eax]
call fcn.006b5351
test eax, eax
jne 0x68dea5
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x2a6c]
jmp 0x68deca
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 8]
push edi
push 0x200000
add eax, ebx
push dword [eax]
call fcn.006b5351
test eax, eax
mov eax, dword [esi + 8]
je 0x68ded4
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x2aac]
mov ecx, dword [ebx]
mov ecx, dword [edx + ecx*4]
mov dword [ecx + 8], eax
jmp 0x68deec
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebx]
add ecx, ebx
mov ecx, dword [ecx]
mov ecx, dword [eax + ecx*4]
mov eax, dword [eax + edx*4]
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x58]
mov eax, dword [eax + 0x1c]
add ecx, ebx
mov ecx, dword [ecx + edx]
push dword [eax + ecx*4]
mov ecx, dword [ebx]
mov ecx, dword [eax + ecx*4]
call fcn.006b863e
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
add ebx, 4
cmp eax, dword [esi + 0x100]
jb 0x68de81
push dword [esi + 0x100]
mov ecx, esi
push dword [ebp - 0x74]
call fcn.0055719a
mov ebx, eax
cmp ebx, edi
jl 0x68e400
mov eax, dword [ebp + 0x10]
cmp eax, edi
jne 0x68df43
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x100]
push edi
push edi
push edi
push edi
push edi
push dword [ebp - 0x78]
and ecx, 0xfffff
push dword [ebp - 0x74]
or ecx, 0x10000000
push ecx
push eax
mov ecx, esi
call fcn.0067b74b
mov ebx, eax
cmp ebx, edi
jl 0x68e400
cmp dword [esi + 0x100], edi
mov dword [ebp + 0x14], edi
jbe 0x68dfdd
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0x78]
mov ebx, dword [ebp - 0x74]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x78]
sub eax, ebx
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x58]
lea ecx, [eax + ebx]
mov ecx, dword [ecx + edx]
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 8]
mov edx, dword [ebx]
mov eax, dword [eax + edx*4]
mov dword [eax + 8], ecx
mov ecx, dword [ebp + 0x18]
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
add ecx, ebx
mov ecx, dword [ecx]
push dword [eax + ecx*4]
mov ecx, dword [ebx]
mov ecx, dword [eax + ecx*4]
call fcn.006b863e
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
add ebx, 4
cmp eax, dword [esi + 0x100]
jb 0x68df92
mov eax, dword [esi + 0x100]
or dword [ebp + 0x14], 0xffffffff
cmp eax, edi
je 0x68e03c
mov ecx, dword [ebp + 0x10]
cmp ecx, edi
jne 0x68dff5
mov ecx, dword [ebp - 0x18]
mov edx, dword [esi + 8]
push edi
push edi
push dword [edx + 0x2aa8]
lea edx, [ebp + 0x14]
push dword [ebp - 0x84]
and eax, 0xfffff
push dword [ebp - 0x74]
or eax, 0x50500000
push dword [ebp - 0x8c]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0067b52e
mov ebx, eax
cmp ebx, edi
jl 0x68e400
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp + 0x14]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0xb4]
mov dword [esi + 0x90], eax
mov eax, dword [ebp - 0xa8]
mov dword [esi + 0x94], eax
xor eax, eax
cmp dword [esi + 0x100], edi
jbe 0x68e079
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x38]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ebp - 0x84]
mov dword [edx + eax*4], ecx
inc eax
cmp eax, dword [esi + 0x100]
jb 0x68e05e
mov eax, dword [ebp + 0x10]
cmp eax, edi
jne 0x68e083
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x100]
push edi
push edi
push edi
push edi
push dword [ebp - 0x84]
and ecx, 0xfffff
push dword [ebp - 0x8c]
or ecx, 0x24200000
push dword [ebp - 0x94]
push ecx
push eax
mov ecx, esi
call fcn.0067b74b
mov ebx, eax
cmp ebx, edi
jl 0x68e400
xor eax, eax
cmp dword [ebp - 0x40], edi
jbe 0x68e0d7
mov edx, dword [ebp + 0x1c]
mov edx, dword [edx + eax*4]
mov ecx, dword [esi + 0x18]
mov dword [ecx + eax*4], edx
inc eax
cmp eax, dword [ebp - 0x40]
jb 0x68e0c5
cmp dword [esi + 0x100], edi
mov dword [ebp + 0x14], edi
jbe 0x68e199
mov ebx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
sub eax, ebx
mov dword [ebp - 8], eax
jmp 0x68e0fc
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 8]
push edi
push 0x4000000
push dword [eax + ebx]
call fcn.006b5351
test eax, eax
je 0x68e125
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x1c]
mov ecx, dword [ebx]
mov ecx, dword [edx + ecx*4]
mov eax, dword [eax + 0x2abc]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 8]
push edi
push 0x200000
push dword [eax + ebx]
call fcn.006b5351
test eax, eax
je 0x68e151
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x1c]
mov ecx, dword [ebx]
mov ecx, dword [edx + ecx*4]
mov eax, dword [eax + 0x2aac]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x104]
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebx]
mov dword [ecx + eax*4], edx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xfc]
mov edx, dword [ebp + 0x14]
mov ecx, dword [ecx + edx*4]
mov eax, dword [eax + 0x1c]
push dword [eax + ecx*4]
mov ecx, dword [ebx]
mov ecx, dword [eax + ecx*4]
call fcn.006b863e
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
add ebx, 4
cmp eax, dword [esi + 0x100]
jb 0x68e0f9
cmp dword [esi + 0x100], edi
mov dword [ebp + 0x18], edi
jbe 0x68e2bd
mov ebx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x94]
sub eax, ebx
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [ebx + eax]
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx]
mov ecx, dword [ebx]
mov dword [ebp + 0x14], edx
mov edx, dword [edx + 4]
shl ecx, 6
add ecx, dword [ebp - 0x68]
and eax, 0x80000000
and edx, 0x1ff
or eax, edx
mov dword [ebp - 0x14], ecx
je 0x68e2a5
cmp dword [ebp - 0x38], edi
jne 0x68e246
mov eax, dword [ebx]
cmp eax, dword [esi + 0x80]
je 0x68e246
push edi
fld qword [0x441ff0]
push edi
push edi
push edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push edi
push 0x7fffffff
push 0xffffffffffffffff
push 0x80000000
push edi
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x441fe8]
fstp qword [esp]
call fcn.006b7ed2
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x54]
lea eax, [ecx + eax*8]
mov ecx, dword [eax + 4]
and dword [eax], 0xfffff582
mov dword [eax + 4], ecx
push dword [ebp - 0x14]
mov ecx, dword [ebp + 0x14]
call fcn.006b8291
mov ebx, eax
cmp ebx, edi
jl 0x68e400
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x30]
cmp ecx, dword [eax + 0x38]
jne 0x68e279
mov ecx, dword [eax + 0x34]
cmp ecx, dword [eax + 0x3c]
jne 0x68e279
mov eax, dword [ebp + 0x14]
or dword [eax], 0x7800
jmp 0x68e288
mov eax, dword [ebp + 0x14]
and dword [eax], 0xfffff7ff
or dword [eax], 0x7000
mov ecx, dword [eax + 4]
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x54]
mov ebx, dword [ecx + edx*8]
or dword [eax], ebx
mov ecx, dword [ecx + edx*8 + 4]
or dword [eax + 4], ecx
mov ebx, dword [ebp + 0x1c]
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
add ebx, 4
cmp eax, dword [esi + 0x100]
mov dword [ebp + 0x1c], ebx
jb 0x68e1bc
cmp dword [ebp - 0x10], edi
je 0x68e301
cmp dword [ebp - 0x20], edi
je 0x68e301
mov eax, dword [ebp - 0xc8]
cmp eax, 0xffffffff
je 0x68e301
mov ecx, dword [esi + 0x18]
lea eax, [ecx + eax*4]
cmp dword [eax], 0xffffffff
je 0x68e301
push edi
push edi
push edi
push edi
push edi
lea ecx, [ebp - 0xa0]
push ecx
push eax
push 0x10000001
push dword [ebp + 0x10]
mov ecx, esi
call fcn.0067b74b
test eax, eax
jl 0x68e3b4
mov ebx, dword [ebp - 0x2c]
jmp 0x68e313
push ebx
mov ecx, esi
call fcn.0067ec56
test eax, eax
jne 0x68e31d
inc ebx
mov eax, dword [esi + 8]
cmp ebx, dword [eax + 0x10]
jb 0x68e306
jmp 0x68e35a
cmp dword [ebp + 0x20], edi
je 0x68e353
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + ebx*4]
push 0x442748
push 0xdc7
push dword [eax + 0x40]
push esi
call fcn.0067afcf
lea eax, [esi + 0xec]
mov ecx, dword [eax]
and ecx, 0xfffffffc
add esp, 0x10
or ecx, 4
mov dword [eax], ecx
jmp 0x68e3b4
mov ecx, esi
call fcn.0067973d
cmp dword [esi + 0xd0], edi
je 0x68e388
mov eax, dword [esi + 0xd8]
mov dword [ebp - 0xb0], eax
lea eax, [esi + 0xec]
mov ecx, dword [eax]
and ecx, 0xfffffffc
or ecx, 4
mov dword [ebp - 0xac], 1
mov dword [eax], ecx
cmp dword [ebp - 0x5c], edi
je 0x68e3a7
mov eax, dword [esi + 0xec]
and eax, 7
cmp al, 2
jne 0x68e3a7
test word [esi + 0x14], 0x400
jne 0x68e3a7
cmp dword [ebp + 0x20], edi
je 0x68e3b4
mov eax, dword [esi + 0xec]
and eax, 7
cmp al, 1
jne 0x68e3bb
mov ebx, 0x80004005
jmp 0x68e400
cmp dword [ebp - 0xc4], edi
je 0x68e3f7
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x38]
mov ecx, dword [esi + 0x24]
test byte [ecx + eax*4], 0x80
jne 0x68e3f7
push 0x4426f8
push 0xded
push dword [ebp - 0x1c]
push esi
call fcn.0067b049
mov eax, dword [ebx + 0x38]
mov ecx, dword [esi + 0x24]
lea eax, [ecx + eax*4]
add esp, 0x10
or dword [eax], 0x80
xor ebx, ebx
jmp 0x68e400
mov ebx, 0x8007000e
push dword [esi + 0xfc]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [esi + 0x104]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0xcc]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 0xdc]
push dword [ebp - 0xbc]
mov dword [esi + 0xfc], eax
mov eax, dword [ebp - 0xd4]
mov dword [esi + 0x100], eax
mov eax, dword [ebp - 0xf4]
mov dword [esi + 0x104], eax
mov eax, dword [esi + 0x38]
mov dword [ecx + eax*4], edx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x34]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x54]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x50]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x68]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x70]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0xb4]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 0xec]
mov dword [esi + 0x90], eax
mov eax, dword [ebp - 0xa8]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x88]
mov dword [ecx + eax*4], edx
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 0xe4]
mov dword [ecx + eax*4], edx
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 0xd0]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0xd8]
add esp, 0x20
dec dword [esi + 0xac]
cmp dword [ebp - 0xa4], edi
mov dword [esi + 0x130], eax
mov eax, dword [ebp - 0xe0]
mov dword [esi + 0x134], eax
je 0x68e4f6
dec dword [esi + 0xb0]
mov eax, dword [ebp - 0x4c]
mov dword [esi + 0xcc], eax
mov eax, dword [ebp - 0xac]
mov dword [esi + 0xd0], eax
mov eax, dword [ebp - 0xe8]
mov dword [esi + 0xd4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esi + 0xd8], eax
mov eax, dword [ebp - 0xb8]
mov dword [esi + 0xe8], eax
mov eax, dword [ebp - 0xc0]
mov dword [esi + 0xbc], eax
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret 0x1c