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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xd0
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 4]
mov ebx, dword [eax + 0x20]
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0xfc]
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + 0x100]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + 0x104]
mov dword [ebp - 0xcc], eax
mov eax, dword [esi + 0x90]
mov dword [ebp - 0x44], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x34], ecx
mov ecx, dword [esi + 0x88]
mov dword [ebp - 0x50], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
mov ecx, dword [esi + 0x8c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [esi + 0x78]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov eax, dword [esi + 0x110]
push edi
xor edi, edi
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x20]
add ebx, 0xb
mov dword [ebp - 0xc0], eax
xor ecx, ecx
push 4
pop edx
mov eax, ebx
mul edx
seto cl
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x88], edi
neg ecx
or ecx, eax
push ecx
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x7c], edi
mov dword [esi + 0xfc], edi
mov dword [esi + 0x104], edi
mov dword [esi + 0x100], edi
mov dword [esi + 0x20], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x58], edi
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
mov dword [ebp - 0x28], eax
je 0x6a0aba
mov ecx, ebx
shl ecx, 2
push ecx
push dword [esi + 0x18]
push eax
call sub.msvcrt.dll_memcpy
mov ebx, dword [ebp + 8]
add esp, 0xc
push edi
push edi
push edi
push 0x442470
push ebx
mov ecx, esi
call fcn.0067b1f7
push edi
push edi
push edi
push 0x442468
push ebx
mov ecx, esi
mov dword [ebp - 0x1c], eax
call fcn.0067b1f7
push edi
push edi
push edi
push 0x442ca4
push ebx
mov ecx, esi
mov dword [ebp - 0x3c], eax
call fcn.0067b1f7
push edi
push edi
push edi
push 0x409090
push ebx
mov ecx, esi
mov dword [ebp - 0x70], eax
call fcn.0067b1f7
xor ecx, ecx
cmp eax, edi
setne cl
mov dword [ebp - 0x6c], eax
xor eax, eax
cmp dword [ebp - 0x70], edi
mov dword [ebp - 4], 1
setne al
add ecx, eax
xor eax, eax
cmp dword [ebp - 0x3c], edi
setne al
add ecx, eax
xor eax, eax
cmp dword [ebp - 0x1c], edi
setne al
add eax, ecx
cmp eax, 1
jbe 0x69f4e9
push 0x442c64
push 0xdc4
push ebx
push esi
call fcn.0067afcf
add esp, 0x10
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x6c], edi
cmp dword [ebp - 0x1c], edi
jne 0x69f4f3
cmp dword [ebp - 0x3c], edi
je 0x69f4f6
mov dword [ebp - 4], edi
cmp dword [ebp - 0x6c], edi
je 0x69f501
mov dword [esi + 0x110], edi
lea eax, [ebp - 0xb0]
push eax
push dword [ebp + 0x14]
mov ecx, esi
call fcn.0067a283
test eax, eax
jl 0x69f519
mov dword [ebp - 4], edi
push 1
lea eax, [ebp + 0x14]
push eax
push edi
mov ecx, esi
call fcn.00683e1b
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], edi
jmp 0x69f5a1
mov ecx, dword [ebx + 8]
mov eax, dword [ecx + 0x1c]
jmp 0x69f54a
inc dword [ebp - 8]
mov eax, dword [eax + 0xc]
cmp eax, edi
jne 0x69f544
mov eax, dword [ecx + 0x20]
cmp eax, edi
mov dword [ebp - 0xc], edi
je 0x69f585
mov edx, dword [eax + 8]
cmp edx, edi
je 0x69f579
cmp dword [edx + 4], 0xc
jne 0x69f579
mov edx, dword [edx + 0x14]
cmp edx, 1
je 0x69f572
cmp edx, 0xa
jne 0x69f579
mov dword [ebp - 0xc], 1
mov eax, dword [eax + 0xc]
cmp eax, edi
jne 0x69f558
cmp dword [ebp - 0xc], edi
jne 0x69f59b
push 0x442c30
push 0xdcd
push dword [ecx + 0x34]
push esi
call fcn.0067afcf
add esp, 0x10
inc dword [ebp - 0x10]
mov ebx, dword [ebx + 0xc]
cmp ebx, edi
jne 0x69f53c
mov eax, dword [ebp - 0x10]
push 4
xor ecx, ecx
pop ebx
inc eax
mov edx, 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 - 0x80], eax
je 0x6a0aba
mov eax, dword [ebp - 8]
xor ecx, ecx
inc eax
mov edx, 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 - 0x38], eax
je 0x6a0aba
mov eax, dword [ebp - 8]
xor ecx, ecx
inc eax
mov edx, 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 - 0x24], eax
je 0x6a0aba
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov edx, 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 - 0x7c], eax
je 0x6a0aba
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov edx, 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 - 0x88], eax
je 0x6a0aba
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, 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 - 0x64], eax
je 0x6a0aba
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov edx, 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 - 0x74], eax
je 0x6a0aba
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, 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 - 0x84], eax
je 0x6a0aba
cmp dword [ebp - 4], edi
mov ecx, esi
je 0x6a081b
call fcn.00679c71
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x18]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
push 0x40
pop edx
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 - 0x5c], eax
je 0x6a0aba
mov eax, dword [ebp - 0x14]
xor ecx, ecx
push 8
pop edx
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 - 0x40], eax
je 0x6a0aba
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mul ebx
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 - 0x58], eax
je 0x6a0aba
xor ebx, ebx
cmp dword [ebp - 0x14], edi
mov dword [ebp - 0xc], ebx
jbe 0x69f823
mov eax, dword [ebp - 0x5c]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x58]
mov dword [eax + ebx*4], edi
mov eax, dword [esi + 0x18]
mov eax, dword [eax + ebx*4]
cmp eax, 0xffffffff
je 0x69f774
push dword [ebp + 8]
mov ecx, esi
push eax
call fcn.0067e786
test eax, eax
jge 0x69f7b6
push edi
fld qword [0x441ff0]
push edi
push edi
mov ecx, dword [ebp + 8]
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 ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov ebx, dword [ebp - 0xc]
mov eax, dword [esi + 0x18]
mov eax, dword [eax + ebx*4]
cmp eax, 0xffffffff
je 0x69f800
mov ecx, dword [esi + 8]
push edi
push 0x80000000
push eax
call fcn.006b5351
test eax, eax
jne 0x69f800
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 edx, dword [eax + 4]
mov eax, dword [ebp - 0x40]
and ecx, 0x8000027f
and edx, 0x1c1ff
mov dword [eax + ebx*8], ecx
mov dword [eax + ebx*8 + 4], edx
jmp 0x69f812
mov eax, dword [ebp - 0x40]
mov dword [eax + ebx*8], 0x8000027f
mov dword [eax + ebx*8 + 4], 0x1c1ff
add dword [ebp + 8], 0x40
inc ebx
cmp ebx, dword [ebp - 0x14]
mov dword [ebp - 0xc], ebx
jb 0x69f754
mov edx, dword [ebp + 0xc]
cmp edx, edi
mov eax, dword [esi + 0xe4]
mov dword [ebp - 0x60], eax
mov dword [esi + 0xe4], edi
mov dword [ebp - 0x48], edi
mov ecx, edx
je 0x69f863
mov eax, dword [ecx + 8]
mov eax, dword [eax + 0x1c]
jmp 0x69f858
mov ebx, dword [eax + 8]
cmp dword [ebx + 0x14], edi
jne 0x69f855
mov dword [ebp - 0x48], 1
mov eax, dword [eax + 0xc]
cmp eax, edi
jne 0x69f846
mov ecx, dword [ecx + 0xc]
cmp ecx, edi
jne 0x69f83e
cmp edx, edi
mov dword [ebp - 0x2c], 1
mov eax, edx
mov dword [ebp - 0x54], edx
je 0x69fa67
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x14], edi
jbe 0x69f896
mov edx, dword [ebp - 0x28]
mov edx, dword [edx + eax*4]
mov ecx, dword [esi + 0x18]
mov dword [ecx + eax*4], edx
inc eax
cmp eax, dword [ebp - 0x14]
jb 0x69f884
or dword [ebp + 8], 0xffffffff
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax + ecx*4]
cmp dword [eax + 0x28], 0xffffffff
je 0x69f967
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x1c]
xor edx, edx
jmp 0x69f8f3
mov ecx, dword [eax + 8]
mov ecx, dword [ecx + 0x14]
cmp ecx, edi
jne 0x69f8cd
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], edi
jmp 0x69f8ed
cmp edx, edi
jne 0x69f8da
mov edx, dword [ecx + 0x20]
mov dword [ebp - 4], edx
mov dword [ebp - 0x20], edx
mov ecx, dword [ecx + 0x20]
cmp dword [ebp - 0x20], ecx
jbe 0x69f8e5
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 4], ecx
jae 0x69f8ed
mov dword [ebp - 4], ecx
mov eax, dword [eax + 0xc]
xor edx, edx
inc edx
cmp eax, edi
jne 0x69f8ba
push edi
push edi
push edi
push edi
push edi
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 8]
push eax
mov eax, dword [ebp - 0x1c]
push 0x10000001
push dword [eax + 0x20]
mov ecx, esi
call fcn.0067b74b
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov ecx, dword [esi + 8]
push edi
push dword [ebp - 4]
push edi
push dword [ebp - 0x20]
push dword [ebp + 8]
call fcn.006d1744
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x2c], ecx
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x28]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp + 8]
mov dword [ecx + eax*4], edx
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.00679c55
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x18]
mov dword [edx + ecx*4], eax
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x18]
or dword [ecx + eax*4], 0xffffffff
mov eax, dword [ebp - 0x1c]
push edi
push edi
push edi
push dword [eax + 0x20]
mov ecx, esi
call fcn.006a1aef
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x28]
cmp eax, 0xffffffff
je 0x69f9d4
mov edx, dword [esi + 0x18]
lea eax, [edx + eax*4]
mov edx, dword [eax]
cmp edx, dword [ebp + 8]
jne 0x69f9d4
mov dword [eax], ecx
xor ecx, ecx
cmp dword [ebp - 0x14], edi
mov dword [ebp - 0xc], ecx
jbe 0x69fa24
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x58]
sub eax, ebx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx]
cmp eax, 0xffffffff
je 0x69fa15
mov edx, dword [esi + 0x18]
cmp dword [edx + ecx*4], eax
je 0x69fa15
mov ecx, dword [esi + 8]
push edi
push 0x8000000
push eax
call fcn.006b5351
test eax, eax
jne 0x69fa15
mov eax, dword [ebp - 0x1c]
mov dword [eax + ebx], 1
mov ecx, dword [ebp - 0xc]
inc ecx
add ebx, 4
cmp ecx, dword [ebp - 0x14]
mov dword [ebp - 0xc], ecx
jb 0x69f9e9
cmp dword [ebp - 0x2c], edi
je 0x69fa33
cmp dword [ebp - 0x48], edi
je 0x69fa33
xor eax, eax
inc eax
jmp 0x69fa35
xor eax, eax
push dword [ebp - 0x5c]
mov ecx, esi
push dword [ebp - 0x40]
push dword [esi + 0x18]
push eax
push dword [ebp - 0x14]
call fcn.0067f459
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0xc]
cmp eax, edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x54], eax
jne 0x69f877
mov eax, dword [ebp - 0x60]
mov dword [esi + 0xe4], eax
xor ebx, ebx
xor eax, eax
cmp dword [ebp - 0x14], edi
jbe 0x69fa8d
mov ecx, dword [ebp - 0x58]
cmp dword [ecx + eax*4], edi
je 0x69fa87
cmp eax, dword [esi + 0x38]
je 0x69fa87
inc ebx
inc eax
cmp eax, dword [ebp - 0x14]
jb 0x69fa79
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 0x6a0aba
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 0x6a0aba
mov eax, ebx
shl eax, 2
xor ecx, ecx
push 4
pop edx
mov dword [ebp + 8], eax
mul edx
seto cl
mov dword [esi + 0x100], ebx
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 - 0x78], eax
je 0x6a0aba
push dword [ebp + 8]
mov ecx, esi
push eax
call fcn.0055719a
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov dword [ebp + eax*4 - 0xa8], ecx
add ecx, dword [ebp + 8]
inc eax
cmp eax, 4
jb 0x69fb1f
or dword [ebp - 0x54], 0xffffffff
cmp dword [ebp - 0x14], edi
mov dword [ebp - 4], edi
mov dword [ebp + 8], edi
jbe 0x69fbea
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0xa8]
sub ebx, dword [ebp - 0xa0]
sub eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xa0]
sub eax, edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x20], eax
jmp 0x69fb75
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
cmp dword [ecx + eax], edi
je 0x69fbdc
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 0x38]
je 0x69fbdc
mov eax, dword [ebp - 0x20]
add eax, edx
mov edx, dword [ebp + 8]
mov dword [eax + ebx], edx
mov ebx, dword [ecx]
mov edx, dword [ebp - 0xc]
mov dword [edx], ebx
mov ebx, dword [ecx]
mov dword [eax], ebx
mov eax, dword [esi + 0x18]
mov ebx, dword [ebp + 8]
cmp dword [eax + ebx*4], 0xffffffff
je 0x69fbc0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ebx, dword [ecx]
mov ebx, dword [eax + ebx*4]
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x2a50]
cmp eax, dword [ebx + 8]
jne 0x69fbc5
mov eax, dword [esi + 0x48]
mov dword [edx], eax
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 0x34]
jne 0x69fbd3
mov eax, dword [ebp - 4]
mov dword [ebp - 0x54], eax
inc dword [ebp - 4]
add edx, 4
mov dword [ebp - 0xc], edx
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
add ecx, 4
cmp eax, dword [ebp - 0x14]
jb 0x69fb72
push dword [ebp - 0x28]
mov eax, dword [ebp - 4]
push dword [ebp - 0x18]
mov ecx, esi
push dword [ebp - 0x34]
mov dword [esi + 0x100], eax
call fcn.0067af07
cmp dword [esi + 0x100], edi
mov dword [ebp + 8], edi
jbe 0x69fcf5
mov ebx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xa0]
sub eax, ebx
sub ecx, ebx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], ecx
mov eax, dword [esi + 0x48]
cmp dword [ebx], eax
jne 0x69fcdc
mov ecx, dword [esi + 8]
test byte [ecx + 0x9c], 2
je 0x69fc82
mov edx, dword [ecx + 0x1c]
push dword [edx + eax*4]
call fcn.006b58fd
mov dword [ebx], eax
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x1c]
mov eax, dword [edx + eax*4]
mov ecx, dword [ecx + 0x2ad0]
mov dword [eax + 8], ecx
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebx]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x18], edi
mov eax, dword [esi + 8]
mov ecx, dword [ebx]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x1c], edi
jmp 0x69fc9e
test dword [ecx + 0x98], 0x200000
jne 0x69fc91
mov eax, dword [esi + 0x6c]
mov edx, dword [ecx + 0x1c]
push dword [edx + eax*4]
call fcn.006b58fd
mov dword [ebx], eax
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebx + ecx]
push dword [eax + ecx*4]
mov ecx, dword [ebx]
mov ecx, dword [eax + ecx*4]
call fcn.006b863e
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + ebx]
mov ecx, dword [ebx]
mov edx, dword [ebp - 0x28]
mov dword [edx + eax*4], ecx
mov eax, dword [esi + 8]
mov ecx, dword [ebx]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + ebx]
mov dword [eax + 0x28], ecx
mov ecx, dword [ebp - 0x20]
or dword [ebx + ecx], 0xffffffff
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
add ebx, 4
cmp eax, dword [esi + 0x100]
jb 0x69fc2e
or dword [ebp - 0x8c], 0xffffffff
push edi
push edi
push edi
push edi
push edi
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x8c]
push eax
push 0x11600001
push dword [ebp + 0x10]
mov ecx, esi
call fcn.0067b74b
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x2a88]
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ecx + edx*4]
push edi
push edi
push edi
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x8c]
push edi
push edi
push dword [ebp - 0xa4]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x100]
push dword [ebp - 0xa0]
and eax, 0xfffff
or eax, 0x11500000
push eax
push dword [ebp + 0x10]
mov ecx, esi
mov dword [esi + 0x94], 1
call fcn.0067b74b
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
cmp dword [esi + 0x100], edi
mov dword [ebp + 8], edi
jbe 0x69fe65
mov eax, dword [ebp - 0xa8]
sub eax, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0xa0]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xa4]
sub eax, ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov ecx, dword [esi + 8]
push edi
add eax, ebx
push 0x4000000
push dword [eax]
call fcn.006b5351
test eax, eax
je 0x69fddf
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x2ac4]
jmp 0x69fe0c
mov eax, dword [ebp - 4]
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 0x69fe06
mov eax, dword [eax + 0x2ab4]
jmp 0x69fe0c
mov eax, dword [eax + 0x2a80]
mov ecx, dword [ebx]
mov ecx, dword [edx + ecx*4]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 4]
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 - 4]
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi + 0x104]
add eax, ebx
mov eax, dword [eax + edx]
mov edx, dword [ebp + 8]
inc dword [ebp + 8]
mov dword [ecx + edx*4], eax
mov eax, dword [esi + 0xfc]
mov ecx, dword [ebx]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp + 8]
add ebx, 4
cmp eax, dword [esi + 0x100]
jb 0x69fdb8
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]
mov dword [edx + ecx*4], eax
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x38]
push edi
push edi
lea eax, [ecx + eax*4]
mov ecx, dword [esi + 8]
push dword [ecx + 0x2aa8]
mov ecx, esi
push edi
push edi
push eax
push eax
push 0x11500001
push dword [ebp + 0x10]
call fcn.0067b52e
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov eax, dword [esi + 0x108]
mov dword [ebp - 0xbc], eax
mov eax, dword [esi + 0x10c]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], edi
mov dword [esi + 0x108], 1
mov dword [esi + 0x10c], edi
jmp 0x6a0365
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x18]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x38]
mov eax, dword [ecx + eax*4]
xor ecx, ecx
cmp dword [ebp - 0x14], edi
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xc], ecx
jbe 0x69ff2b
mov ebx, dword [ebp - 0x28]
mov edx, dword [esi + 0x18]
shl ecx, 2
mov ebx, dword [ecx + ebx]
mov dword [ecx + edx], ebx
mov ecx, dword [ebp - 0xc]
inc ecx
cmp ecx, dword [ebp - 0x14]
mov dword [ebp - 0xc], ecx
jb 0x69ff10
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x18]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
cmp eax, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], eax
je 0x6a004f
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 8]
lea ecx, [edx + ecx*4]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0xc], ecx
jmp 0x69ff61
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
cmp eax, edi
mov dword [ebp - 0x4c], eax
je 0x69ffe5
mov ecx, dword [esi + 8]
push 8
push 0x800
push edi
push dword [eax + 0x20]
push edi
push edi
push dword [ecx + 0x2a54]
call fcn.006b57cb
mov ecx, dword [esi + 0x18]
push edi
push edi
mov dword [ebp - 0x68], eax
mov eax, dword [esi + 0x38]
lea eax, [ecx + eax*4]
mov ecx, dword [esi + 8]
push dword [ecx + 0x2aa8]
lea ecx, [ebp - 0x68]
push edi
push ecx
push eax
push eax
push 0x24400001
push dword [ebp - 0x30]
mov ecx, esi
call fcn.0067b52e
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
cmp dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x20]
jne 0x69ffd3
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x1c], eax
jmp 0x6a001d
cmp dword [ebp - 0x1c], eax
jbe 0x69ffdb
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x3c], eax
jae 0x6a001d
mov dword [ebp - 0x3c], eax
jmp 0x6a001d
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x38]
push edi
push edi
lea eax, [ecx + eax*4]
mov ecx, dword [esi + 8]
push dword [ecx + 0x2aa8]
mov ecx, esi
push edi
push eax
push eax
push eax
push 0x24400001
push dword [ebp - 0x30]
call fcn.0067b52e
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
or dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x1c], edi
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0xc]
mov dword [ebx + eax], edx
mov edx, dword [ebp - 8]
inc dword [ebp - 8]
mov dword [eax], edx
mov ecx, dword [ecx + 0xc]
add eax, 4
cmp ecx, edi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x30], ecx
jne 0x69ff5e
or dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax + ecx*4]
cmp dword [eax + 0x28], 0xffffffff
je 0x6a00d5
push edi
push edi
push edi
push edi
push edi
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp + 8]
push 0x10000001
push dword [eax + 0x20]
mov ecx, esi
call fcn.0067b74b
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov ecx, dword [esi + 8]
push edi
push dword [ebp - 0x3c]
push edi
push dword [ebp - 0x1c]
push dword [ebp - 4]
call fcn.006d1744
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x2c], ecx
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x28]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 4]
mov dword [ecx + eax*4], edx
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x38]
or dword [ebp - 0x20], 0xffffffff
push edi
push edi
push edi
push edi
push edi
lea eax, [ecx + eax*4]
push eax
lea eax, [ebp - 0x20]
push eax
push 0x11800001
push dword [ebp + 8]
mov ecx, esi
call fcn.0067b74b
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
cmp dword [ebp - 0x70], edi
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x1c]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ecx + edx*4]
mov eax, dword [eax + 0x2a88]
mov dword [ecx + 8], eax
je 0x6a0136
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
or dword [eax + 4], 0x20000
mov dword [eax], ecx
cmp dword [ebp - 0x6c], edi
je 0x6a0152
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
or dword [eax + 4], 0x40000
mov dword [eax], ecx
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
inc dword [ebp - 0x10]
mov dword [ebp - 0x68], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x90], eax
mov eax, dword [ebp - 0x80]
mov dword [esi + 0x94], 1
mov dword [eax + ecx*4], edx
mov ecx, esi
call fcn.00679c71
mov ecx, dword [esi + 0x78]
mov ebx, dword [esi + 0x18]
mov dword [ebx + ecx*4], eax
mov ecx, esi
call fcn.00679c55
mov ecx, dword [esi + 0x88]
mov ebx, dword [esi + 0x18]
mov dword [ebx + ecx*4], eax
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x8c]
or dword [ecx + eax*4], 0xffffffff
push edi
push edi
push edi
push dword [edx + 0x20]
mov ecx, esi
call fcn.006a1aef
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x28]
xor ebx, ebx
cmp eax, 0xffffffff
mov dword [ebp - 0x4c], edi
je 0x6a01f5
mov edx, dword [esi + 0x18]
lea eax, [edx + eax*4]
mov edx, dword [eax]
cmp edx, dword [ebp - 4]
jne 0x6a01f5
mov dword [eax], ecx
mov ecx, dword [esi + 0x18]
lea eax, [ebp - 0x60]
push eax
mov eax, dword [esi + 0x88]
push dword [ecx + eax*4]
mov ecx, esi
call fcn.0067aea2
test eax, eax
jl 0x6a021c
cmp dword [ebp - 0x60], edi
je 0x6a021c
mov dword [ebp - 0x4c], 1
mov ecx, dword [esi + 0x18]
lea eax, [ebp - 0x60]
push eax
mov eax, dword [esi + 0x80]
push dword [ecx + eax*4]
mov ecx, esi
call fcn.0067aea2
test eax, eax
jl 0x6a023f
cmp dword [ebp - 0x60], edi
je 0x6a023f
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x4c], edi
jne 0x6a026b
cmp ebx, edi
jne 0x6a0273
mov eax, dword [ebp + 8]
push 0x442bfc
push 0xdd1
push dword [eax + 0x34]
push esi
call fcn.0067afcf
add esp, 0x10
mov ebx, 0x80004005
jmp 0x6a0abf
cmp ebx, edi
je 0x6a0313
cmp dword [esi + 0x110], edi
je 0x6a02f7
cmp dword [ebp - 0x54], 0xffffffff
je 0x6a0261
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x18]
or dword [ebp - 0x18], 0xffffffff
push edi
push edi
push dword [eax + 0x2ab4]
mov eax, dword [esi + 0x34]
push edi
push edi
lea eax, [ecx + eax*4]
push eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp + 8]
push 0x10000001
push dword [eax + 0x34]
mov ecx, esi
call fcn.0067b52e
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x38]
mov edx, dword [ebp - 0x54]
push edi
lea eax, [ecx + eax*4]
mov ecx, dword [esi + 8]
push edi
push dword [ecx + 0x2aa8]
lea ecx, [ebp - 0x18]
push eax
push ecx
mov ecx, dword [esi + 0xfc]
lea ecx, [ecx + edx*4]
push ecx
push eax
mov eax, dword [ebp + 8]
push 0x50400001
push dword [eax + 0x34]
mov ecx, esi
call fcn.0067b52e
jmp 0x6a0309
cmp dword [ebp - 0x4c], edi
jne 0x6a0313
mov eax, dword [ebp + 8]
push dword [eax + 0x34]
mov ecx, esi
call fcn.0068a446
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov eax, dword [ebp - 0x68]
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x90], eax
mov eax, dword [ebp - 0x34]
push edi
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x38]
lea eax, [ecx + eax*4]
mov ecx, dword [esi + 8]
push edi
push dword [ecx + 0x2aa8]
lea ecx, [ebp - 0x98]
push edi
push ecx
push eax
push eax
mov eax, dword [ebp + 8]
push 0x24500001
push dword [eax + 0x34]
mov ecx, esi
call fcn.0067b52e
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0xc]
cmp eax, edi
mov dword [ebp - 0x2c], eax
jne 0x69feee
cmp dword [ebp - 0x48], edi
jne 0x6a053b
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x38]
mov eax, dword [ecx + eax*4]
xor ecx, ecx
cmp dword [ebp - 0x14], edi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], ecx
jbe 0x6a03aa
mov ebx, dword [ebp - 0x28]
mov edx, dword [esi + 0x18]
shl ecx, 2
mov ebx, dword [ecx + ebx]
mov dword [ecx + edx], ebx
mov ecx, dword [ebp - 0x18]
inc ecx
cmp ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
jb 0x6a038f
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x18]
mov dword [edx + ecx*4], eax
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x38]
push edi
push edi
lea eax, [ecx + eax*4]
mov ecx, dword [esi + 8]
push dword [ecx + 0x2aa8]
mov ecx, esi
push edi
push eax
push eax
push eax
push 0x24400001
push dword [ebp + 0x10]
call fcn.0067b52e
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
push 0x18
call fcn.005391c5
cmp eax, edi
je 0x6a03f8
mov ecx, eax
call fcn.006a7fb0
jmp 0x6a03fa
xor eax, eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x38]
or dword [ebp + 8], 0xffffffff
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x24]
push edi
push edi
mov dword [eax + ecx*4], ecx
mov eax, dword [esi + 0x38]
push edi
inc ecx
push edi
mov dword [ebp - 8], ecx
mov ecx, dword [esi + 0x18]
push edi
lea eax, [ecx + eax*4]
push eax
lea eax, [ebp + 8]
push eax
push 0x11800001
push dword [ebp + 0x10]
mov ecx, esi
call fcn.0067b74b
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
cmp dword [ebp - 0x70], edi
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x1c]
mov edx, dword [ebp + 8]
mov ecx, dword [ecx + edx*4]
mov eax, dword [eax + 0x2a88]
mov dword [ecx + 8], eax
je 0x6a046e
mov eax, dword [esi + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
or dword [eax + 4], 0x20000
mov dword [eax], ecx
cmp dword [ebp - 0x6c], edi
je 0x6a048a
mov eax, dword [esi + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
or dword [eax + 4], 0x40000
mov dword [eax], ecx
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x90], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x94], 1
mov dword [ecx + edx*4], eax
mov ecx, esi
call fcn.00679c55
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x18]
push dword [ebp + 0x10]
mov dword [edx + ecx*4], eax
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x8c]
or dword [ecx + eax*4], 0xffffffff
mov ecx, esi
call fcn.0068a446
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov eax, dword [ebp - 0x98]
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x90], eax
mov eax, dword [ebp - 0x68]
push edi
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x38]
push edi
lea eax, [ecx + eax*4]
mov ecx, dword [esi + 8]
push dword [ecx + 0x2aa8]
lea ecx, [ebp - 0x34]
push edi
push ecx
push eax
push eax
push 0x24500001
push dword [ebp + 0x10]
mov ecx, esi
call fcn.0067b52e
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x9c]
mov dword [esi + 0x108], eax
mov eax, dword [ebp - 0x90]
mov dword [esi + 0x10c], eax
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x90], eax
mov eax, dword [ebp - 0x50]
mov dword [esi + 0x94], eax
xor eax, eax
cmp dword [esi + 0x100], edi
jbe 0x6a058a
mov edx, dword [esi + 0x38]
mov ebx, dword [esi + 0x18]
mov edx, dword [ebx + edx*4]
mov dword [ecx + eax*4], edx
inc eax
cmp eax, dword [esi + 0x100]
jb 0x6a0575
mov eax, dword [esi + 0x100]
push edi
push edi
push edi
push edi
push ecx
push dword [esi + 0xfc]
and eax, 0xfffff
push dword [ebp - 0xa0]
or eax, 0x24300000
push eax
push dword [ebp + 0x10]
mov ecx, esi
call fcn.0067b74b
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
cmp dword [esi + 0x100], edi
mov dword [ebp + 0xc], edi
jbe 0x6a0773
mov ebx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa8]
sub eax, ebx
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0xfc]
mov ecx, dword [ebp + 0xc]
push edi
push 0x4000000
push dword [eax + ecx*4]
mov ecx, dword [esi + 8]
call fcn.006b5351
test eax, eax
je 0x6a060c
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x2abc]
jmp 0x6a063e
mov eax, dword [esi + 0xfc]
mov ecx, dword [ebp + 0xc]
push edi
push 0x200000
push dword [eax + ecx*4]
mov ecx, dword [esi + 8]
call fcn.006b5351
test eax, eax
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x1c]
je 0x6a0638
mov eax, dword [eax + 0x2aac]
jmp 0x6a063e
mov eax, dword [eax + 0x2a6c]
mov ecx, dword [ebx]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ebp + 0xc]
mov dword [ecx + 8], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xfc]
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
mov ecx, dword [esi + 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebx + eax]
mov edx, dword [ebx]
mov dword [ecx + eax*4], edx
mov eax, dword [esi + 8]
mov ecx, dword [ebx]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebx + ecx]
push edi
mov dword [eax + 0x28], ecx
mov ecx, dword [esi + 8]
push 0x4200000
push dword [ebx]
call fcn.006b5351
test eax, eax
jne 0x6a075e
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + eax]
mov edx, dword [ebp - 0x40]
mov eax, ecx
shl eax, 6
add eax, dword [ebp - 0x5c]
mov dword [ebp + 8], eax
mov eax, dword [edx + ecx*8]
mov ecx, dword [edx + ecx*8 + 4]
and eax, 0x80000000
and ecx, 0x1ff
or eax, ecx
jne 0x6a06de
push 0x442bc8
push edi
push edi
push esi
call fcn.0067afcf
add esp, 0x10
jmp 0x6a075e
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebx]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebx + ecx]
mov edx, dword [ebp - 0x40]
mov edx, dword [edx + ecx*8]
or dword [eax], edx
mov edx, dword [ebp - 0x40]
mov ecx, dword [edx + ecx*8 + 4]
or dword [eax + 4], ecx
mov eax, dword [esi + 8]
mov ecx, dword [ebx]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
push dword [ebp + 8]
mov dword [ebp - 0x18], ecx
call fcn.006b8291
test eax, eax
jge 0x6a072b
push 0x442b94
push edi
push edi
push esi
call fcn.0067afcf
add esp, 0x10
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
cmp ecx, dword [eax + 0x38]
jne 0x6a0749
mov ecx, dword [eax + 0x34]
cmp ecx, dword [eax + 0x3c]
jne 0x6a0749
mov eax, dword [ebp - 0x18]
or dword [eax], 0x7800
jmp 0x6a0758
mov eax, dword [ebp - 0x18]
and dword [eax], 0xfffff7ff
or dword [eax], 0x7000
mov ecx, dword [eax + 4]
mov dword [eax + 4], ecx
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
add ebx, 4
cmp eax, dword [esi + 0x100]
jb 0x6a05e0
cmp dword [ebp - 0x94], edi
je 0x6a0a29
cmp dword [esi + 0x110], edi
jne 0x6a0a29
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + eax*4]
cmp eax, 0xffffffff
je 0x6a0a29
lea ecx, [ebp + 0xc]
push ecx
push eax
mov ecx, esi
call fcn.0067aea2
test eax, eax
jl 0x6a07b9
cmp dword [ebp + 0xc], edi
je 0x6a0a29
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x74]
push dword [ebp + 0x10]
lea ecx, [eax + ecx*4]
mov edx, dword [ecx]
mov dword [ebp + 0xc], edx
mov edx, dword [esi + 0x80]
mov eax, dword [eax + edx*4]
mov dword [ecx], eax
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x94]
mov ecx, esi
mov dword [esi + 0x110], eax
call fcn.0069ee37
mov ebx, eax
cmp ebx, edi
jl 0x6a0abf
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp + 0xc]
mov dword [ecx + eax*4], edx
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp + 8]
mov dword [ecx + eax*4], edx
mov dword [esi + 0x110], edi
jmp 0x6a0a29
push dword [ebp - 0x28]
push dword [ebp - 0x18]
push dword [ebp - 0x34]
call fcn.0067af07
mov eax, dword [ebp + 0xc]
mov dword [ebp - 8], edi
jmp 0x6a0885
mov ecx, dword [eax + 8]
mov dword [ebp - 0x50], ecx
mov ecx, dword [ecx + 0x1c]
cmp ecx, edi
je 0x6a0882
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x64]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x24]
sub ebx, dword [ebp - 0x24]
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x44], ebx
jmp 0x6a085e
mov edx, dword [ebp - 0xc]
mov ebx, dword [ecx + 8]
mov dword [eax + edx], ebx
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x44]
inc dword [ebp - 8]
mov dword [eax], edx
mov edx, dword [ebp - 0x50]
mov dword [ebx + eax], edx
mov ecx, dword [ecx + 0xc]
add eax, 4
cmp ecx, edi
jne 0x6a085b
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
cmp eax, edi
mov dword [ebp + 0xc], eax
jne 0x6a0831
push dword [ebp - 0x38]
push dword [ebp - 8]
push dword [ebp - 0x24]
push 0x6795c7
call fcn.006b8c94
mov dword [ebp - 0x2c], 1
cmp dword [ebp - 8], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x48], edi
mov dword [ebp + 0xc], edi
jbe 0x6a0986
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x7c]
sub eax, edx
mov dword [ebp - 0xc], edx
sub dword [ebp - 0xc], ecx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x10]
jae 0x6a0986
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0xc]
lea edx, [edx + ebx*4]
mov ebx, dword [ebp - 0x50]
add eax, ecx
mov dword [eax + ebx], edx
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x24]
lea edx, [edx + ebx*4]
mov ebx, dword [ebp - 0x64]
mov dword [ebp - 0x44], edx
mov dword [ecx], edi
mov edx, dword [edx]
mov edx, dword [ebx + edx*4]
mov dword [eax], edx
mov edx, dword [ebp - 0x84]
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x44], edx
jmp 0x6a0924
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov ebx, dword [ebp - 0x38]
mov edx, dword [ebx + edx*4]
mov edx, dword [edx + 0x14]
cmp edx, edi
je 0x6a0940
mov edx, dword [edx + 0x20]
mov ebx, dword [ebp - 0x44]
mov dword [eax + ebx], edx
inc dword [ecx]
jmp 0x6a0949
xor edx, edx
inc edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x48], edx
inc dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
add eax, 4
cmp edx, dword [ebp - 8]
mov dword [ebp - 0x90], eax
jae 0x6a096d
mov edx, dword [eax - 4]
mov ebx, dword [eax]
mov eax, dword [ebp - 0x64]
mov edx, dword [eax + edx*4]
cmp edx, dword [eax + ebx*4]
je 0x6a091e
cmp dword [ebp - 0x18], edi
je 0x6a0974
mov dword [ecx], edi
mov eax, dword [ebp + 0xc]
inc dword [ebp - 4]
add ecx, 4
cmp eax, dword [ebp - 8]
jb 0x6a08cf
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x10], eax
jne 0x6a0996
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 8]
je 0x6a09b1
xor eax, eax
cmp dword [ebp - 8], edi
jbe 0x6a09a9
mov ecx, dword [ebp - 0x24]
mov dword [ecx + eax*4], eax
inc eax
cmp eax, dword [ebp - 8]
jb 0x6a099d
mov dword [ebp - 0x2c], edi
jmp 0x6a08a6
cmp dword [ebp - 0x48], edi
je 0x6a09b9
mov dword [ebp - 0x2c], edi
push dword [ebp - 0x48]
mov eax, dword [esi + 0x108]
push dword [ebp - 0x2c]
mov ecx, dword [esi + 0x18]
push dword [ebp - 4]
mov dword [ebp + 0xc], eax
push dword [ebp - 0x88]
mov eax, dword [esi + 0x10c]
push dword [ebp - 0x7c]
mov dword [ebp - 0x50], eax
push dword [ebp - 0x74]
mov eax, dword [esi + 0x8c]
or dword [ecx + eax*4], 0xffffffff
push edi
push edi
push edi
push edi
push dword [ebp + 0x14]
mov ecx, esi
push dword [ebp + 0x10]
mov dword [esi + 0x108], edi
push dword [ebp + 8]
mov dword [esi + 0x10c], edi
call fcn.006845c1
mov ebx, eax
cmp ebx, edi
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x108], eax
mov eax, dword [ebp - 0x50]
mov dword [esi + 0x10c], eax
jl 0x6a0abf
push dword [ebp - 0x38]
mov ebx, dword [ebp - 8]
push ebx
push dword [ebp - 0x24]
push 0x6795c7
call fcn.006b8c94
dec ebx
cmp ebx, edi
mov dword [ebp + 0x10], edi
mov dword [ebp + 0xc], ebx
jbe 0x6a0ab6
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x38]
shl ebx, 2
mov eax, dword [ebx + ecx]
mov ecx, dword [ebx + ecx + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [edx + ecx*4]
mov ecx, dword [eax + 0x14]
cmp ecx, edi
je 0x6a0a92
mov ebx, dword [edx + 0x14]
cmp ebx, edi
je 0x6a0a8e
mov ecx, dword [ecx + 0x20]
cmp ecx, dword [ebx + 0x20]
jne 0x6a0aab
push ecx
push 0x442b78
push 0xdcc
push eax
push esi
call fcn.0067afcf
add esp, 0x14
jmp 0x6a0aab
cmp ecx, edi
jne 0x6a0aab
cmp dword [edx + 0x14], edi
jne 0x6a0aab
push 0x442b48
push 0xdcc
push eax
push esi
call fcn.0067afcf
add esp, 0x10
inc dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
cmp eax, dword [ebp + 0xc]
jb 0x6a0a48
xor ebx, ebx
jmp 0x6a0abf
mov ebx, 0x8007000e
push dword [esi + 0xfc]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [esi + 0x104]
mov dword [esi + 0xfc], edi
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x78]
mov dword [esi + 0x104], edi
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x38]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x80]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x24]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x88]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x74]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x84]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x7c]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x64]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x5c]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x40]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x58]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0xd0]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 0xc4]
push dword [ebp - 0x28]
mov dword [esi + 0xfc], eax
mov eax, dword [ebp - 0xb4]
mov dword [esi + 0x100], eax
mov eax, dword [ebp - 0xcc]
mov dword [esi + 0x104], 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 - 0xb8]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 0xc8]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x78]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x94]
mov dword [esi + 0x110], eax
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 0x3c
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret 0x10