Function at 0x557414
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 0x557457
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 0x55743f
inc esi
cmp esi, 6
jl 0x557438
cmp dword [ebx + 0x274], 0
jg 0x557471
push 0xbb9
call fcn.00554cb8
pop ecx
cmp dword [ebx + 0x274], 0xc8
jge 0x557486
mov dword [ebp - 0x24], 2
jmp 0x5574cc
cmp dword [ebx + 0x274], 0x258
jge 0x55749b
mov dword [ebp - 0x24], 3
jmp 0x5574cc
cmp dword [ebx + 0x274], 0x4b0
jge 0x5574b0
mov dword [ebp - 0x24], 4
jmp 0x5574cc
cmp dword [ebx + 0x274], 0x960
jge 0x5574c5
mov dword [ebp - 0x24], 5
jmp 0x5574cc
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 0x5575a4
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 0x557505
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 0x557513
mov edx, dword [ebp - 0x18]
dec edx
cmp edx, dword [ebp - 8]
jg 0x5574f5
cmp edi, dword [ebp - 8]
jge 0x557546
cmp ecx, dword [ebp - 0x24]
je 0x557546
cmp ecx, 1
je 0x557546
mov eax, dword [ebp - 0x24]
sub eax, ecx
and eax, 0x80000001
jns 0x557533
dec eax
or eax, 0xfffffffe
inc eax
dec eax
jne 0x557546
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 0x557591
cmp edi, eax
jg 0x557575
cmp eax, dword [ebp - 8]
jg 0x557575
mov edx, ecx
shl edx, 7
add edx, ecx
lea edx, [ebx + edx*2 - 0x102]
mov byte [edx + eax + 0x9324], 0
jmp 0x55758b
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 0x557554
dec ecx
mov edi, dword [ebp - 8]
inc edi
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
test ecx, ecx
jg 0x5574e2
xor edx, edx
mov dword [ebp - 0x10], edx
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x5575bc
xor eax, eax
mov dword [ebp + esi*4 - 0x70], eax
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x5575b0
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x5575e9
xor eax, eax
cmp eax, dword [ebp - 0x18]
jge 0x5575e3
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 0x5575ca
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x5575c3
cmp dword [ebp - 0x24], 6
jne 0x557665
xor eax, eax
cmp eax, dword [ebp - 0x18]
jge 0x557665
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 0x5575f6
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 0x55871d
lea eax, [edi + 0x31]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
cmp edx, dword [ebx + 0x274]
jl 0x557698
mov ecx, dword [ebx + 0x274]
dec ecx
mov dword [ebp - 8], ecx
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x5576ac
mov word [ebp + esi*2 - 0x58], 0
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x55769f
cmp dword [ebp - 0x24], 6
jne 0x558167
mov eax, dword [ebp - 8]
sub eax, edi
inc eax
cmp eax, 0x32
jne 0x558167
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 0x5581ae
mov dword [ebp - 4], edi
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 8]
jg 0x5581ae
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 0x5581a3
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 0x558183
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jle 0x558172
mov edx, 0x3b9ac9ff
or eax, 0xffffffff
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x5581d3
movzx ecx, word [ebp + esi*2 - 0x58]
cmp edx, ecx
jle 0x5581cd
movzx edx, word [ebp + esi*2 - 0x58]
mov eax, esi
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x5581bd
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 0x5586e3
mov ecx, dword [ebp - 8]
sub ecx, edi
inc ecx
cmp ecx, 0x32
jne 0x5586e3
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 0x558714
mov dword [ebp - 4], edi
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 8]
jg 0x558714
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 0x5586ee
mov edi, dword [ebp - 8]
inc edi
jmp 0x557671
cmp dword [ebx + 0x268], 3
jl 0x558733
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x558733
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x55872d
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x55876a
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.00556cf0
add esp, 0x10
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x55873a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x5575a9
cmp dword [ebp - 0x24], 8
jl 0x558788
push 0xbba
call fcn.00554cb8
pop ecx
cmp dword [ebp - 0x14], 0x8000
jge 0x55879a
cmp dword [ebp - 0x14], 0x4652
jle 0x5587a5
push 0xbbb
call fcn.00554cb8
pop ecx
xor ecx, ecx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x24]
jge 0x5587c7
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 0x5587b2
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x14]
jge 0x558816
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 0x5587fc
inc esi
mov edx, eax
mov al, byte [ebp + esi - 0x44]
mov byte [ebp + esi - 0x44], dl
cmp al, byte [ebp - 0x45]
jne 0x5587ec
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 0x5587d4
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x5588fd
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 0x5588a5
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 0x55886b
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 0x55889a
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 0x558838
cmp dword [ebp - 0x1c], 0x11
jle 0x5588b6
push 0xbbc
call fcn.00554cb8
pop ecx
cmp edi, 1
jge 0x5588c6
push 0xbbd
call fcn.00554cb8
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.00556ff2
add esp, 0x14
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x558821
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 0x558924
mov ecx, dword [ebp - 4]
mov byte [ebp + ecx - 0x80], 1
inc esi
cmp esi, 0x10
jl 0x55890c
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
jl 0x558902
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 0x558957
push 1
push 1
push ebx
call fcn.0055714c
add esp, 0xc
jmp 0x558964
push 0
push 1
push ebx
call fcn.0055714c
add esp, 0xc
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
jl 0x55893e
xor ecx, ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cmp byte [ebp + eax - 0x80], 0
je 0x5589b0
xor esi, esi
mov eax, dword [ebp - 4]
shl eax, 4
lea edx, [ebx + eax]
cmp byte [edx + esi + 0x58], 0
je 0x55899d
push 1
push 1
push ebx
call fcn.0055714c
add esp, 0xc
jmp 0x5589aa
push 0
push 1
push ebx
call fcn.0055714c
add esp, 0xc
inc esi
cmp esi, 0x10
jl 0x55897e
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
jl 0x558972
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.0055714c
add esp, 0xc
push dword [ebp - 0x14]
push 0xf
push ebx
call fcn.0055714c
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x14]
jge 0x558a29
xor esi, esi
jmp 0x558a01
push 1
push 1
push ebx
call fcn.0055714c
add esp, 0xc
inc esi
mov eax, dword [ebp - 4]
xor edx, edx
mov dl, byte [ebx + eax + 0x4cd2]
cmp esi, edx
jl 0x5589f3
push 0
push 1
push ebx
call fcn.0055714c
add esp, 0xc
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x14]
jl 0x5589ef
cmp dword [ebx + 0x268], 3
mov ecx, dword [ebx + 0x4c]
mov dword [ebp - 0x28], ecx
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x558adf
mov eax, esi
shl eax, 7
add eax, esi
movzx edi, byte [ebx + eax*2 + 0x9324]
push edi
push 5
push ebx
call fcn.0055714c
add esp, 0xc
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x18]
jge 0x558ad5
jmp 0x558a79
push 2
push 2
push ebx
call fcn.0055714c
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 0x558a6b
jmp 0x558aa3
push 3
push 2
push ebx
call fcn.0055714c
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 0x558a95
push 0
push 1
push ebx
call fcn.0055714c
add esp, 0xc
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x18]
jl 0x558a79
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x558a41
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 0x5592d8
lea eax, [edi + 0x31]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
cmp edx, dword [ebx + 0x274]
jl 0x558b1a
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 0x558b36
push 0xbbe
call fcn.00554cb8
pop ecx
cmp dword [ebp - 0x24], 6
jne 0x55925d
mov edx, dword [ebp - 8]
sub edx, edi
inc edx
cmp edx, 0x32
jne 0x55925d
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
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.0055714c
add esp, 0xc
jmp 0x5592cc
mov dword [ebp - 4], edi
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
jg 0x5592cc
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.0055714c
add esp, 0xc
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
jle 0x559268
mov edi, dword [ebp - 8]
inc edi
inc dword [ebp - 0x20]
jmp 0x558af3
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x14]
je 0x5592eb
push 0xbbf
call fcn.00554cb8
pop ecx
cmp dword [ebx + 0x268], 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret