Function at 0x560328
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 0x56036b
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 0x560353
inc esi
cmp esi, 6
jl 0x56034c
cmp dword [ebx + 0x274], 0
jg 0x560385
push 0xbb9
call fcn.0055df40
pop ecx
cmp dword [ebx + 0x274], 0xc8
jge 0x56039a
mov dword [ebp - 0x24], 2
jmp 0x5603e0
cmp dword [ebx + 0x274], 0x258
jge 0x5603af
mov dword [ebp - 0x24], 3
jmp 0x5603e0
cmp dword [ebx + 0x274], 0x4b0
jge 0x5603c4
mov dword [ebp - 0x24], 4
jmp 0x5603e0
cmp dword [ebx + 0x274], 0x960
jge 0x5603d9
mov dword [ebp - 0x24], 5
jmp 0x5603e0
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 0x5604b8
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 0x560419
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 0x560427
mov edx, dword [ebp - 0x18]
dec edx
cmp edx, dword [ebp - 8]
jg 0x560409
cmp edi, dword [ebp - 8]
jge 0x56045a
cmp ecx, dword [ebp - 0x24]
je 0x56045a
cmp ecx, 1
je 0x56045a
mov eax, dword [ebp - 0x24]
sub eax, ecx
and eax, 0x80000001
jns 0x560447
dec eax
or eax, 0xfffffffe
inc eax
dec eax
jne 0x56045a
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 0x5604a5
cmp edi, eax
jg 0x560489
cmp eax, dword [ebp - 8]
jg 0x560489
mov edx, ecx
shl edx, 7
add edx, ecx
lea edx, [ebx + edx*2 - 0x102]
mov byte [edx + eax + 0x9324], 0
jmp 0x56049f
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 0x560468
dec ecx
mov edi, dword [ebp - 8]
inc edi
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
test ecx, ecx
jg 0x5603f6
xor edx, edx
mov dword [ebp - 0x10], edx
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x5604d0
xor eax, eax
mov dword [ebp + esi*4 - 0x70], eax
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x5604c4
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x5604fd
xor eax, eax
cmp eax, dword [ebp - 0x18]
jge 0x5604f7
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 0x5604de
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x5604d7
cmp dword [ebp - 0x24], 6
jne 0x560579
xor eax, eax
cmp eax, dword [ebp - 0x18]
jge 0x560579
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 0x56050a
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 0x561631
lea eax, [edi + 0x31]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
cmp edx, dword [ebx + 0x274]
jl 0x5605ac
mov ecx, dword [ebx + 0x274]
dec ecx
mov dword [ebp - 8], ecx
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x5605c0
mov word [ebp + esi*2 - 0x58], 0
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x5605b3
cmp dword [ebp - 0x24], 6
jne 0x56107b
mov eax, dword [ebp - 8]
sub eax, edi
inc eax
cmp eax, 0x32
jne 0x56107b
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 0x5610c2
mov dword [ebp - 4], edi
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 8]
jg 0x5610c2
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 0x5610b7
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 0x561097
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jle 0x561086
mov edx, 0x3b9ac9ff
or eax, 0xffffffff
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x5610e7
movzx ecx, word [ebp + esi*2 - 0x58]
cmp edx, ecx
jle 0x5610e1
movzx edx, word [ebp + esi*2 - 0x58]
mov eax, esi
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x5610d1
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 0x5615f7
mov ecx, dword [ebp - 8]
sub ecx, edi
inc ecx
cmp ecx, 0x32
jne 0x5615f7
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 0x561628
mov dword [ebp - 4], edi
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 8]
jg 0x561628
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 0x561602
mov edi, dword [ebp - 8]
inc edi
jmp 0x560585
cmp dword [ebx + 0x268], 3
jl 0x561647
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x561647
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x561641
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x56167e
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.0055fc04
add esp, 0x10
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x56164e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x5604bd
cmp dword [ebp - 0x24], 8
jl 0x56169c
push 0xbba
call fcn.0055df40
pop ecx
cmp dword [ebp - 0x14], 0x8000
jge 0x5616ae
cmp dword [ebp - 0x14], 0x4652
jle 0x5616b9
push 0xbbb
call fcn.0055df40
pop ecx
xor ecx, ecx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x24]
jge 0x5616db
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 0x5616c6
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x14]
jge 0x56172a
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 0x561710
inc esi
mov edx, eax
mov al, byte [ebp + esi - 0x44]
mov byte [ebp + esi - 0x44], dl
cmp al, byte [ebp - 0x45]
jne 0x561700
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 0x5616e8
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x561811
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 0x5617b9
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 0x56177f
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 0x5617ae
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 0x56174c
cmp dword [ebp - 0x1c], 0x11
jle 0x5617ca
push 0xbbc
call fcn.0055df40
pop ecx
cmp edi, 1
jge 0x5617da
push 0xbbd
call fcn.0055df40
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.0055ff06
add esp, 0x14
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x561735
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 0x561838
mov ecx, dword [ebp - 4]
mov byte [ebp + ecx - 0x80], 1
inc esi
cmp esi, 0x10
jl 0x561820
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
jl 0x561816
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 0x56186b
push 1
push 1
push ebx
call fcn.00560060
add esp, 0xc
jmp 0x561878
push 0
push 1
push ebx
call fcn.00560060
add esp, 0xc
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
jl 0x561852
xor ecx, ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cmp byte [ebp + eax - 0x80], 0
je 0x5618c4
xor esi, esi
mov eax, dword [ebp - 4]
shl eax, 4
lea edx, [ebx + eax]
cmp byte [edx + esi + 0x58], 0
je 0x5618b1
push 1
push 1
push ebx
call fcn.00560060
add esp, 0xc
jmp 0x5618be
push 0
push 1
push ebx
call fcn.00560060
add esp, 0xc
inc esi
cmp esi, 0x10
jl 0x561892
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
jl 0x561886
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.00560060
add esp, 0xc
push dword [ebp - 0x14]
push 0xf
push ebx
call fcn.00560060
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x14]
jge 0x56193d
xor esi, esi
jmp 0x561915
push 1
push 1
push ebx
call fcn.00560060
add esp, 0xc
inc esi
mov eax, dword [ebp - 4]
xor edx, edx
mov dl, byte [ebx + eax + 0x4cd2]
cmp esi, edx
jl 0x561907
push 0
push 1
push ebx
call fcn.00560060
add esp, 0xc
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x14]
jl 0x561903
cmp dword [ebx + 0x268], 3
mov ecx, dword [ebx + 0x4c]
mov dword [ebp - 0x28], ecx
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x5619f3
mov eax, esi
shl eax, 7
add eax, esi
movzx edi, byte [ebx + eax*2 + 0x9324]
push edi
push 5
push ebx
call fcn.00560060
add esp, 0xc
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x18]
jge 0x5619e9
jmp 0x56198d
push 2
push 2
push ebx
call fcn.00560060
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 0x56197f
jmp 0x5619b7
push 3
push 2
push ebx
call fcn.00560060
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 0x5619a9
push 0
push 1
push ebx
call fcn.00560060
add esp, 0xc
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x18]
jl 0x56198d
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x561955
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 0x5621ec
lea eax, [edi + 0x31]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
cmp edx, dword [ebx + 0x274]
jl 0x561a2e
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 0x561a4a
push 0xbbe
call fcn.0055df40
pop ecx
cmp dword [ebp - 0x24], 6
jne 0x562171
mov edx, dword [ebp - 8]
sub edx, edi
inc edx
cmp edx, 0x32
jne 0x562171
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
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.00560060
add esp, 0xc
jmp 0x5621e0
mov dword [ebp - 4], edi
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
jg 0x5621e0
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.00560060
add esp, 0xc
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
jle 0x56217c
mov edi, dword [ebp - 8]
inc edi
inc dword [ebp - 0x20]
jmp 0x561a07
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x14]
je 0x5621ff
push 0xbbf
call fcn.0055df40
pop ecx
cmp dword [ebx + 0x268], 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret