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

Disassembly:
push ebp
mov eax, 0x23ec
push edi
push esi
push ebx
call fcn.703e0830
sub esp, eax
mov esi, dword [esp + 0x2404]
mov edx, dword [esi]
mov ecx, dword [esi + 0x40]
mov ebx, dword [edx*8 + 0x7075e224]
mov ebp, dword [edx*8 + 0x7075e220]
mov dword [esp + 0x50], edx
mov edx, dword [esi + 4]
mov dword [esp + 0x68], ebx
imul ebx, ebp
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x2400]
mov eax, dword [ebx + 0x3a558]
mov edi, dword [ebx + 0x3a560]
cmp eax, ecx
mov ebx, eax
jg 0x6fd4092c
cmp ecx, edi
mov ebx, edi
cmovle ebx, ecx
add ebx, ebx
mov ecx, edx
sub ecx, ebx
mov ebx, eax
mov dword [esp + 0x70], ecx
mov ecx, dword [esi + 0x44]
cmp eax, ecx
jg 0x6fd40946
cmp ecx, edi
mov ebx, edi
cmovle ebx, ecx
add ebx, ebx
sub edx, ebx
mov ebx, dword [esp + 0x2408]
mov dword [esp + 0x6c], edx
mov ecx, dword [ebx + 0x40]
mov edx, dword [ebx + 4]
mov ebx, eax
cmp eax, ecx
jg 0x6fd40968
cmp ecx, edi
mov ebx, edi
cmovle ebx, ecx
add ebx, ebx
mov ecx, edx
sub ecx, ebx
mov ebx, dword [esp + 0x2408]
mov dword [esp + 0x7c], ecx
mov ecx, dword [ebx + 0x44]
cmp eax, ecx
jg 0x6fd40987
cmp ecx, edi
mov eax, edi
cmovle eax, ecx
add eax, eax
mov ebx, dword [esi + 0x54]
mov ecx, 0x400
sub edx, eax
xor eax, eax
mov dword [esp + 0x74], edx
mov edx, dword [esi + 0x50]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x2408]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x2408]
mov ebx, dword [ebx + 0x54]
mov edx, dword [edx + 0x50]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x60], edx
lea edx, [esp + 0x13e0]
mov edi, edx
mov edx, dword [esp + 0x68]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x5e0]
mov dword [esp + 0x14], ebx
lea edi, [esi + 0x10]
mov dword [esp + 8], ecx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x18], ebp
mov ebx, dword [esp + 0x2400]
mov dword [esp + 0xc], ebp
mov dword [esp + 0xd0], edi
mov dword [esp + 0x10], edx
mov eax, dword [esi + 0x38]
mov dword [esp], edi
lea edi, [esp + 0xee0]
mov dword [esp + 4], eax
call dword [ebx + 0x9f638]
mov edx, dword [esp + 0x2408]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
add edx, 0x10
mov dword [esp + 0xd4], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 8], edi
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x2408]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x2400]
mov eax, dword [edx + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [ebx + 0x9f638]
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0x5e0]
mov eax, dword [esp + 0x54]
lea ebx, [esp + 0xe0]
and edx, 7
and eax, 7
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x60]
and eax, 7
lea eax, [eax + edx*8]
mov edx, dword [esp + 0x4c]
lea eax, [esp + eax*8 + 0x23e0]
and edx, 7
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44720
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xee0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x2400]
mov dword [esp + 0xc], ebp
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [ecx + edx*4 + 0x9f66c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x2400]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
add edx, 0x27d70
mov dword [esp + 0x5c], edx
mov dword [esp], eax
call dword [ecx + edx*4 + 8]
mov edi, dword [esp + 0x64]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x2c], 0x10000000
mov dword [esp + 0x44], 0
movsx edx, word [ecx + edi*2]
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x6c]
add eax, edx
movsx edx, word [ecx + edi*2]
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x7c]
add eax, edx
movsx edx, word [ecx + edi*2]
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x74]
add eax, edx
movsx edx, word [ecx + edi*2]
mov edi, dword [esp + 0x2400]
add eax, edx
mov edx, dword [esp + 0x64]
cmp eax, 0x10000000
cmovge eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
jmp 0x6fd4381a
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x88], edx
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x3c]
and ecx, 7
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x40]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0xb4]
lea eax, [edx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [ecx + eax - 0x1000], 0
jne 0x6fd40d0a
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov dword [esp + 0x38], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xb4]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x5e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44246
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xde0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x78]
movsx edx, word [ecx]
mov ecx, dword [esp + 0x84]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x38]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0xa0]
add edx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x30], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x30]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd40cfe
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], ecx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd44180
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x4c]
and ecx, 7
and edx, 7
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd44031
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov dword [esp + 0x84], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x5e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd443b0
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0x11e0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x30], edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x84]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0xa8]
add edx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x48], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jl 0x6fd44095
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x60]
test eax, eax
mov dword [esp + 0xb0], edx
je 0x6fd440be
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x3c]
and ecx, 7
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x40]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0x38]
lea eax, [edx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [ecx + eax - 0x1000], 0
jne 0x6fd40fe7
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x5e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44220
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xbe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x78]
movsx edx, word [ecx]
mov ecx, dword [esp + 0x84]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x90]
add edx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x48], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd40fdb
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0xb0], ecx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd44168
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x3c]
and ecx, 7
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x34]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd44021
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x3c]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x6e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd441f6
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x80], edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0xa4]
add edx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x48], edx
movsx edx, word [eax + ecx*2]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x30]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jl 0x6fd440d4
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x54]
test eax, eax
mov dword [esp + 0x84], edx
je 0x6fd44108
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x3c]
and ecx, 7
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x34]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd412b6
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0x3c]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x4e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd443d6
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x78]
movsx edx, word [ecx]
mov ecx, dword [esp + 0x98]
add edx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x48], edx
movsx edx, word [eax + ecx*2]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x30]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd412aa
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x84], ecx
mov dword [esp + 0xb0], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd44150
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x40]
and ecx, 7
lea eax, [edx + ecx*8]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x34]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd44011
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x8e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd441d0
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x70]
movsx ecx, word [edx + ecx*2]
add eax, ecx
mov ecx, dword [esp + 0x48]
movsx edx, word [ecx]
mov ecx, dword [esp + 0x80]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x30]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jl 0x6fd44041
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x64]
test ecx, ecx
mov dword [esp + 0xcc], edx
je 0x6fd44080
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x40]
and ecx, 7
lea eax, [edx + ecx*8]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x34]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd41576
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x2e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44296
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x9c]
movsx edx, word [ecx + edx*2]
mov ecx, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x80]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x30]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd4156e
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x44]
test edx, edx
je 0x6fd415b6
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0x8c]
lea eax, [edx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [ecx + eax - 0x1000], 0
jne 0x6fd416ea
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x6c]
lea edx, [ecx + edx*2]
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x8c]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x5e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd442e6
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0x12e0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x30], edx
movsx edx, word [edx]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0xa8]
add edx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x80], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xac]
add edx, dword [esp + 0x80]
mov dword [esp + 0x80], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x80]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd416e2
mov edx, dword [esp + 0x54]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd41739
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xb4]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd41856
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xb4]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x5e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd442c0
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xae0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x30]
movsx edx, word [ecx]
mov ecx, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x90]
add edx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x48], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xa0]
add edx, dword [esp + 0x48]
mov dword [esp + 0x48], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x48]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd4184e
mov edx, dword [esp + 0x54]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd41896
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xc0]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd419d5
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x70]
lea edx, [ecx + edx*2]
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xc0]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x6e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44566
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0x11e0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x48], edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0xa4]
add edx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x80], edx
movsx edx, word [eax + ecx*2]
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0x7c]
add edx, dword [esp + 0x80]
mov dword [esp + 0x80], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd419cd
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd41a24
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xbc]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd41b48
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xbc]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x4e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44540
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xbe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x30]
movsx edx, word [ecx]
mov ecx, dword [esp + 0x98]
add edx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x30], edx
movsx edx, word [eax + ecx*2]
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x7c]
add edx, dword [esp + 0x30]
mov dword [esp + 0x30], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd41b40
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd41b88
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xc0]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd41cbb
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x74]
lea edx, [ecx + edx*2]
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xc0]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x9e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44516
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x70]
movsx ecx, word [edx + ecx*2]
add eax, ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x6c]
movsx edx, word [eax + ecx*2]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x80]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd41cb3
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x84], ecx
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd41d07
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0xbc]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd41e28
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0xbc]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x1e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd444f0
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x9c]
movsx edx, word [ecx + edx*2]
mov ecx, dword [esp + 0x98]
add eax, edx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x6c]
movsx edx, word [eax + ecx*2]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x80]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd41e20
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x84], ecx
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd41e68
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x8c]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd41f94
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x7c]
lea edx, [ecx + edx*2]
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x8c]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x8e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd444c6
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xfe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x70]
movsx ecx, word [edx + ecx*2]
add eax, ecx
mov ecx, dword [esp + 0x48]
movsx edx, word [ecx]
mov ecx, dword [esp + 0x30]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0xac]
add edx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x80], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x80]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd41f8c
mov edx, dword [esp + 0x60]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x2c], eax
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x84], edx
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x6fd41fe0
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x40]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0xb4]
lea eax, [edx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [ecx + eax - 0x1000], 0
jne 0x6fd420f4
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xb4]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x2e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd444a0
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xde0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x9c]
movsx edx, word [ecx + edx*2]
mov ecx, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x30]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0xa0]
add edx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x48], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x48]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd420ec
mov edx, dword [esp + 0x60]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x44]
test edx, edx
je 0x6fd42134
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0xc0]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x8c]
lea eax, [edx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [ecx + eax - 0x1000], 0
jne 0x6fd4226a
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x7c]
lea edx, [ecx + edx*2]
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xc0]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x8c]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x6e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44476
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xfe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x48], edx
movsx edx, word [edx]
add edx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x80], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x30]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0xac]
add edx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x80], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x80]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd42262
mov edx, dword [esp + 0x60]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x84], ecx
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd422b9
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xbc]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xb4]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd423d8
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xbc]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xb4]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x4e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44450
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xde0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x48]
movsx edx, word [ecx]
mov ecx, dword [esp + 0x98]
add edx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x48], edx
movsx edx, word [eax + ecx*2]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0xa0]
add edx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x30], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x30]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd423d0
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd4254b
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x8e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44270
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0x11e0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x70]
movsx ecx, word [edx + ecx*2]
add eax, ecx
mov ecx, dword [esp + 0x48]
movsx edx, word [ecx]
mov ecx, dword [esp + 0xa8]
add edx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x80], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x30]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd42543
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x84], edx
mov dword [esp + 0xcc], ecx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd42597
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x40]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0x38]
lea eax, [edx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [ecx + eax - 0x1000], 0
jne 0x6fd426ba
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x2e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44400
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xbe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x90]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x70]
movsx ecx, word [edx + ecx*2]
add eax, ecx
mov ecx, dword [esp + 0x48]
movsx edx, word [ecx]
mov ecx, dword [esp + 0x80]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x30]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd426b2
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x84], edx
mov dword [esp + 0xcc], ecx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd4270f
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0x8c]
lea eax, [edx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [ecx + eax - 0x1000], 0
jne 0x6fd42832
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x7c]
lea ecx, [edx + ecx*2]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0x8c]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x58]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [ecx + eax - 0x1000], 1
lea ecx, [esp + 0x5e0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp], ebx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44606
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xce0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x30], edx
movsx edx, word [edx]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x80]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0xac]
add edx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x80], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x80]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd4282a
mov edx, dword [esp + 0x54]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd42881
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xb4]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd429a8
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xb4]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x5e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd445e0
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0x10e0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0xa8]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x80], edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x80]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0xa0]
add edx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x48], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x48]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd429a0
mov edx, dword [esp + 0x54]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd429fd
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xbc]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd42b25
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x7c]
lea ecx, [edx + ecx*2]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0xbc]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0x38]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x58]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [ecx + eax - 0x1000], 1
lea ecx, [esp + 0x4e0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp], ebx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd446a6
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0x11e0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x48], edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x98]
add edx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], edx
movsx edx, word [eax + ecx*2]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x28]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd42b1d
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0xcc], edx
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x6fd42b74
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xc0]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd42ca2
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xc0]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x6e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44680
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xbe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xa4]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x80], edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x80]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x90]
add edx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x30], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd42c9a
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0x44]
test edx, edx
je 0x6fd42cf4
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0xc0]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd42e11
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0xa4]
lea ecx, [edx + ecx*2]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x74]
lea edx, [ecx + edx*2]
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0xc0]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x3e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44656
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x70]
movsx ecx, word [edx + ecx*2]
add eax, ecx
mov ecx, dword [esp + 0x80]
movsx edx, word [ecx]
mov ecx, dword [esp + 0x30]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd42e09
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x84], ecx
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd42e60
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd42f87
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x7e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44630
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x94]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x80], edx
movsx edx, word [edx]
add edx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], edx
movsx edx, word [eax + ecx*2]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd42f7f
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x84], ecx
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd42fdc
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xb4]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd43103
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x70]
lea ecx, [edx + ecx*2]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x40]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0xb4]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x58]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [ecx + eax - 0x1000], 1
lea ecx, [esp + 0x8e0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp], ebx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44386
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xde0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x48], edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x30]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0xa0]
add edx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x80], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x80]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd430fb
mov edx, dword [esp + 0x60]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x2c], eax
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x84], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd4314f
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x40]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x8c]
lea eax, [edx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [ecx + eax - 0x1000], 0
jne 0x6fd43272
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x8c]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x2e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44360
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xfe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xac]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x70]
movsx ecx, word [edx + ecx*2]
add eax, ecx
mov ecx, dword [esp + 0x48]
movsx edx, word [ecx]
mov ecx, dword [esp + 0x30]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x80]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd4326a
mov edx, dword [esp + 0xac]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x84], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd432c7
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0xbc]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x8c]
lea eax, [edx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [ecx + eax - 0x1000], 0
jne 0x6fd433ee
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x74]
lea ecx, [edx + ecx*2]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0xbc]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x8c]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x58]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [ecx + eax - 0x1000], 1
lea ecx, [esp + 0x4e0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp], ebx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44336
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xfe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x8c], edx
movsx edx, word [edx]
add edx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x48], edx
movsx edx, word [eax + ecx*2]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x48]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x80]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd433e6
mov edx, dword [esp + 0xac]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x84], ecx
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd43440
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xc0]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xb4]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd43562
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xc0]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xb4]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x6e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44310
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xde0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x8c]
movsx edx, word [ecx]
mov ecx, dword [esp + 0xa4]
add edx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x34], edx
movsx edx, word [eax + ecx*2]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0xa0]
add edx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x30], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x30]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd4355a
mov edx, dword [esp + 0x60]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x84], ecx
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd43590
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [edx + eax - 0x1000], 0
jne 0x6fd436cd
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x2e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44426
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0x11e0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x70]
movsx ecx, word [edx + ecx*2]
add eax, ecx
mov ecx, dword [esp + 0x34]
movsx edx, word [ecx]
mov ecx, dword [esp + 0xa8]
add edx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x30], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jge 0x6fd436c1
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x84], edx
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x6fd43efa
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x40]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0x38]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x54]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [ecx + eax - 0x1000], 0
je 0x6fd43ee0
mov ecx, dword [esp + 0xb0]
cmp dword [esp + 0x84], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xcc]
sete al
mov dword [esp + 0x54], edx
mov dword [esp + 0xd8], ecx
mov edx, dword [esp + 0x64]
cmp dword [esp + 0xd8], edx
jne 0x6fd43755
test al, al
je 0x6fd43755
mov edx, dword [esp + 0x4c]
cmp dword [esp + 0x88], edx
je 0x6fd446d0
mov edx, dword [esp + 0x68]
lea eax, [esp + 0x5e0]
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x38]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0xee0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2408]
mov eax, dword [edx + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
add dword [esp + 0x44], 1
cmp dword [esp + 0x44], 8
je 0x6fd446e1
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
add edx, 1
mov dword [esp + 0x94], edx
mov ecx, dword [esp + 0x94]
lea eax, [esp + 0x8e0]
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 8], eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x38]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x60]
lea eax, [esp + 0x11e0]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
add edx, 1
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x2408]
mov eax, dword [edx + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x64]
lea eax, [esp + 0x2e0]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
sub edx, 1
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x38]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x60]
lea eax, [esp + 0xbe0]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
sub edx, 1
mov dword [esp + 0x90], edx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x2408]
mov eax, dword [edx + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
add edx, 1
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x6e0]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x38]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
add edx, 1
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0xfe0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2408]
mov eax, dword [edx + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
sub edx, 1
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x4e0]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x38]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
sub edx, 1
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0xde0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2408]
mov eax, dword [edx + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x9e0]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x38]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x12e0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2408]
mov eax, dword [edx + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x1e0]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x38]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0xae0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2408]
mov eax, dword [edx + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x7e0]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x38]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x10e0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2408]
mov eax, dword [edx + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x3e0]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x38]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0xce0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2408]
mov eax, dword [edx + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [edi + 0x9f638]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x44]
and edx, 7
test ecx, ecx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x54]
je 0x6fd441a1
and edx, 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x60]
and ecx, 7
and edx, 7
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x40]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x8c]
lea eax, [edx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
cmp byte [ecx + eax - 0x1000], 0
jne 0x6fd40ba1
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
lea eax, [ecx + edx*8]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x8c]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x58]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [ecx + eax - 0x1000], 1
lea ecx, [esp + 0x5e0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp], ebx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd445b6
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xfe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x54]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x60]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x38], edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x84]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x38]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0xac]
add edx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x30], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x30]
add eax, edx
cmp eax, dword [esp + 0x2c]
jl 0x6fd44140
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x88], edx
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x6fd40bac
mov edx, dword [esp + 0xa0]
and edx, 7
mov dword [esp + 0xb4], edx
jmp 0x6fd40c1b
mov ecx, dword [esp + 0x6c]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx*2]
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x40]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
lea eax, [esp + eax*8 + 0x23e0]
mov byte [edx + eax - 0x1000], 1
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x8e0]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x240c], 0x20
je 0x6fd44590
mov edx, dword [esp + 0x240c]
lea ecx, [esp + 0xbe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f66c]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x94]
movsx edx, word [ecx + edx*2]
mov ecx, dword [esp + 0x34]
add eax, edx
movsx edx, word [ecx]
mov ecx, dword [esp + 0x90]
add edx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x30], edx
movsx edx, word [eax + ecx*2]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
add eax, edx
movsx edx, word [ecx]
add eax, edx
cmp eax, dword [esp + 0x2c]
jl 0x6fd44120
mov edx, dword [esp + 0x84]
cmp dword [esp + 0x54], edx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0xcc]
sete al
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xd8], edx
jmp 0x6fd43733
mov edx, dword [esp + 0x64]
mov dword [esp + 0xcc], edx
jmp 0x6fd41409
mov edx, dword [esp + 0x54]
mov dword [esp + 0x84], edx
jmp 0x6fd41142
mov edx, dword [esp + 0x60]
mov dword [esp + 0xb0], edx
jmp 0x6fd40e77
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x54]
test ecx, ecx
mov dword [esp + 0x84], edx
jne 0x6fd41409
mov edx, dword [esp + 0x9c]
and edx, 7
mov dword [esp + 0x78], edx
mov ecx, edx
jmp 0x6fd41472
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0xa8]
test eax, eax
mov dword [esp + 0x88], edx
mov dword [esp + 0xb0], ecx
jne 0x6fd40e77
mov edx, dword [esp + 0x90]
and edx, 7
mov dword [esp + 0xc4], edx
jmp 0x6fd40ee6
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x60]
test eax, eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0xb0], edx
jne 0x6fd41142
mov edx, dword [esp + 0x98]
and edx, 7
mov dword [esp + 0xbc], edx
jmp 0x6fd411b1
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
mov eax, 1
mov dword [esp + 0x88], edx
jmp 0x6fd43733
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], ecx
jmp 0x6fd43eb7
mov edx, dword [esp + 0x94]
and edx, 7
mov dword [esp + 0xb8], edx
mov ecx, edx
jmp 0x6fd41316
mov edx, dword [esp + 0xa4]
and edx, 7
mov dword [esp + 0xc0], edx
jmp 0x6fd41044
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x4c]
and ecx, 7
and edx, 7
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x38], edx
jmp 0x6fd40d75
and edx, 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x60]
and ecx, 7
and edx, 7
mov dword [esp + 0x34], edx
mov dword [esp + 0x8c], ecx
jmp 0x6fd43da0
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd4138c
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd410ba
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xbe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd40f63
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xde0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd40c98
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x11e0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd42489
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd414e8
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xae0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd417b9
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x12e0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd41636
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xde0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd434c0
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xfe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd43347
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xfe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd431cc
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xde0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd4305c
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x11e0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd40df2
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd41227
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xbe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd42614
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x11e0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd4360d
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xde0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd42339
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xfe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd421b4
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xde0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd4205d
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xfe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd41ee8
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd41d84
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd41c08
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xbe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd41aa4
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x11e0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd41916
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xbe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd43f7a
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xfe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd43e1d
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x10e0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd42901
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xce0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd4278f
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd42ee0
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xee0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd42d71
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xbe0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd42bf4
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x11e0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [edi + edx*4 + 0x9f644]
jmp 0x6fd42a7d
mov edx, dword [esp + 0x60]
cmp dword [esp + 0xdc], edx
jne 0x6fd43755
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x54]
mov edx, dword [esp + 0x2408]
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x50], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esi + 0x54], ebx
mov ebx, dword [esp + 0x88]
mov dword [edx + 0x50], ecx
mov dword [edx + 0x54], ebx
add esp, 0x23ec
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x50]
lea edi, [esp + 0xee0]
mov ecx, dword [esp + 0x2400]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], edi
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [ecx + edx*4 + 0x9f644]
jmp 0x6fd40b0c