Function at 0x6a44c3
Capabilities:
Encrypt data using speck

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x180
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor ebx, ebx
cmp esi, ebx
mov edi, ecx
mov dword [ebp - 0x30], edi
jne 0x6a44ef
cmp dword [ebp + 0xc], ebx
jne 0x6a68b3
xor eax, eax
jmp 0x6a68b8
cmp dword [esi + 4], 0xe
jne 0x6a68b3
mov eax, dword [esi + 0x18]
imul eax, dword [esi + 0x1c]
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x24]
xor edx, edx
cmp eax, ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], ebx
je 0x6a4536
cmp dword [eax + 4], 0xe
jne 0x6a4536
mov edx, eax
mov dword [ebp - 0x14], eax
mov eax, dword [edx + 0x1c]
imul eax, dword [edx + 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x28]
cmp eax, ebx
je 0x6a4552
cmp dword [eax + 4], 0xe
jne 0x6a4552
mov ecx, eax
mov eax, dword [ecx + 0x1c]
imul eax, dword [ecx + 0x18]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x24], eax
cmp edx, ebx
je 0x6a4580
push dword [ebp - 0x10]
mov ecx, edi
call fcn.00679973
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x6a641a
push dword [ebp - 0x10]
mov ecx, edi
call fcn.00679973
cmp eax, ebx
mov dword [ebp - 0x70], eax
je 0x6a641a
cmp dword [ebp - 0xc], ebx
je 0x6a459a
push dword [ebp - 0x24]
mov ecx, edi
call fcn.00679973
cmp eax, ebx
mov dword [ebp - 0x18], eax
je 0x6a641a
mov eax, dword [esi + 0x20]
mov ecx, dword [ebp + 0x10]
xor edx, edx
inc edx
cmp eax, 0x1b
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
jg 0x6a45cd
cmp eax, 0x1a
jge 0x6a45c8
cmp eax, ebx
jl 0x6a45dd
cmp eax, edx
jle 0x6a45da
cmp eax, 3
jg 0x6a45dd
mov dword [ebp - 0x20], edx
jmp 0x6a45da
mov dword [ebp - 0x24], edx
jmp 0x6a45dd
sub eax, 0x1c
je 0x6a45d7
dec eax
jne 0x6a45dd
jmp 0x6a45da
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], ecx
cmp dword [esi + 0x2c], ebx
je 0x6a463d
cmp dword [ebp - 0x14], ebx
je 0x6a4607
push dword [ebp - 0x1c]
mov ecx, edi
push dword [ebp - 0x24]
push dword [ebp - 8]
push dword [ebp - 0x14]
call fcn.006a44c3
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov esi, dword [ebp + 8]
cmp dword [ebp - 0x20], ebx
je 0x6a462e
cmp dword [ebp - 0x14], ebx
je 0x6a462e
push ebx
push 1
push dword [ebp - 0x70]
mov ecx, edi
push dword [ebp - 0x14]
call fcn.006a44c3
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov esi, dword [ebp + 8]
cmp dword [ebp - 0xc], ebx
je 0x6a46aa
push ebx
push ebx
push dword [ebp - 0x18]
push dword [ebp - 0xc]
jmp 0x6a4696
cmp dword [ebp - 0xc], ebx
je 0x6a465e
push ebx
push ebx
push dword [ebp - 0x18]
mov ecx, edi
push dword [ebp - 0xc]
call fcn.006a44c3
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov esi, dword [ebp + 8]
cmp dword [ebp - 0x14], ebx
je 0x6a4683
push dword [ebp - 0x1c]
mov ecx, edi
push dword [ebp - 0x24]
push dword [ebp - 8]
push dword [ebp - 0x14]
call fcn.006a44c3
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov esi, dword [ebp + 8]
cmp dword [ebp - 0x20], ebx
je 0x6a46aa
cmp dword [ebp - 0x14], ebx
je 0x6a46aa
push ebx
push 1
push dword [ebp - 0x70]
push dword [ebp - 0x14]
mov ecx, edi
call fcn.006a44c3
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x20]
cmp eax, 0x21
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
ja case.default.0x6a46bf
mov ecx, dword [ebp + 0xc]
jmp dword [eax*4 + 0x6a68bf]
cmp dword [ebp - 0x14], ebx
je 0x6a4881
cmp ecx, ebx
je 0x6a46f5
cmp dword [ebp - 0x10], 1
jne 0x6a47ee
xor eax, eax
cmp dword [ebp - 4], ebx
jbe 0x6a46f8
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
mov edx, dword [ebp + 0xc]
mov dword [edx + eax*4], ecx
inc eax
cmp eax, dword [ebp - 4]
jb 0x6a46e4
cmp dword [ebp - 4], ebx
je 0x6a5e17
cmp dword [ebp - 0x20], ebx
je 0x6a5e17
cmp dword [ebp - 0x1c], ebx
je 0x6a5e17
or dword [ebp - 0x10], 0xffffffff
xor edx, edx
cmp dword [ebp - 4], ebx
mov dword [ebp + 0x10], ebx
mov dword [ebp - 0xc], edx
jbe 0x6a477f
mov eax, dword [ebp - 0x20]
mov ecx, dword [edi + 8]
mov eax, dword [eax + edx*4]
mov esi, dword [ecx + 0x1c]
mov esi, dword [esi + eax*4]
cmp dword [esi + 0x28], 0xffffffff
jne 0x6a474d
push ebx
push 0x8000000
push eax
call fcn.006b5351
test eax, eax
je 0x6a4922
mov edx, dword [ebp - 0xc]
cmp edx, ebx
je 0x6a5d55
mov eax, dword [ebp - 0x10]
cmp dword [esi + 0x14], eax
jne 0x6a5d6b
cmp eax, 0xffffffff
je 0x6a4776
mov esi, dword [esi + 8]
cmp esi, dword [ebp + 0x10]
je 0x6a4776
cmp esi, ebx
jne 0x6a5d75
inc edx
cmp edx, dword [ebp - 4]
mov dword [ebp - 0xc], edx
jb 0x6a4721
push dword [ebp - 4]
mov ecx, edi
push dword [ebp - 0x1c]
push dword [ebp - 0x1c]
push dword [ebp + 8]
call fcn.00681d96
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x60], eax
mov eax, ecx
and eax, 2
cmp dword [ebp - 0x10], 0xffffffff
je 0x6a5d7f
or eax, ebx
je 0x6a5dcc
and ecx, 0x8000000
or ecx, ebx
je 0x6a5dcc
push dword [ebp - 4]
mov ecx, edi
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp + 8]
call fcn.0067f886
jmp 0x6a5def
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x10]
je 0x6a4868
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x18]
cmp eax, 1
jne 0x6a4806
cmp edx, dword [ebp - 0x10]
jb 0x6a4868
mov edx, dword [ebp - 0x14]
cmp eax, dword [edx + 0x18]
ja 0x6a485c
mov esi, dword [ecx + 0x1c]
cmp esi, dword [edx + 0x1c]
ja 0x6a485c
xor esi, esi
cmp eax, ebx
jbe 0x6a46f5
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 8]
mov ecx, eax
imul eax, esi
shl ecx, 2
push ecx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x1c]
imul ecx, esi
lea ecx, [edx + ecx*4]
push ecx
mov ecx, dword [ebp + 0xc]
lea eax, [ecx + eax*4]
push eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp + 8]
add esp, 0xc
inc esi
cmp esi, dword [eax + 0x18]
jb 0x6a4820
jmp 0x6a46f5
push 0x4431bc
push ebx
push ecx
jmp 0x6a6880
mov eax, edx
shl eax, 2
push eax
push dword [ebp - 8]
push dword [ebp + 0xc]
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x6a46f5
push dword [ebp - 4]
mov eax, dword [ebp + 8]
push ecx
push dword [eax + 0x24]
mov ecx, edi
call fcn.006a694c
jmp 0x6a5cc8
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp dword [ebp - 4], ebx
je 0x6a5e17
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ecx, dword [edi + 8]
cmp eax, dword [ecx + 0xc]
jae 0x6a48c7
mov edx, dword [ecx + 0x1c]
mov eax, dword [edx + eax*4]
jmp 0x6a48c9
xor eax, eax
cmp eax, ebx
je 0x6a46f5
mov eax, dword [eax + 8]
cmp dword [ecx + 0x2a50], eax
je 0x6a48f2
mov edx, dword [ecx + 0x18]
mov eax, dword [edx + eax*4]
mov eax, dword [eax + 8]
and eax, 0x8000000
or eax, ebx
je 0x6a46f5
xor eax, eax
cmp dword [ebp - 4], ebx
jbe 0x6a4911
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ebp - 8]
mov edx, dword [edx + eax*4]
mov edx, dword [ecx + edx*4]
cmp dword [edx + 0x28], 0xffffffff
je 0x6a4922
inc eax
cmp eax, dword [ebp - 4]
jb 0x6a48fc
mov eax, dword [ebp - 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x6a46f5
push 0x417fa0
push ebx
push dword [ebp + 8]
jmp 0x6a6880
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp dword [ebp - 4], ebx
je 0x6a5e17
xor esi, esi
cmp dword [ebp - 4], ebx
jbe 0x6a4911
mov eax, dword [ebp - 8]
mov ecx, dword [edi + 8]
mov eax, dword [eax + esi*4]
mov edx, dword [ecx + 0x1c]
mov edx, dword [edx + eax*4]
cmp dword [edx + 0x28], 0xffffffff
jne 0x6a4977
push ebx
push 0x8000000
push eax
call fcn.006b5351
test eax, eax
je 0x6a4922
inc esi
cmp esi, dword [ebp - 4]
jb 0x6a4952
jmp 0x6a4911
cmp dword [ebp - 0x14], ebx
je 0x6a6889
mov esi, dword [ebp - 4]
lea eax, [esi + esi]
push eax
mov ecx, edi
call fcn.00679900
cmp eax, ebx
je 0x6a641a
mov edx, esi
xor ecx, ecx
shl edx, 2
mov dword [ebp + ecx*4 - 0x2c], eax
inc ecx
add eax, edx
cmp ecx, 2
jb 0x6a49a5
xor esi, esi
cmp dword [ebp - 4], ebx
jbe 0x6a49eb
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
and eax, 0x1ff
and ecx, 0x80000000
push eax
push ecx
mov ecx, edi
call fcn.00679a8f
mov ecx, dword [ebp - 0x28]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [ebp - 4]
jb 0x6a49b8
push dword [ebp - 4]
mov ecx, edi
push dword [ebp - 0x2c]
call fcn.0055719a
cmp eax, ebx
jl 0x6a68b8
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x28]
and eax, 0xfffff
push dword [ebp - 8]
or eax, 0x20400000
push dword [ebp - 0x2c]
mov ecx, edi
push eax
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
jmp 0x6a491a
cmp dword [ebp - 0x14], ebx
je 0x6a6889
mov esi, dword [ebp - 4]
lea eax, [esi + esi]
push eax
mov ecx, edi
call fcn.00679900
cmp eax, ebx
je 0x6a641a
mov edx, esi
xor ecx, ecx
shl edx, 2
mov dword [ebp + ecx*4 - 0x2c], eax
inc ecx
add eax, edx
cmp ecx, 2
jb 0x6a4a63
xor esi, esi
cmp dword [ebp - 4], ebx
jbe 0x6a49eb
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
and eax, 0x1ff
and ecx, 0x80000000
push eax
push ecx
mov ecx, edi
call fcn.00679b16
mov ecx, dword [ebp - 0x28]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [ebp - 4]
jb 0x6a4a7a
jmp 0x6a49eb
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
je 0x6a4b0f
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
and eax, 0xfffff
or eax, 0x12100000
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 8]
mov ecx, edi
push dword [ebp + 0xc]
push eax
push dword [ebp + 8]
call fcn.0067b74b
jmp 0x6a5cc8
mov esi, dword [ebp - 4]
lea eax, [esi + esi]
push eax
mov ecx, edi
call fcn.00679900
cmp eax, ebx
je 0x6a641a
mov edx, esi
xor ecx, ecx
shl edx, 2
mov dword [ebp + ecx*4 - 0x2c], eax
inc ecx
add eax, edx
cmp ecx, 2
jb 0x6a4b2c
push esi
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp - 4]
mov ecx, edi
push dword [ebp - 0x28]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp - 4]
mov ecx, edi
push dword [ebp + 0xc]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp - 4]
mov ecx, edi
push dword [ebp - 8]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp + 8]
call fcn.006811a1
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push 0x17
push dword [ebp - 0x2c]
and eax, 0xfffff
push dword [ebp - 0x28]
jmp 0x6a4fed
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
and eax, 0xfffff
or eax, 0x10100000
jmp 0x6a4af4
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 8]
mov eax, dword [ebp - 4]
and eax, 0xfffff
or eax, 0x10000000
jmp 0x6a4afc
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
and eax, 0xfffff
or eax, 0x20400000
jmp 0x6a4af9
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
push dword [ebp - 4]
mov ecx, edi
call fcn.00679900
cmp eax, ebx
mov dword [ebp - 0xc], eax
je 0x6a641a
push dword [ebp - 4]
mov ecx, edi
push eax
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp - 4]
mov ecx, edi
push dword [ebp + 0xc]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
and eax, 0xfffff
push dword [ebp - 0xc]
mov dword [ebp + 0x10], eax
or eax, 0x10100000
push eax
push dword [ebp + 8]
mov ecx, edi
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x10]
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0xc]
or eax, 0x20400000
jmp 0x6a5805
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
mov eax, dword [ebp - 4]
push ebx
push ebx
mov ecx, edi
push ebx
je 0x6a4d72
push 0x80000000
push dword [ebp - 0x18]
push dword [ebp - 8]
and eax, 0xfffff
or eax, 0x20a00000
jmp 0x6a4afe
push 0x17
push dword [ebp - 0x18]
push dword [ebp - 8]
and eax, 0xfffff
or eax, 0x20200000
jmp 0x6a4afe
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
mov eax, dword [ebp - 4]
push ebx
push ebx
mov ecx, edi
push ebx
je 0x6a4ddc
push 0x80000000
push dword [ebp - 8]
push dword [ebp - 0x18]
jmp 0x6a4d63
push 0x17
push dword [ebp - 8]
push dword [ebp - 0x18]
jmp 0x6a4d7a
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
mov eax, dword [ebp - 4]
push ebx
push ebx
mov ecx, edi
push ebx
je 0x6a4e46
push 0x80000000
push dword [ebp - 8]
push dword [ebp - 0x18]
and eax, 0xfffff
or eax, 0x20b00000
jmp 0x6a4afe
push 0x17
push dword [ebp - 8]
push dword [ebp - 0x18]
and eax, 0xfffff
or eax, 0x20300000
jmp 0x6a4afe
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
mov eax, dword [ebp - 4]
push ebx
push ebx
mov ecx, edi
push ebx
je 0x6a4eb0
push 0x80000000
push dword [ebp - 0x18]
push dword [ebp - 8]
jmp 0x6a4e37
push 0x17
push dword [ebp - 0x18]
push dword [ebp - 8]
jmp 0x6a4e4e
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
je 0x6a4f15
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push 0x80000000
push dword [ebp - 0x18]
and eax, 0xfffff
or eax, 0x20c00000
jmp 0x6a4af9
mov esi, dword [ebp - 4]
shl esi, 2
push esi
mov ecx, edi
call fcn.00679900
cmp eax, ebx
je 0x6a641a
xor ecx, ecx
mov edx, eax
mov dword [ebp + ecx*4 - 0x40], edx
inc ecx
add edx, esi
cmp ecx, 4
jb 0x6a4f2f
push esi
push eax
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp - 4]
mov ecx, edi
push dword [ebp + 0xc]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
and eax, 0xfffff
push dword [ebp - 0x40]
mov dword [ebp + 0x10], eax
or eax, 0x10100000
push eax
push dword [ebp + 8]
mov ecx, edi
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x10]
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x40]
or eax, 0x20400000
push dword [ebp - 8]
mov ecx, edi
push dword [ebp - 0x3c]
push eax
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp - 4]
mov ecx, edi
push dword [ebp - 0x3c]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp + 8]
call fcn.006811a1
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x10]
push ebx
push ebx
push ebx
push 0x17
push dword [ebp - 0x38]
push dword [ebp - 0x34]
or eax, 0x20300000
jmp 0x6a5808
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
jne 0x6a4ad2
push 0x443188
mov esi, 0x80004001
push 0xdcf
jmp 0x6a559a
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
je 0x6a501b
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
and eax, 0xfffff
or eax, 0x23400000
jmp 0x6a4af9
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
je 0x6a501b
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
and eax, 0xfffff
or eax, 0x23500000
jmp 0x6a4af9
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
je 0x6a501b
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
and eax, 0xfffff
or eax, 0x23000000
jmp 0x6a4af9
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
je 0x6a501b
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
and eax, 0xfffff
or eax, 0x23100000
jmp 0x6a4af9
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
je 0x6a501b
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
and eax, 0xfffff
or eax, 0x23300000
jmp 0x6a4af9
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
je 0x6a5249
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
and eax, 0xfffff
or eax, 0x20d00000
jmp 0x6a4af9
mov esi, dword [ebp - 4]
shl esi, 2
push esi
mov ecx, edi
call fcn.00679900
cmp eax, ebx
je 0x6a641a
xor ecx, ecx
mov edx, eax
mov dword [ebp + ecx*4 - 0x40], edx
inc ecx
add edx, esi
cmp ecx, 4
jb 0x6a5263
push esi
push eax
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp - 4]
mov ecx, edi
push dword [ebp + 0xc]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
and eax, 0xfffff
push dword [ebp - 0x40]
mov dword [ebp + 0x10], eax
or eax, 0x10100000
push eax
push dword [ebp + 8]
mov ecx, edi
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x10]
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x40]
or eax, 0x20400000
jmp 0x6a54a5
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
je 0x6a539c
cmp dword [ebp - 4], ebx
mov dword [ebp - 0xc], ebx
jbe 0x6a535c
mov ecx, dword [eax + 0x1c]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
sub eax, edx
mov dword [ebp - 0x10], edx
mov dword [ebp + 0x10], eax
mov edx, 0x80000000
jmp 0x6a532d
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp - 0x10]
mov eax, dword [eax + esi]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
and eax, edx
or eax, ebx
je 0x6a538d
mov eax, esi
mov eax, dword [eax]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
and eax, edx
or eax, ebx
je 0x6a538d
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
add dword [ebp - 0x10], 4
cmp eax, dword [ebp - 4]
jb 0x6a532a
push dword [ebp - 4]
mov ecx, edi
push dword [ebp + 0xc]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push 0x17
push dword [ebp - 0x18]
and eax, 0xfffff
or eax, 0x23000000
jmp 0x6a5805
push 0x443158
push 0xe10
jmp 0x6a5595
cmp dword [ebp - 4], ebx
mov dword [ebp - 0x10], ebx
jbe 0x6a53e2
mov ecx, dword [eax + 0x1c]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
sub eax, edx
mov dword [ebp + 0x10], eax
jmp 0x6a53b7
mov eax, dword [ebp + 0x10]
mov eax, dword [edx + eax]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
and eax, 1
or eax, ebx
je 0x6a540e
mov eax, dword [edx]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
and eax, 1
or eax, ebx
je 0x6a540e
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add edx, 4
cmp eax, dword [ebp - 4]
jb 0x6a53b4
push dword [ebp - 4]
mov ecx, edi
push dword [ebp + 0xc]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push 0x17
push dword [ebp - 0x18]
and eax, 0xfffff
jmp 0x6a5800
mov esi, dword [ebp - 4]
mov eax, esi
imul eax, eax, 3
push eax
mov ecx, edi
call fcn.00679900
cmp eax, ebx
je 0x6a641a
mov edx, esi
xor ecx, ecx
shl edx, 2
mov dword [ebp + ecx*4 - 0x3c], eax
inc ecx
add eax, edx
cmp ecx, 3
jb 0x6a542d
mov edx, esi
push edx
push dword [ebp - 0x3c]
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push edx
push dword [ebp - 0x38]
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push edx
push dword [ebp - 0x34]
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push edx
push dword [ebp + 0xc]
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push ebx
push ebx
mov eax, edx
push ebx
and eax, 0xfffff
push ebx
push dword [ebp - 0x18]
mov dword [ebp + 0x10], eax
or eax, 0x20500000
push dword [ebp - 8]
mov ecx, edi
push dword [ebp - 0x3c]
push eax
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp - 4]
mov ecx, edi
push dword [ebp - 0x3c]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp + 8]
call fcn.006811a1
jmp 0x6a56c7
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
je 0x6a55ab
cmp dword [ebp - 4], ebx
mov dword [ebp - 0xc], ebx
jbe 0x6a555a
mov ecx, dword [eax + 0x1c]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
sub eax, edx
mov dword [ebp - 0x10], edx
mov dword [ebp + 0x10], eax
mov edx, 0x80000000
jmp 0x6a552b
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + eax]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
and eax, edx
or eax, ebx
je 0x6a558b
mov eax, esi
mov eax, dword [eax]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
and eax, edx
or eax, ebx
je 0x6a558b
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
add dword [ebp - 0x10], 4
cmp eax, dword [ebp - 4]
jb 0x6a5528
push dword [ebp - 4]
mov ecx, edi
push dword [ebp + 0xc]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push 0x17
push dword [ebp - 0x18]
and eax, 0xfffff
or eax, 0x23100000
jmp 0x6a5805
push 0x44312c
push 0xe11
mov esi, 0x80004005
push dword [ebp + 8]
push edi
call fcn.0067afcf
add esp, 0x10
jmp 0x6a688e
mov esi, dword [ebp - 4]
shl esi, 2
push esi
mov ecx, edi
call fcn.00679900
cmp eax, ebx
je 0x6a641a
xor ecx, ecx
mov dword [ebp + ecx*4 - 0x40], eax
inc ecx
add eax, esi
cmp ecx, 4
jb 0x6a55c3
mov edx, dword [ebp - 4]
push edx
push dword [ebp - 0x40]
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push edx
push dword [ebp - 0x3c]
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push edx
push dword [ebp - 0x38]
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push edx
push dword [ebp - 0x34]
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push edx
push dword [ebp + 0xc]
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push edx
push dword [ebp - 8]
mov ecx, edi
push ebx
push dword [ebp - 0x40]
push dword [ebp + 8]
call fcn.006811a1
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp - 4]
mov ecx, edi
push dword [ebp - 0x18]
push ebx
push dword [ebp - 0x3c]
push dword [ebp + 8]
call fcn.006811a1
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push 4
push dword [ebp - 0x3c]
and eax, 0xfffff
push dword [ebp - 0x40]
mov dword [ebp + 0x10], eax
push dword [ebp - 0x38]
or eax, 0x20400000
push eax
push dword [ebp + 8]
mov ecx, edi
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x10]
push ebx
push ebx
push ebx
push 8
push ebx
push dword [ebp - 0x38]
or eax, 0x10100000
push dword [ebp - 0x34]
mov ecx, edi
push eax
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x10]
push ebx
push ebx
push ebx
push 0x17
push dword [ebp - 0x38]
or eax, 0x20200000
push dword [ebp - 0x34]
jmp 0x6a5808
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
push dword [ebp - 4]
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
and eax, 0xfffff
or eax, 0x20500000
jmp 0x6a4af9
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
push dword [ebp - 4]
je 0x6a5788
push ecx
mov ecx, edi
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
and eax, 0xfffff
or eax, 0x20800000
jmp 0x6a4af9
mov ecx, edi
call fcn.00679900
cmp eax, ebx
mov dword [ebp - 0xc], eax
je 0x6a641a
push dword [ebp - 4]
mov ecx, edi
push eax
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp - 4]
mov ecx, edi
push dword [ebp + 0xc]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
and eax, 0xfffff
push dword [ebp - 0xc]
mov dword [ebp + 0x10], eax
or eax, 0x10300000
push eax
push dword [ebp + 8]
mov ecx, edi
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x10]
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0xc]
or eax, 0x20500000
push dword [ebp - 8]
push dword [ebp + 0xc]
push eax
jmp 0x6a5a73
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov esi, dword [ebp - 4]
mov eax, esi
shl eax, 3
push eax
mov ecx, edi
call fcn.00679900
cmp eax, ebx
je 0x6a641a
mov edx, esi
xor ecx, ecx
shl edx, 2
mov dword [ebp + ecx*4 - 0x50], eax
inc ecx
add eax, edx
cmp ecx, 8
jb 0x6a584a
xor edx, edx
push dword [ebp - 4]
mov ecx, edi
push dword [ebp + edx*4 - 0x50]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
inc edx
cmp edx, 8
jb 0x6a5858
push dword [ebp - 4]
mov ecx, edi
push dword [ebp + 0xc]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
mov ecx, edi
push dword [ebp - 8]
je 0x6a5926
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
add eax, 0xfffffff5
cmp eax, 2
mov eax, dword [ebp - 4]
ja 0x6a5917
push dword [ebp - 0x50]
and eax, 0xfffff
mov dword [ebp + 0x10], eax
or eax, 0x20500000
push eax
push dword [ebp + 8]
mov dword [ebp - 0x10], eax
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x10]
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x50]
or eax, 0x10100000
push dword [ebp - 0x4c]
mov ecx, edi
push eax
push dword [ebp + 8]
mov dword [ebp - 0xc], eax
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x10]
or eax, 0x20b00000
jmp 0x6a5982
and eax, 0xfffff
or eax, 0x20900000
jmp 0x6a4afe
mov eax, dword [ebp - 4]
push dword [ebp - 0x50]
and eax, 0xfffff
mov dword [ebp + 0x10], eax
or eax, 0x20500000
push eax
push dword [ebp + 8]
mov dword [ebp - 0x10], eax
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x10]
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x50]
or eax, 0x10100000
push dword [ebp - 0x4c]
mov ecx, edi
push eax
push dword [ebp + 8]
mov dword [ebp - 0xc], eax
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x10]
or eax, 0x20300000
push ebx
push ebx
push ebx
push 0x17
push dword [ebp - 0x4c]
mov ecx, edi
push dword [ebp - 0x50]
push dword [ebp - 0x48]
push eax
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
mov ecx, edi
push dword [ebp - 0x44]
push dword [ebp - 0xc]
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp - 4]
mov ecx, edi
push dword [ebp - 0x48]
push dword [ebp - 0x18]
push dword [ebp - 0x44]
push dword [ebp - 0x40]
push dword [ebp + 8]
call fcn.006824bb
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x10]
push ebx
push ebx
push ebx
push 0x180
push ebx
push dword [ebp - 0x40]
or eax, 0x10300000
push dword [ebp - 0x3c]
mov ecx, edi
push eax
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x3c]
mov ecx, edi
push dword [ebp - 8]
push dword [ebp - 0x38]
push dword [ebp - 0x10]
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x10]
push ebx
push ebx
push ebx
push 4
push ebx
push dword [ebp - 0x38]
or eax, 0x10400000
push dword [ebp - 0x34]
mov ecx, edi
push eax
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x34]
push dword [ebp - 0x40]
push dword [ebp + 0xc]
push dword [ebp - 0x10]
mov ecx, edi
jmp 0x6a4b02
cmp dword [ebp - 0xc], ebx
je 0x6a6889
push dword [ebp + 0x10]
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [eax + 0x14]
push dword [ebp - 0x10]
push dword [ebp - 8]
push dword [ebp - 4]
push ecx
push dword [ebp + 8]
mov ecx, edi
call fcn.00688323
jmp 0x6a5cc8
cmp dword [ebp - 0x14], ebx
je 0x6a6889
mov esi, dword [esi + 0x28]
cmp esi, ebx
je 0x6a6889
mov eax, dword [esi + 4]
cmp eax, 0xf
jne 0x6a5aec
cmp dword [esi + 0x18], 2
jne 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
shl eax, 2
push eax
mov eax, dword [esi + 0x20]
lea eax, [ecx + eax*4]
push eax
jmp 0x6a4871
cmp eax, 1
jne 0x6a6889
cmp ecx, ebx
je 0x6a46f5
xor ecx, ecx
cmp dword [ebp - 4], ebx
mov eax, esi
jbe 0x6a46f8
mov edx, dword [eax + 8]
mov edx, dword [edx + 0x20]
mov esi, dword [ebp - 8]
mov edx, dword [esi + edx*4]
mov esi, dword [ebp + 0xc]
mov dword [esi + ecx*4], edx
mov eax, dword [eax + 0xc]
inc ecx
cmp ecx, dword [ebp - 4]
jb 0x6a5b0a
jmp 0x6a46f5
cmp dword [ebp - 0x14], ebx
je 0x6a6889
cmp dword [ebp - 0xc], ebx
je 0x6a6889
cmp ecx, ebx
je 0x6a46f5
mov esi, dword [ebp - 4]
mov eax, esi
imul eax, eax, 3
push eax
mov ecx, edi
call fcn.00679900
cmp eax, ebx
je 0x6a641a
mov ecx, esi
xor edx, edx
shl ecx, 2
mov dword [ebp + edx*4 - 0x3c], eax
inc edx
add eax, ecx
cmp edx, 3
jb 0x6a5b63
cmp esi, ebx
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0xc], ebx
jbe 0x6a5bce
mov eax, dword [ebp - 0x18]
add ecx, eax
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 8]
sub ecx, eax
mov dword [ebp - 0x10], eax
sub dword [ebp - 0x10], esi
mov dword [ebp + 0x10], ecx
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x68]
push ecx
mov ecx, dword [ebp + 0x10]
add eax, esi
push dword [eax + ecx]
mov ecx, edi
call fcn.0067aea2
test eax, eax
jl 0x6a5bce
cmp dword [ebp - 0x68], ebx
je 0x6a5bb5
mov eax, dword [ebp - 0x10]
add eax, esi
jmp 0x6a5bb8
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
inc dword [ebp - 0xc]
add dword [ebp - 0x14], 4
mov dword [esi], eax
mov eax, dword [ebp - 0xc]
add esi, 4
cmp eax, dword [ebp - 4]
jb 0x6a5b8f
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 4]
jne 0x6a5bfa
push dword [ebp - 4]
mov ecx, edi
push dword [ebp + 0xc]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x3c]
jmp 0x6a4c19
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
je 0x6a5c15
mov eax, dword [ebp - 4]
push eax
push dword [ebp - 8]
jmp 0x6a5cb1
push dword [ebp - 4]
mov ecx, edi
push dword [ebp - 0x3c]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp - 4]
mov ecx, edi
push dword [ebp - 0x38]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp - 4]
mov ecx, edi
push dword [ebp - 0x34]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp - 4]
mov ecx, edi
push dword [ebp - 8]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp + 8]
call fcn.006811a1
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push 0x17
push dword [ebp - 0x3c]
and eax, 0xfffff
push dword [ebp - 0x38]
or eax, 0x20200000
push dword [ebp - 0x34]
mov ecx, edi
push eax
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp - 4]
push eax
push dword [ebp - 0x34]
mov ecx, dword [ebp - 0x18]
push ecx
shl eax, 2
add eax, ecx
push eax
push dword [ebp + 0xc]
mov ecx, edi
push dword [ebp + 8]
call fcn.006824bb
mov esi, eax
cmp esi, ebx
jge 0x6a46f5
jmp 0x6a688e
lea eax, [ebp + 0x10]
push eax
push dword [esi + 0x24]
mov ecx, edi
call fcn.0067aa5f
cmp eax, ebx
jne 0x6a5d05
push dword [esi + 0x40]
push 0x417f78
push 0xdb6
push esi
push edi
call fcn.0067afcf
add esp, 0x14
jmp 0x6a6889
mov ecx, dword [ebp + 8]
inc dword [edi + 0xa0]
push ebx
push ebx
push dword [ebp + 0xc]
push dword [ecx + 0x28]
mov ecx, edi
push eax
push dword [ebp + 0x10]
call fcn.006a311c
dec dword [edi + 0xa0]
jmp 0x6a5cc8
push ebx
jmp 0x6a5d2e
push 1
push ecx
push dword [ebp + 8]
mov ecx, edi
call fcn.0068e549
jmp 0x6a5cc8
cmp edx, dword [ebp - 4]
jae 0x6a5d5a
inc edx
cmp edx, dword [ebp - 4]
jae 0x6a5d55
mov eax, dword [ebp - 0x20]
mov ecx, dword [edi + 8]
mov eax, dword [eax + edx*4]
mov ecx, dword [ecx + 0x1c]
mov esi, dword [ecx + eax*4]
cmp dword [esi + 8], ebx
je 0x6a5d3b
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x10], eax
jmp 0x6a4776
push 0x443104
jmp 0x6a4927
push 0x4430d4
jmp 0x6a4927
or eax, ebx
je 0x6a5dcc
and ecx, 0x8000000
or ecx, ebx
je 0x6a5dcc
xor eax, eax
cmp dword [ebp - 4], ebx
jbe 0x6a5dad
mov edx, dword [edi + 8]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx + eax*4]
mov edx, dword [edx + 0x1c]
mov ecx, dword [edx + ecx*4]
or dword [ecx + 0x14], 0xffffffff
inc eax
cmp eax, dword [ebp - 4]
jb 0x6a5d94
push dword [ebp - 4]
mov ecx, edi
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp + 8]
call fcn.0067f886
mov esi, eax
cmp esi, ebx
jl 0x6a6889
jmp 0x6a5df1
mov eax, dword [ebp - 4]
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x1c]
and eax, 0xfffff
push dword [ebp - 0x20]
or eax, 0x10000000
push eax
push dword [ebp + 8]
mov ecx, edi
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
cmp dword [ebp + 0xc], ebx
je 0x6a6861
mov eax, dword [ebp - 4]
shl eax, 2
push eax
push dword [ebp - 0x20]
push dword [ebp + 0xc]
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [ebp + 0xc], ebx
je 0x6a6861
cmp dword [ebp - 0x24], ebx
jne 0x6a5e4c
cmp dword [ebp - 4], ebx
je 0x6a5e4c
cmp dword [ebp + 0x14], ebx
jne 0x6a5e4c
push dword [ebp - 4]
mov ecx, edi
push dword [ebp + 0xc]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00681d96
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [edi + 0x164]
cmp dword [ebp - 4], eax
jbe 0x6a5eaa
cmp eax, ebx
je 0x6a5e60
lea esi, [eax + eax]
jmp 0x6a5e67
push 0x10
pop esi
jmp 0x6a5e67
add esi, esi
cmp esi, dword [ebp - 4]
jb 0x6a5e65
xor ecx, ecx
push 8
pop edx
lea eax, [esi + esi]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
mov dword [ebp + 0x10], eax
je 0x6a641a
push dword [edi + 0x160]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp + 0x10]
pop ecx
mov dword [edi + 0x160], eax
mov dword [edi + 0x164], esi
mov eax, dword [edi + 0x160]
mov esi, dword [ebp - 4]
mov dword [ebp + 0x10], eax
lea eax, [eax + esi*8]
push ebx
push eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
push dword [eax + 0x14]
mov ecx, edi
call fcn.0067dbed
mov eax, dword [edi + 8]
test dword [eax + 0x98], 0x200000
je 0x6a61ea
cmp dword [ebp - 4], ebx
push 0x42
pop ecx
mov esi, 0x73d218
lea edi, [ebp - 0x180]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x20], ebx
jbe 0x6a6091
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x14]
sub eax, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x6a5f24
mov ecx, dword [ecx + 0x1c]
mov eax, dword [ecx + eax*4]
jmp 0x6a5f26
xor eax, eax
cmp eax, ebx
je 0x6a61a5
cmp dword [ebp - 0x24], ebx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], ebx
mov dword [ecx + 4], ebx
jne 0x6a607e
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0x2a50]
cmp ecx, dword [eax + 8]
je 0x6a607e
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
add ecx, edx
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x68], 0xb
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov esi, dword [ebp - 0x30]
mov esi, dword [esi + 8]
and edx, 0x1ff
mov edi, ecx
mov dword [ebp - 0x60], edx
mov edx, dword [eax + 8]
and edi, 0x80000000
cmp edx, dword [esi + 8]
jae 0x6a5f9b
mov esi, dword [esi + 0x18]
mov edx, dword [esi + edx*4]
jmp 0x6a5f9d
xor edx, edx
mov dword [ebp - 0x74], edx
mov edx, dword [edx + 8]
and edx, 0x200
or edx, ebx
je 0x6a5fd6
mov edx, ecx
and edx, 0x80000000
or edx, ebx
je 0x6a5fd6
cmp dword [ebp + 0x14], ebx
jne 0x6a5fd6
and ecx, 0x7fffffff
mov dword [eax + 4], ebx
or dword [eax + 4], 8
mov dword [eax], ecx
xor edi, edi
mov dword [ebp - 0x60], 0x49
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + 8]
test word [ecx + 0x98], 0x400
je 0x6a6027
mov ecx, dword [ebp - 0x74]
mov ecx, dword [ecx + 8]
and ecx, 0x10
or ecx, ebx
je 0x6a6027
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov dword [ebp - 0x74], ecx
mov ecx, esi
and ecx, 0x80000000
or ecx, ebx
je 0x6a6027
cmp dword [ebp + 0x14], ebx
jne 0x6a6027
and esi, 0x7fffffff
mov dword [eax + 4], ebx
or dword [eax + 4], 8
mov ecx, esi
mov dword [eax], ecx
xor edi, edi
mov dword [ebp - 0x60], 0x49
mov ecx, dword [ebp - 0x28]
mov esi, dword [ecx]
cmp edi, esi
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x34], ecx
jne 0x6a603b
cmp dword [ebp - 0x60], ecx
je 0x6a606c
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx - 8]
mov edx, dword [edx - 4]
and edx, dword [ebp - 0x34]
and ecx, esi
or ecx, edx
je 0x6a606c
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x60]
and edi, dword [ecx]
and edx, dword [ecx + 4]
or edi, edx
je 0x6a606f
mov edx, dword [ebp - 0x10]
mov esi, dword [ecx + 0xc]
inc dword [ecx + 8]
mov dword [edx], esi
mov dword [edx + 4], ebx
jmp 0x6a606f
mov ecx, dword [ebp - 0x1c]
add ecx, 0x18
dec dword [ebp - 0x68]
mov dword [ebp - 0x1c], ecx
jne 0x6a5f6f
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x10], 8
cmp eax, dword [ebp - 4]
jb 0x6a5f08
lea eax, [ebp - 0x170]
mov dword [ebp - 0x24], ebx
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x14]
mov esi, dword [eax]
cmp esi, ebx
je 0x6a616d
mov ecx, dword [ebp - 0x30]
lea eax, [esi + esi]
push eax
call fcn.00679900
mov edx, eax
cmp edx, ebx
je 0x6a641a
lea eax, [edx + esi*4]
mov dword [ebp - 0x60], eax
xor eax, eax
cmp dword [ebp - 4], ebx
jbe 0x6a6106
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + eax*8]
cmp ecx, dword [ebp - 0x38]
jne 0x6a6100
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + eax*8 + 4]
xor ecx, ecx
cmp edi, ecx
jne 0x6a6100
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x10]
mov ecx, dword [ecx + eax*4]
add dword [ebp - 0x10], 4
mov dword [edi], ecx
inc eax
cmp eax, dword [ebp - 4]
jb 0x6a60d9
mov ecx, dword [ebp - 0x30]
push esi
push dword [ebp - 0x60]
call fcn.0055719a
test eax, eax
jl 0x6a6889
mov eax, dword [ebp + 0x14]
mov edi, dword [eax + 4]
mov ecx, dword [ebp - 0x30]
push ebx
push ebx
push ebx
push ebx
push ebx
push edx
push dword [ebp - 0x60]
mov eax, edi
xor eax, esi
and eax, 0xfffff
xor eax, edi
push eax
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
xor eax, eax
cmp dword [ebp - 4], ebx
jbe 0x6a616d
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp + 0x10]
cmp dword [edx + eax*8], edi
jne 0x6a6167
mov edx, dword [ecx]
mov esi, dword [ebp + 0xc]
mov dword [esi + eax*4], edx
add ecx, 4
inc eax
cmp eax, dword [ebp - 4]
jb 0x6a6154
inc dword [ebp - 0x24]
add dword [ebp + 0x14], 0x18
cmp dword [ebp - 0x24], 0xb
jb 0x6a609d
xor ecx, ecx
cmp dword [ebp - 4], ebx
jbe 0x6a6861
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + ecx*4]
mov edx, dword [edx + 8]
cmp eax, dword [edx + 0xc]
jae 0x6a61b4
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
jmp 0x6a61b6
push 0x417b58
push ebx
push ebx
push dword [ebp - 0x30]
jmp 0x6a6881
xor eax, eax
cmp eax, ebx
je 0x6a61df
and dword [eax], 0x7fffffff
and dword [eax + 4], 0xfffffe00
mov edx, dword [esi + ecx*8]
mov edi, dword [esi + ecx*8 + 4]
and edx, 0x80000000
or dword [eax], edx
and edi, 0x1ff
or dword [eax + 4], edi
inc ecx
cmp ecx, dword [ebp - 4]
jb 0x6a618c
jmp 0x6a6861
cmp esi, ebx
mov dword [ebp + 0x14], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x1c], ebx
jbe 0x6a67c5
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x14]
sub eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x1c]
mov edx, dword [eax + edx*4]
mov eax, dword [edi + 8]
cmp edx, dword [eax + 0xc]
jae 0x6a621f
mov esi, dword [eax + 0x1c]
mov edx, dword [esi + edx*4]
jmp 0x6a6221
xor edx, edx
cmp edx, ebx
mov dword [ebp - 0x68], edx
je 0x6a636a
cmp dword [ebp - 0x24], ebx
jne 0x6a62b7
mov eax, dword [eax + 0x2a50]
mov esi, dword [edx + 8]
cmp eax, esi
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x28], esi
je 0x6a6267
mov eax, dword [ebp - 0xc]
mov eax, dword [ecx + eax]
and eax, 1
or eax, ebx
je 0x6a6267
mov eax, dword [edx]
xor edx, edx
inc edx
and eax, edx
or eax, ebx
jne 0x6a6267
inc dword [ebp + 0x14]
mov dword [ecx], edx
jmp 0x6a62b9
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x74], eax
je 0x6a62b7
mov eax, dword [ebp - 0xc]
lea edx, [ecx + eax]
mov eax, dword [edx]
mov dword [ebp - 0x38], eax
and eax, 2
or eax, ebx
je 0x6a62b7
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
and eax, 2
or eax, ebx
jne 0x6a62b7
mov eax, dword [ebp + 8]
cmp dword [eax + 0x20], ebx
jne 0x6a635c
mov eax, dword [eax + 0x14]
test dword [eax + 0x28], 0x400000
je 0x6a635c
mov eax, dword [ebp - 0x38]
and eax, 0xfffffffd
mov dword [edx], eax
mov eax, dword [edx + 4]
mov dword [edx + 4], eax
mov dword [ecx], ebx
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 4], ebx
add ecx, 8
cmp eax, dword [ebp - 4]
jb 0x6a6206
cmp dword [ebp + 0x14], ebx
je 0x6a63fd
mov esi, dword [ebp + 0x14]
shl esi, 2
push esi
mov ecx, edi
call fcn.00679900
cmp eax, ebx
je 0x6a641a
xor ecx, ecx
mov dword [ebp + ecx*4 - 0x40], eax
inc ecx
add eax, esi
cmp ecx, 4
jb 0x6a62ef
push dword [ebp + 0x14]
mov ecx, edi
push dword [ebp - 0x3c]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push dword [ebp + 0x14]
mov ecx, edi
push dword [ebp - 0x38]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x68], eax
sub edx, ecx
mov esi, dword [ebp + 0x10]
cmp dword [esi + eax*8], 1
jne 0x6a637f
cmp dword [esi + eax*8 + 4], ebx
jne 0x6a637f
mov esi, dword [ebp + 0xc]
lea eax, [esi + eax*4]
mov esi, dword [eax]
mov dword [edx + ecx], esi
mov esi, dword [ebp + 8]
cmp dword [esi + 0x20], ebx
je 0x6a6374
mov eax, dword [eax]
jmp 0x6a6377
inc dword [ebp - 0x10]
mov dword [ecx], 2
jmp 0x6a62b9
push 0x417b58
jmp 0x6a687e
or eax, 0xffffffff
mov dword [ecx], eax
mov eax, dword [ebp - 0x68]
add ecx, 4
inc eax
cmp eax, dword [ebp - 4]
mov dword [ebp - 0x68], eax
jb 0x6a6336
push dword [ebp + 0x14]
mov ecx, edi
push dword [ebp - 0x40]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp + 8]
call fcn.006811a1
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x14]
push ebx
push ebx
push ebx
push 0x17
push dword [ebp - 0x3c]
and eax, 0xfffff
push dword [ebp - 0x38]
or eax, 0x20200000
push dword [ebp - 0x34]
mov ecx, edi
push eax
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov ecx, dword [ebp - 0x34]
xor eax, eax
mov edx, dword [ebp + 0x10]
cmp dword [edx + eax*8], 1
jne 0x6a63f7
cmp dword [edx + eax*8 + 4], ebx
jne 0x6a63f7
mov edx, dword [ecx]
mov esi, dword [ebp + 0xc]
mov dword [esi + eax*4], edx
add ecx, 4
inc eax
cmp eax, dword [ebp - 4]
jb 0x6a63dd
cmp dword [ebp - 0x10], ebx
je 0x6a67c5
mov esi, dword [ebp - 0x10]
mov eax, esi
imul eax, eax, 0xb
push eax
mov ecx, edi
call fcn.00679900
cmp eax, ebx
jne 0x6a6438
push 0x40ba1c
push ebx
push dword [ebp + 8]
push dword [ebp - 0x30]
call fcn.0067afcf
add esp, 0x10
mov esi, 0x8007000e
jmp 0x6a688e
mov edx, esi
xor ecx, ecx
shl edx, 2
mov dword [ebp + ecx*4 - 0x5c], eax
inc ecx
add eax, edx
cmp ecx, 0xb
jb 0x6a643f
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x5c]
xor eax, eax
sub edx, ecx
mov dword [ebp + 0x14], eax
mov dword [ebp - 0x24], edx
mov esi, dword [ebp + 0x10]
cmp dword [esi + eax*8], 2
jne 0x6a648c
cmp dword [esi + eax*8 + 4], ebx
jne 0x6a648c
mov esi, dword [ebp + 0xc]
lea eax, [esi + eax*4]
mov esi, dword [eax]
mov dword [edx + ecx], esi
mov esi, dword [ebp + 8]
cmp dword [esi + 0x20], ebx
je 0x6a6481
mov eax, dword [eax]
jmp 0x6a6484
or eax, 0xffffffff
mov dword [ecx], eax
mov eax, dword [ebp + 0x14]
add ecx, 4
inc eax
cmp eax, dword [ebp - 4]
mov dword [ebp + 0x14], eax
jb 0x6a645b
xor edx, edx
inc edx
push dword [ebp - 0x10]
mov ecx, edi
push dword [ebp + edx*4 - 0x5c]
call fcn.0055719a
mov esi, eax
cmp esi, ebx
jl 0x6a688e
inc edx
cmp edx, 0xa
jb 0x6a6498
mov eax, dword [ebp - 0x10]
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x5c]
and eax, 0xfffff
push dword [ebp - 0x58]
mov dword [ebp + 0x14], eax
or eax, 0x10200000
push eax
push dword [ebp + 8]
mov ecx, edi
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x14]
push ebx
push ebx
push ebx
push 0x14
push ebx
push dword [ebp - 0x58]
or eax, 0x10400000
push dword [ebp - 0x54]
mov ecx, edi
push eax
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x14]
push ebx
push ebx
push ebx
push 0x18
push ebx
push dword [ebp - 0x54]
or eax, 0x10100000
push dword [ebp - 0x50]
mov ecx, edi
push eax
push dword [ebp + 8]
mov dword [ebp - 0x68], eax
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x14]
push ebx
push ebx
push ebx
push 2
push dword [ebp - 0x58]
or eax, 0x20400000
push dword [ebp - 0x50]
mov ecx, edi
push dword [ebp - 0x4c]
mov dword [ebp - 0x74], eax
push eax
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x5c]
mov ecx, edi
push dword [ebp - 0x48]
push dword [ebp - 0x68]
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x14]
push ebx
push ebx
push ebx
push 0x17
push dword [ebp - 0x48]
or eax, 0x20200000
push dword [ebp - 0x5c]
mov ecx, edi
push dword [ebp - 0x44]
mov dword [ebp - 0x28], eax
push eax
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x54]
mov ecx, edi
push dword [ebp - 0x40]
push dword [ebp - 0x68]
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push ebx
push ebx
push ebx
push 0x17
push dword [ebp - 0x54]
mov ecx, edi
push dword [ebp - 0x40]
push dword [ebp - 0x3c]
push dword [ebp - 0x28]
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov eax, dword [ebp + 0x14]
push ebx
push ebx
push ebx
push 0x17
push dword [ebp - 0x3c]
or eax, 0x20500000
push dword [ebp - 0x44]
mov ecx, edi
push dword [ebp - 0x38]
push eax
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
push ebx
push ebx
push ebx
push 2
push dword [ebp - 0x38]
mov ecx, edi
push dword [ebp - 0x4c]
push dword [ebp - 0x34]
push dword [ebp - 0x74]
push dword [ebp + 8]
call fcn.0067b74b
mov esi, eax
cmp esi, ebx
jl 0x6a688e
mov edx, dword [ebp - 0x34]
xor eax, eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 8], edx
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + eax*8], 2
jne 0x6a67b8
cmp dword [ecx + eax*8 + 4], ebx
jne 0x6a67b8
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [edx + ecx]
mov ecx, dword [eax + ecx*4]
mov edx, dword [edx]
mov esi, dword [eax + edx*4]
mov eax, dword [ecx]
mov dword [ebp - 0x38], eax
and eax, 0x800
or eax, ebx
je 0x6a66a4
mov eax, dword [ebp - 0x38]
or eax, 0x7000
mov dword [ecx], eax
mov eax, dword [ecx + 4]
mov dword [ecx + 4], eax
mov eax, dword [ecx]
and eax, 0x1000
or eax, ebx
je 0x6a67a0
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.006b83ea
fld qword [ebp - 0x2c]
push ecx
push ecx
fstp qword [esp]
call sub.msvcrt.dll__finite
test eax, eax
pop ecx
pop ecx
je 0x6a6707
fldz
push ecx
fcomp qword [ebp - 0x2c]
push ecx
fnstsw ax
fld qword [edi + 0x178]
test ah, 0x41
jp 0x6a66f6
fadd qword [ebp - 0x2c]
fstp qword [esp]
call sub.msvcrt.dll_floor
pop ecx
pop ecx
jmp 0x6a670a
fsub qword [ebp - 0x2c]
fstp qword [esp]
call sub.msvcrt.dll_floor
pop ecx
fchs
pop ecx
jmp 0x6a670a
fld qword [ebp - 0x2c]
push ecx
fstp qword [ebp - 0x78]
fld qword [ebp - 0x6c]
push ecx
fstp qword [esp]
call sub.msvcrt.dll__finite
test eax, eax
pop ecx
pop ecx
je 0x6a6754
fldz
push ecx
fcomp qword [ebp - 0x6c]
push ecx
fnstsw ax
fld qword [edi + 0x178]
test ah, 0x41
jp 0x6a6743
fadd qword [ebp - 0x6c]
fstp qword [esp]
call sub.msvcrt.dll_floor
pop ecx
pop ecx
jmp 0x6a6757
fsub qword [ebp - 0x6c]
fstp qword [esp]
call sub.msvcrt.dll_floor
pop ecx
fchs
pop ecx
jmp 0x6a6757
fld qword [ebp - 0x6c]
fstp qword [ebp - 0x64]
push 1
fld qword [ebp - 0x64]
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, esi
fld qword [ebp - 0x78]
fstp qword [esp]
call fcn.006b81ab
fld qword [ebp - 0x64]
mov eax, dword [esi + 4]
fcomp qword [ebp - 0x78]
or dword [esi], 0x1000
mov dword [esi + 4], eax
fnstsw ax
test ah, 0x44
mov eax, dword [esi + 4]
mov dword [esi + 4], eax
jp 0x6a679a
or dword [esi], 0x800
jmp 0x6a67a0
and dword [esi], 0xfffff7ff
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xc]
add dword [ebp + 8], 4
mov dword [ecx + edx*4], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
inc eax
cmp eax, dword [ebp - 4]
mov dword [ebp + 0x14], eax
jb 0x6a665b
xor ecx, ecx
cmp dword [ebp - 4], ebx
mov dword [ebp + 8], ecx
jbe 0x6a6861
mov edx, dword [edi + 8]
mov edx, dword [edx + 0x1c]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 0x14]
lea ecx, [edx + ecx*8]
mov esi, dword [ecx + 4]
mov edx, dword [ecx]
or dword [eax], edx
and esi, 0xfffffedb
or dword [eax + 4], esi
mov edx, dword [eax + 4]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x34], edx
and edx, 0x124
mov esi, ebx
and ecx, 0x124
or esi, edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], ebx
jne 0x6a6820
mov edx, ecx
mov dword [ebp - 0x28], edx
jmp 0x6a6823
mov esi, dword [ebp - 0x2c]
cmp dword [eax + 0x54], ebx
jne 0x6a6865
cmp edx, ecx
ja 0x6a6834
jb 0x6a6874
xor edx, edx
cmp esi, edx
jb 0x6a6871
mov dword [ebp - 0x60], ecx
xor esi, esi
mov ecx, dword [eax]
mov edx, dword [ebp - 0x34]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x60]
or dword [eax], esi
and edx, 0xfffffedb
mov dword [eax + 4], edx
or dword [eax + 4], ecx
mov ecx, dword [ebp + 8]
inc ecx
cmp ecx, dword [ebp - 4]
mov dword [ebp + 8], ecx
jb 0x6a67d3
xor esi, esi
jmp 0x6a688e
cmp edx, ecx
jb 0x6a6834
ja 0x6a6874
xor edx, edx
cmp esi, edx
jbe 0x6a6834
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x60], edx
jmp 0x6a6839
push 0x417f50
push ebx
push ebx
push edi
call fcn.0067afcf
add esp, 0x10
mov esi, 0x80004005
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
call fcn.00679a04
push dword [ebp - 0x70]
mov ecx, dword [ebp - 0x30]
call fcn.00679a04
push dword [ebp - 8]
mov ecx, dword [ebp - 0x30]
call fcn.00679a04
mov eax, esi
jmp 0x6a68b8
mov eax, 0x80004005
pop edi
pop esi
pop ebx
leave
ret 0x10