Function at 0x64b798
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff80
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x2c], eax
cmp dword [ebx + 0x268], 3
mov edx, dword [ebx + 0x54]
add edx, 2
mov dword [ebp - 0x18], edx
xor esi, esi
xor eax, eax
cmp eax, dword [ebp - 0x18]
jge 0x64b7db
mov edx, esi
shl edx, 7
add edx, esi
lea ecx, [ebx + edx*2]
mov byte [ecx + eax + 0x9324], 0xf
inc eax
cmp eax, dword [ebp - 0x18]
jl 0x64b7c3
inc esi
cmp esi, 6
jl 0x64b7bc
cmp dword [ebx + 0x274], 0
jg 0x64b7f5
push 0xbb9
call fcn.0064902c
pop ecx
cmp dword [ebx + 0x274], 0xc8
jge 0x64b80a
mov dword [ebp - 0x24], 2
jmp 0x64b850
cmp dword [ebx + 0x274], 0x258
jge 0x64b81f
mov dword [ebp - 0x24], 3
jmp 0x64b850
cmp dword [ebx + 0x274], 0x4b0
jge 0x64b834
mov dword [ebp - 0x24], 4
jmp 0x64b850
cmp dword [ebx + 0x274], 0x960
jge 0x64b849
mov dword [ebp - 0x24], 5
jmp 0x64b850
mov dword [ebp - 0x24], 6
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebx + 0x274]
mov dword [ebp - 0x30], eax
xor edi, edi
test ecx, ecx
jle 0x64b928
mov eax, dword [ebp - 0x30]
cdq
idiv ecx
lea edx, [edi - 1]
mov dword [ebp - 8], edx
xor edx, edx
mov dword [ebp - 0x34], edx
jmp 0x64b889
inc dword [ebp - 8]
mov edx, dword [ebp - 8]
mov edx, dword [ebx + edx*4 + 0x278]
add dword [ebp - 0x34], edx
cmp eax, dword [ebp - 0x34]
jle 0x64b897
mov edx, dword [ebp - 0x18]
dec edx
cmp edx, dword [ebp - 8]
jg 0x64b879
cmp edi, dword [ebp - 8]
jge 0x64b8ca
cmp ecx, dword [ebp - 0x24]
je 0x64b8ca
cmp ecx, 1
je 0x64b8ca
mov eax, dword [ebp - 0x24]
sub eax, ecx
and eax, 0x80000001
jns 0x64b8b7
dec eax
or eax, 0xfffffffe
inc eax
dec eax
jne 0x64b8ca
mov esi, dword [ebp - 8]
mov eax, dword [ebx + esi*4 + 0x278]
sub dword [ebp - 0x34], eax
dec dword [ebp - 8]
cmp dword [ebx + 0x268], 3
xor eax, eax
cmp eax, dword [ebp - 0x18]
jge 0x64b915
cmp edi, eax
jg 0x64b8f9
cmp eax, dword [ebp - 8]
jg 0x64b8f9
mov edx, ecx
shl edx, 7
add edx, ecx
lea edx, [ebx + edx*2 - 0x102]
mov byte [edx + eax + 0x9324], 0
jmp 0x64b90f
mov edx, ecx
shl edx, 7
add edx, ecx
lea edx, [ebx + edx*2 - 0x102]
mov byte [edx + eax + 0x9324], 0xf
inc eax
cmp eax, dword [ebp - 0x18]
jl 0x64b8d8
dec ecx
mov edi, dword [ebp - 8]
inc edi
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
test ecx, ecx
jg 0x64b866
xor edx, edx
mov dword [ebp - 0x10], edx
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x64b940
xor eax, eax
mov dword [ebp + esi*4 - 0x70], eax
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x64b934
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x64b96d
xor eax, eax
cmp eax, dword [ebp - 0x18]
jge 0x64b967
mov edx, esi
shl edx, 7
add edx, esi
lea ecx, [ebx + edx*8]
xor edx, edx
mov dword [ecx + eax*4 + 0xb160], edx
inc eax
cmp eax, dword [ebp - 0x18]
jl 0x64b94e
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x64b947
cmp dword [ebp - 0x24], 6
jne 0x64b9e9
xor eax, eax
cmp eax, dword [ebp - 0x18]
jge 0x64b9e9
xor ecx, ecx
mov cl, byte [ebx + eax + 0x9426]
shl ecx, 0x10
xor edx, edx
mov dl, byte [ebx + eax + 0x9324]
or ecx, edx
mov edx, eax
shl edx, 4
mov dword [ebx + edx + 0xc990], ecx
xor ecx, ecx
mov cl, byte [ebx + eax + 0x962a]
shl ecx, 0x10
xor edx, edx
mov dl, byte [ebx + eax + 0x9528]
or ecx, edx
mov edx, eax
shl edx, 4
mov dword [ebx + edx + 0xc994], ecx
xor ecx, ecx
mov cl, byte [ebx + eax + 0x982e]
shl ecx, 0x10
xor edx, edx
mov dl, byte [ebx + eax + 0x972c]
or ecx, edx
mov edx, eax
shl edx, 4
mov dword [ebx + edx + 0xc998], ecx
inc eax
cmp eax, dword [ebp - 0x18]
jl 0x64b97a
xor eax, eax
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov dword [ebp - 0xc], ecx
xor edi, edi
cmp edi, dword [ebx + 0x274]
jge 0x64caa1
lea eax, [edi + 0x31]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
cmp edx, dword [ebx + 0x274]
jl 0x64ba1c
mov ecx, dword [ebx + 0x274]
dec ecx
mov dword [ebp - 8], ecx
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x64ba30
mov word [ebp + esi*2 - 0x58], 0
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x64ba23
cmp dword [ebp - 0x24], 6
jne 0x64c4eb
mov eax, dword [ebp - 8]
sub eax, edi
inc eax
cmp eax, 0x32
jne 0x64c4eb
xor ecx, ecx
mov edx, ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 2]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 4]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 6]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 8]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0xa]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0xc]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0xe]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x10]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x12]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x14]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x16]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x18]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x1a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x1c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x1e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x20]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x22]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x24]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x26]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x28]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x2a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x2c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x2e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x30]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x32]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x34]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x36]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x38]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x3a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x3c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x3e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x40]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x42]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x44]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x46]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x48]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x4a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x4c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x4e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x50]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x52]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x54]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x56]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x58]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x5a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x5c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x5e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x60]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x62]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov ax, word [ebp - 0x38]
and ax, 0xffff
mov word [ebp - 0x58], ax
mov ecx, dword [ebp - 0x38]
shr ecx, 0x10
mov word [ebp - 0x56], cx
mov ax, word [ebp - 0x3c]
and ax, 0xffff
mov word [ebp - 0x54], ax
mov ecx, dword [ebp - 0x3c]
shr ecx, 0x10
mov word [ebp - 0x52], cx
mov eax, edx
and ax, 0xffff
mov word [ebp - 0x50], ax
shr edx, 0x10
mov word [ebp - 0x4e], dx
jmp 0x64c532
mov dword [ebp - 4], edi
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 8]
jg 0x64c532
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 4]
mov ax, word [ecx + esi*2]
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x64c527
movzx edx, ax
mov ecx, esi
shl ecx, 7
add ecx, esi
lea ecx, [ebx + ecx*2]
movzx edx, byte [ecx + edx + 0x9324]
add word [ebp + esi*2 - 0x58], dx
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x64c507
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jle 0x64c4f6
mov edx, 0x3b9ac9ff
or eax, 0xffffffff
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x64c557
movzx ecx, word [ebp + esi*2 - 0x58]
cmp edx, ecx
jle 0x64c551
movzx edx, word [ebp + esi*2 - 0x58]
mov eax, esi
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x64c541
add dword [ebp - 0xc], edx
inc dword [ebp + eax*4 - 0x70]
mov edx, dword [ebp - 0x14]
mov byte [ebx + edx + 0x680], al
inc dword [ebp - 0x14]
cmp dword [ebp - 0x24], 6
jne 0x64ca67
mov ecx, dword [ebp - 8]
sub ecx, edi
inc ecx
cmp ecx, 0x32
jne 0x64ca67
mov edx, dword [ebp - 0x2c]
movzx ecx, word [edx + edi*2]
mov edx, eax
shl edx, 7
add edx, eax
lea edx, [ebx + edx*8]
inc dword [edx + ecx*4 + 0xb160]
mov ecx, dword [ebp - 0x2c]
movzx edx, word [ecx + edi*2 + 2]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 4]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 6]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 8]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0xa]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0xc]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0xe]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x10]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x12]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x14]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x16]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x18]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x1a]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x1c]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x1e]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x20]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x22]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x24]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x26]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x28]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x2a]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x2c]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x2e]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x30]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x32]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x34]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x36]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x38]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x3a]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x3c]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x3e]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x40]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x42]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x44]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x46]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x48]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x4a]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x4c]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x4e]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x50]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x52]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x54]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x56]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x58]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x5a]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x5c]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x5e]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x60]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x62]
mov ecx, eax
shl eax, 7
add eax, ecx
lea eax, [ebx + eax*8]
inc dword [eax + edx*4 + 0xb160]
jmp 0x64ca98
mov dword [ebp - 4], edi
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 8]
jg 0x64ca98
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
movzx ecx, word [ecx + edx*2]
mov edx, eax
shl edx, 7
add edx, eax
lea edx, [ebx + edx*8]
inc dword [edx + ecx*4 + 0xb160]
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
jle 0x64ca72
mov edi, dword [ebp - 8]
inc edi
jmp 0x64b9f5
cmp dword [ebx + 0x268], 3
jl 0x64cab7
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x64cab7
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x64cab1
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x64caee
push 0x11
push dword [ebp - 0x18]
imul eax, esi, 0x408
add eax, ebx
add eax, 0xb160
push eax
imul edx, esi, 0x102
add edx, ebx
add edx, 0x9324
push edx
call fcn.0064b074
add esp, 0x10
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x64cabe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x64b92d
cmp dword [ebp - 0x24], 8
jl 0x64cb0c
push 0xbba
call fcn.0064902c
pop ecx
cmp dword [ebp - 0x14], 0x8000
jge 0x64cb1e
cmp dword [ebp - 0x14], 0x4652
jle 0x64cb29
push 0xbbb
call fcn.0064902c
pop ecx
xor ecx, ecx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x24]
jge 0x64cb4b
mov al, byte [ebp - 4]
mov edx, dword [ebp - 4]
mov byte [ebp + edx - 0x44], al
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x24]
jl 0x64cb36
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x14]
jge 0x64cb9a
mov ecx, dword [ebp - 4]
mov al, byte [ebx + ecx + 0x680]
mov byte [ebp - 0x45], al
xor esi, esi
mov al, byte [ebp + esi - 0x44]
cmp al, byte [ebp - 0x45]
je 0x64cb80
inc esi
mov edx, eax
mov al, byte [ebp + esi - 0x44]
mov byte [ebp + esi - 0x44], dl
cmp al, byte [ebp - 0x45]
jne 0x64cb70
mov byte [ebp - 0x44], al
mov edx, esi
mov ecx, dword [ebp - 4]
mov byte [ebx + ecx + 0x4cd2], dl
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x14]
jl 0x64cb58
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x64cc81
mov edi, 0x20
xor eax, eax
mov dword [ebp - 0x1c], eax
xor edx, edx
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x18]
jge 0x64cc29
mov ecx, esi
shl ecx, 7
add ecx, esi
lea eax, [ebx + ecx*2]
mov edx, dword [ebp - 4]
xor ecx, ecx
mov cl, byte [eax + edx + 0x9324]
cmp ecx, dword [ebp - 0x1c]
jle 0x64cbef
mov eax, esi
shl eax, 7
add eax, esi
lea edx, [ebx + eax*2]
mov eax, dword [ebp - 4]
movzx edx, byte [edx + eax + 0x9324]
mov dword [ebp - 0x1c], edx
mov ecx, esi
shl ecx, 7
add ecx, esi
lea ecx, [ebx + ecx*2]
mov eax, dword [ebp - 4]
xor edx, edx
mov dl, byte [ecx + eax + 0x9324]
cmp edi, edx
jle 0x64cc1e
mov ecx, esi
shl ecx, 7
add ecx, esi
lea eax, [ebx + ecx*2]
mov edx, dword [ebp - 4]
movzx edi, byte [eax + edx + 0x9324]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x18]
jl 0x64cbbc
cmp dword [ebp - 0x1c], 0x11
jle 0x64cc3a
push 0xbbc
call fcn.0064902c
pop ecx
cmp edi, 1
jge 0x64cc4a
push 0xbbd
call fcn.0064902c
pop ecx
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push edi
imul edx, esi, 0x102
add edx, ebx
add edx, 0x9324
push edx
imul ecx, esi, 0x408
add ecx, ebx
add ecx, 0x9930
push ecx
call fcn.0064b376
add esp, 0x14
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x64cba5
xor ecx, ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x80], 0
xor esi, esi
mov eax, dword [ebp - 4]
shl eax, 4
lea edx, [ebx + eax]
cmp byte [edx + esi + 0x58], 0
je 0x64cca8
mov ecx, dword [ebp - 4]
mov byte [ebp + ecx - 0x80], 1
inc esi
cmp esi, 0x10
jl 0x64cc90
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
jl 0x64cc86
mov ecx, dword [ebx + 0x4c]
mov dword [ebp - 0x28], ecx
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
cmp byte [ebp + edx - 0x80], 0
je 0x64ccdb
push 1
push 1
push ebx
call fcn.0064b4d0
add esp, 0xc
jmp 0x64cce8
push 0
push 1
push ebx
call fcn.0064b4d0
add esp, 0xc
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
jl 0x64ccc2
xor ecx, ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cmp byte [ebp + eax - 0x80], 0
je 0x64cd34
xor esi, esi
mov eax, dword [ebp - 4]
shl eax, 4
lea edx, [ebx + eax]
cmp byte [edx + esi + 0x58], 0
je 0x64cd21
push 1
push 1
push ebx
call fcn.0064b4d0
add esp, 0xc
jmp 0x64cd2e
push 0
push 1
push ebx
call fcn.0064b4d0
add esp, 0xc
inc esi
cmp esi, 0x10
jl 0x64cd02
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
jl 0x64ccf6
cmp dword [ebx + 0x268], 3
mov ecx, dword [ebx + 0x4c]
mov dword [ebp - 0x28], ecx
push dword [ebp - 0x24]
push 3
push ebx
call fcn.0064b4d0
add esp, 0xc
push dword [ebp - 0x14]
push 0xf
push ebx
call fcn.0064b4d0
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x14]
jge 0x64cdad
xor esi, esi
jmp 0x64cd85
push 1
push 1
push ebx
call fcn.0064b4d0
add esp, 0xc
inc esi
mov eax, dword [ebp - 4]
xor edx, edx
mov dl, byte [ebx + eax + 0x4cd2]
cmp esi, edx
jl 0x64cd77
push 0
push 1
push ebx
call fcn.0064b4d0
add esp, 0xc
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x14]
jl 0x64cd73
cmp dword [ebx + 0x268], 3
mov ecx, dword [ebx + 0x4c]
mov dword [ebp - 0x28], ecx
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x64ce63
mov eax, esi
shl eax, 7
add eax, esi
movzx edi, byte [ebx + eax*2 + 0x9324]
push edi
push 5
push ebx
call fcn.0064b4d0
add esp, 0xc
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x18]
jge 0x64ce59
jmp 0x64cdfd
push 2
push 2
push ebx
call fcn.0064b4d0
add esp, 0xc
inc edi
mov ecx, esi
shl ecx, 7
add ecx, esi
lea ecx, [ebx + ecx*2]
mov eax, dword [ebp - 4]
xor edx, edx
mov dl, byte [ecx + eax + 0x9324]
cmp edi, edx
jl 0x64cdef
jmp 0x64ce27
push 3
push 2
push ebx
call fcn.0064b4d0
add esp, 0xc
dec edi
mov ecx, esi
shl ecx, 7
add ecx, esi
lea eax, [ebx + ecx*2]
mov edx, dword [ebp - 4]
xor ecx, ecx
mov cl, byte [eax + edx + 0x9324]
cmp edi, ecx
jg 0x64ce19
push 0
push 1
push ebx
call fcn.0064b4d0
add esp, 0xc
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x18]
jl 0x64cdfd
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x64cdc5
cmp dword [ebx + 0x268], 3
mov edx, dword [ebx + 0x4c]
mov dword [ebp - 0x28], edx
xor ecx, ecx
mov dword [ebp - 0x20], ecx
xor edi, edi
cmp edi, dword [ebx + 0x274]
jge 0x64d65c
lea eax, [edi + 0x31]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
cmp edx, dword [ebx + 0x274]
jl 0x64ce9e
mov ecx, dword [ebx + 0x274]
dec ecx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x20]
xor eax, eax
mov al, byte [ebx + ecx + 0x680]
cmp eax, dword [ebp - 0x24]
jl 0x64ceba
push 0xbbe
call fcn.0064902c
pop ecx
cmp dword [ebp - 0x24], 6
jne 0x64d5e1
mov edx, dword [ebp - 8]
sub edx, edi
inc edx
cmp edx, 0x32
jne 0x64d5e1
mov ecx, dword [ebp - 0x20]
xor eax, eax
mov al, byte [ebx + ecx + 0x680]
imul esi, eax, 0x102
add esi, ebx
add esi, 0x9324
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dl, byte [ebx + eax + 0x680]
imul ecx, edx, 0x408
add ecx, ebx
add ecx, 0x9930
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 2]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 4]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 6]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 8]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0xa]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0xc]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0xe]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x10]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x12]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x14]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x16]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x18]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x1a]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x1c]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x1e]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x20]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x22]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x24]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x26]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x28]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x2a]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x2c]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x2e]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x30]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x32]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x34]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x36]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x38]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x3a]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x3c]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x3e]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x40]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x42]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x44]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x46]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x48]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x4a]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x4c]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x4e]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x50]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x52]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x54]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x56]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x58]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x5a]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x5c]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x5e]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x60]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x62]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
jmp 0x64d650
mov dword [ebp - 4], edi
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
jg 0x64d650
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
movzx ecx, word [eax + edx*2]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dl, byte [ebx + eax + 0x680]
mov eax, edx
shl eax, 7
add eax, edx
lea edx, [ebx + eax*8]
push dword [edx + ecx*4 + 0x9930]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
movzx edx, word [ecx + eax*2]
mov ecx, dword [ebp - 0x20]
xor eax, eax
mov al, byte [ebx + ecx + 0x680]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea eax, [ebx + ecx*2]
movzx edx, byte [eax + edx + 0x9324]
push edx
push ebx
call fcn.0064b4d0
add esp, 0xc
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
jle 0x64d5ec
mov edi, dword [ebp - 8]
inc edi
inc dword [ebp - 0x20]
jmp 0x64ce77
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x14]
je 0x64d66f
push 0xbbf
call fcn.0064902c
pop ecx
cmp dword [ebx + 0x268], 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret