Function at 0x51059874
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff70
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x34], eax
cmp dword [ebx + 0x268], 3
mov edx, dword [ebx + 0x54]
add edx, 2
xor esi, esi
mov dword [ebp - 0x1c], edx
xor eax, eax
cmp eax, dword [ebp - 0x1c]
jge 0x510598ba
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 - 0x1c]
jl 0x510598a2
inc esi
cmp esi, 6
jl 0x5105989b
cmp dword [ebx + 0x274], 0
jg 0x510598d4
push 0xbb9
call fcn.510570e4
pop ecx
cmp dword [ebx + 0x274], 0xc8
jge 0x510598e9
mov dword [ebp - 0x2c], 2
jmp 0x5105992f
cmp dword [ebx + 0x274], 0x258
jge 0x510598fe
mov dword [ebp - 0x2c], 3
jmp 0x5105992f
cmp dword [ebx + 0x274], 0x4b0
jge 0x51059913
mov dword [ebp - 0x2c], 4
jmp 0x5105992f
cmp dword [ebx + 0x274], 0x960
jge 0x51059928
mov dword [ebp - 0x2c], 5
jmp 0x5105992f
mov dword [ebp - 0x2c], 6
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebx + 0x274]
mov dword [ebp - 0x38], eax
xor edi, edi
test ecx, ecx
jle 0x51059a05
mov eax, dword [ebp - 0x38]
cdq
idiv ecx
mov dword [ebp - 0x3c], eax
lea eax, [edi - 1]
mov dword [ebp - 8], eax
xor edx, edx
mov dword [ebp - 0x40], edx
jmp 0x5105996b
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
mov edx, dword [ebx + eax*4 + 0x278]
add dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x3c]
jge 0x5105997c
mov edx, dword [ebp - 0x1c]
dec edx
cmp edx, dword [ebp - 8]
jg 0x5105995b
cmp edi, dword [ebp - 8]
jge 0x510599af
cmp ecx, dword [ebp - 0x2c]
je 0x510599af
cmp ecx, 1
je 0x510599af
mov eax, dword [ebp - 0x2c]
sub eax, ecx
and eax, 0x80000001
jns 0x5105999c
dec eax
or eax, 0xfffffffe
inc eax
dec eax
jne 0x510599af
mov edx, dword [ebp - 8]
mov eax, dword [ebx + edx*4 + 0x278]
sub dword [ebp - 0x40], eax
dec dword [ebp - 8]
cmp dword [ebx + 0x268], 3
xor eax, eax
cmp eax, dword [ebp - 0x1c]
jge 0x510599f2
cmp edi, eax
jg 0x510599da
cmp eax, dword [ebp - 8]
jg 0x510599da
mov edx, ecx
shl edx, 7
add edx, ecx
lea edx, [ebx + edx*2]
mov byte [edx + eax + 0x9222], 0
jmp 0x510599ec
mov edx, ecx
shl edx, 7
add edx, ecx
lea edx, [ebx + edx*2]
mov byte [edx + eax + 0x9222], 0xf
inc eax
cmp eax, dword [ebp - 0x1c]
jl 0x510599bd
dec ecx
mov edi, dword [ebp - 8]
inc edi
mov eax, dword [ebp - 0x40]
sub dword [ebp - 0x38], eax
test ecx, ecx
jg 0x51059945
xor edx, edx
mov dword [ebp - 0x14], edx
xor esi, esi
lea edi, [ebp - 0x80]
cmp esi, dword [ebp - 0x2c]
jge 0x51059a21
xor eax, eax
inc esi
mov dword [edi], eax
add edi, 4
cmp esi, dword [ebp - 0x2c]
jl 0x51059a14
xor esi, esi
cmp esi, dword [ebp - 0x2c]
jge 0x51059a4e
xor eax, eax
cmp eax, dword [ebp - 0x1c]
jge 0x51059a48
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 - 0x1c]
jl 0x51059a2f
inc esi
cmp esi, dword [ebp - 0x2c]
jl 0x51059a28
cmp dword [ebp - 0x2c], 6
jne 0x51059aca
xor eax, eax
cmp eax, dword [ebp - 0x1c]
jge 0x51059aca
xor ecx, ecx
xor edx, edx
mov cl, byte [ebx + eax + 0x9426]
mov dl, byte [ebx + eax + 0x9324]
shl ecx, 0x10
or ecx, edx
mov edx, eax
shl edx, 4
mov dword [ebx + edx + 0xc990], ecx
xor ecx, ecx
mov cl, byte [ebx + eax + 0x962a]
xor edx, edx
shl ecx, 0x10
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]
xor edx, edx
shl ecx, 0x10
mov dl, byte [ebx + eax + 0x972c]
or ecx, edx
mov edx, eax
shl edx, 4
inc eax
mov dword [ebx + edx + 0xc998], ecx
cmp eax, dword [ebp - 0x1c]
jl 0x51059a5b
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], ecx
xor edi, edi
cmp edi, dword [ebx + 0x274]
jge 0x5105aa43
lea eax, [edi + 0x31]
mov dword [ebp - 8], eax
mov edx, dword [ebx + 0x274]
cmp edx, dword [ebp - 8]
jg 0x51059afd
mov ecx, dword [ebx + 0x274]
dec ecx
mov dword [ebp - 8], ecx
xor esi, esi
lea edx, [ebp - 0x68]
cmp esi, dword [ebp - 0x2c]
jge 0x51059b15
mov word [edx], 0
inc esi
add edx, 2
cmp esi, dword [ebp - 0x2c]
jl 0x51059b07
cmp dword [ebp - 0x2c], 6
jne 0x5105a5d0
mov eax, dword [ebp - 8]
sub eax, edi
inc eax
cmp eax, 0x32
jne 0x5105a5d0
xor ecx, ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x34]
mov edx, ecx
mov ax, word [eax + edi*2]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 2]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 4]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 6]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 8]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0xa]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0xc]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0xe]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x10]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x12]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x14]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x16]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x18]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x1a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x1c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x1e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x20]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x22]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x24]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x26]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x28]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x2a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x2c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x2e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x30]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x32]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x34]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x36]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x38]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x3a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x3c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x3e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x40]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x42]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x44]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x46]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x48]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x4a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x4c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
shl ecx, 4
movzx eax, ax
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x4e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x50]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x52]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x54]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x56]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x58]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x5a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x5c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x5e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x60]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x34]
mov ax, word [eax + edi*2 + 0x62]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x44], ecx
movzx ecx, ax
movzx eax, ax
shl ecx, 4
shl eax, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x48], ecx
add edx, dword [ebx + eax + 0xc998]
mov ax, word [ebp - 0x44]
and ax, 0xffff
mov word [ebp - 0x68], ax
mov ecx, dword [ebp - 0x44]
shr ecx, 0x10
mov word [ebp - 0x66], cx
mov ax, word [ebp - 0x48]
and ax, 0xffff
mov word [ebp - 0x64], ax
mov eax, edx
mov ecx, dword [ebp - 0x48]
and ax, 0xffff
shr ecx, 0x10
mov word [ebp - 0x62], cx
mov word [ebp - 0x60], ax
shr edx, 0x10
mov word [ebp - 0x5e], dx
jmp 0x5105a620
mov dword [ebp - 4], edi
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 8]
jg 0x5105a620
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
xor esi, esi
mov dx, word [ecx + eax*2]
lea eax, [ebp - 0x68]
mov word [ebp - 0x4a], dx
cmp esi, dword [ebp - 0x2c]
jge 0x5105a615
movzx edx, word [ebp - 0x4a]
mov ecx, esi
shl ecx, 7
add ecx, esi
inc esi
lea ecx, [ebx + ecx*2]
movzx edx, byte [ecx + edx + 0x9324]
add word [eax], dx
add eax, 2
cmp esi, dword [ebp - 0x2c]
jl 0x5105a5f3
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jle 0x5105a5db
mov dword [ebp - 0x10], 0x3b9ac9ff
or eax, 0xffffffff
xor esi, esi
lea edx, [ebp - 0x68]
cmp esi, dword [ebp - 0x2c]
jge 0x5105a64d
movzx ecx, word [edx]
cmp ecx, dword [ebp - 0x10]
jge 0x5105a644
movzx eax, word [edx]
mov dword [ebp - 0x10], eax
mov eax, esi
inc esi
add edx, 2
cmp esi, dword [ebp - 0x2c]
jl 0x5105a634
mov edx, dword [ebp - 0x10]
add dword [ebp - 0xc], edx
inc dword [ebp + eax*4 - 0x80]
mov ecx, dword [ebp - 0x18]
mov byte [ebx + ecx + 0x680], al
inc dword [ebp - 0x18]
cmp dword [ebp - 0x2c], 6
jne 0x5105aa09
mov edx, dword [ebp - 8]
sub edx, edi
inc edx
cmp edx, 0x32
jne 0x5105aa09
mov ecx, dword [ebp - 0x34]
mov edx, eax
shl edx, 7
movzx ecx, word [ecx + edi*2]
add edx, eax
lea esi, [ebx + edx*8]
lea eax, [ebx + edx*8]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 2]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 4]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 6]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 8]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0xa]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0xc]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0xe]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x10]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x12]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x14]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x16]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x18]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x1a]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x1c]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x1e]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x20]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x22]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x24]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x26]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x28]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x2a]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x2c]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x2e]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x30]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x32]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x34]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x36]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x38]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x3a]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x3c]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x3e]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x40]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x42]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x44]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x46]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x48]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x4a]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x4c]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x4e]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x50]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x52]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x54]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x56]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x58]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x5a]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x5c]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x5e]
inc dword [esi + ecx*4 + 0xb160]
lea esi, [ebx + edx*8]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x60]
inc dword [esi + ecx*4 + 0xb160]
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx + edi*2 + 0x62]
inc dword [eax + ecx*4 + 0xb160]
jmp 0x5105aa3a
mov dword [ebp - 4], edi
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 8]
jg 0x5105aa3a
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 4]
movzx edx, word [edx + ecx*2]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
inc dword [ebp - 4]
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 8]
jle 0x5105aa14
mov edi, dword [ebp - 8]
inc edi
jmp 0x51059ad6
cmp dword [ebx + 0x268], 3
jl 0x5105aa59
xor esi, esi
cmp esi, dword [ebp - 0x2c]
jge 0x5105aa59
inc esi
cmp esi, dword [ebp - 0x2c]
jl 0x5105aa53
xor esi, esi
cmp esi, dword [ebp - 0x2c]
jge 0x5105aa99
mov edx, esi
mov ecx, esi
shl edx, 7
push 0x11
add edx, esi
mov eax, dword [ebp - 0x1c]
shl ecx, 7
push eax
shl edx, 3
add ecx, esi
add edx, ebx
add ecx, ecx
add edx, 0xb160
add ecx, ebx
add ecx, 0x9324
push edx
push ecx
call fcn.51059004
add esp, 0x10
inc esi
cmp esi, dword [ebp - 0x2c]
jl 0x5105aa60
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x51059a0a
cmp dword [ebp - 0x2c], 8
jl 0x5105aab7
push 0xbba
call fcn.510570e4
pop ecx
cmp dword [ebp - 0x18], 0x8000
jge 0x5105aac9
cmp dword [ebp - 0x18], 0x4652
jle 0x5105aad4
push 0xbbb
call fcn.510570e4
pop ecx
xor eax, eax
mov dword [ebp - 4], eax
lea edi, [ebp - 0x50]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x2c]
jge 0x5105aaf5
mov dl, byte [ebp - 4]
mov byte [edi], dl
inc dword [ebp - 4]
inc edi
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x2c]
jl 0x5105aae4
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x18]
jge 0x5105ab48
mov ecx, dword [ebp - 4]
xor esi, esi
mov al, byte [ebx + ecx + 0x680]
mov byte [ebp - 0x51], al
lea eax, [ebp - 0x50]
mov dl, byte [ebp + esi - 0x50]
cmp dl, byte [ebp - 0x51]
je 0x5105ab2e
inc eax
mov byte [ebp - 0x52], dl
mov cl, byte [ebp - 0x52]
inc esi
mov dl, byte [eax]
mov byte [eax], cl
cmp dl, byte [ebp - 0x51]
jne 0x5105ab1d
mov byte [ebp - 0x50], dl
mov eax, esi
mov edx, dword [ebp - 4]
mov byte [ebx + edx + 0x4cd2], al
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x18]
jl 0x5105ab02
xor esi, esi
cmp esi, dword [ebp - 0x2c]
jge 0x5105ac43
mov dword [ebp - 0x20], 0x20
xor eax, eax
xor edx, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x1c]
jge 0x5105abdf
mov eax, esi
shl eax, 7
add eax, esi
lea edx, [ebx + eax*2]
mov ecx, dword [ebp - 4]
xor eax, eax
mov al, byte [edx + ecx + 0x9324]
cmp eax, dword [ebp - 0x24]
jle 0x5105aba0
mov edx, esi
shl edx, 7
add edx, esi
lea ecx, [ebx + edx*2]
mov eax, dword [ebp - 4]
xor edx, edx
mov dl, byte [ecx + eax + 0x9324]
mov dword [ebp - 0x24], edx
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 - 0x20]
jge 0x5105abd4
mov eax, esi
shl eax, 7
add eax, esi
lea edx, [ebx + eax*2]
mov ecx, dword [ebp - 4]
xor eax, eax
mov al, byte [edx + ecx + 0x9324]
mov dword [ebp - 0x20], eax
inc dword [ebp - 4]
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x1c]
jl 0x5105ab6c
cmp dword [ebp - 0x24], 0x11
jle 0x5105abf0
push 0xbbc
call fcn.510570e4
pop ecx
cmp dword [ebp - 0x20], 1
jge 0x5105ac01
push 0xbbd
call fcn.510570e4
pop ecx
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, esi
mov eax, dword [ebp - 0x24]
push eax
mov eax, esi
shl eax, 7
mov edx, dword [ebp - 0x20]
shl ecx, 7
add eax, esi
add ecx, esi
push edx
add ecx, ecx
shl eax, 3
add ecx, ebx
add ecx, 0x9324
add eax, ebx
add eax, 0x9930
push ecx
push eax
call fcn.510593ec
add esp, 0x14
inc esi
cmp esi, dword [ebp - 0x2c]
jl 0x5105ab53
xor edx, edx
lea edi, [ebp - 0x90]
mov dword [ebp - 4], edx
mov byte [edi], 0
mov eax, edi
mov dword [ebp - 0x5c], eax
xor esi, esi
mov edx, dword [ebp - 4]
shl edx, 4
lea ecx, [ebx + edx]
cmp byte [ecx + esi + 0x58], 0
je 0x5105ac6e
mov eax, dword [ebp - 0x5c]
mov byte [eax], 1
inc esi
cmp esi, 0x10
jl 0x5105ac58
inc dword [ebp - 4]
inc edi
cmp dword [ebp - 4], 0x10
jl 0x5105ac4e
mov edx, dword [ebx + 0x4c]
xor ecx, ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 4], ecx
lea edi, [ebp - 0x90]
cmp byte [edi], 0
je 0x5105aca3
push 1
push 1
push ebx
call fcn.51059584
add esp, 0xc
jmp 0x5105acb0
push 0
push 1
push ebx
call fcn.51059584
add esp, 0xc
inc dword [ebp - 4]
inc edi
cmp dword [ebp - 4], 0x10
jl 0x5105ac8f
xor eax, eax
lea edi, [ebp - 0x90]
mov dword [ebp - 4], eax
cmp byte [edi], 0
je 0x5105acfe
xor esi, esi
mov eax, dword [ebp - 4]
shl eax, 4
lea edx, [ebx + eax]
cmp byte [edx + esi + 0x58], 0
je 0x5105aceb
push 1
push 1
push ebx
call fcn.51059584
add esp, 0xc
jmp 0x5105acf8
push 0
push 1
push ebx
call fcn.51059584
add esp, 0xc
inc esi
cmp esi, 0x10
jl 0x5105accc
inc dword [ebp - 4]
inc edi
cmp dword [ebp - 4], 0x10
jl 0x5105acc5
cmp dword [ebx + 0x268], 3
mov ecx, dword [ebx + 0x4c]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x2c]
push eax
push 3
push ebx
call fcn.51059584
add esp, 0xc
mov edx, dword [ebp - 0x18]
push edx
push 0xf
push ebx
call fcn.51059584
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x18]
jge 0x5105ad7a
xor esi, esi
jmp 0x5105ad52
push 1
push 1
push ebx
call fcn.51059584
add esp, 0xc
inc esi
mov eax, dword [ebp - 4]
xor edx, edx
mov dl, byte [ebx + eax + 0x4cd2]
cmp esi, edx
jl 0x5105ad44
push 0
push 1
push ebx
call fcn.51059584
add esp, 0xc
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x18]
jl 0x5105ad40
cmp dword [ebx + 0x268], 3
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0x30], eax
xor esi, esi
cmp esi, dword [ebp - 0x2c]
jge 0x5105ae30
mov eax, esi
shl eax, 7
add eax, esi
movzx edi, byte [ebx + eax*2 + 0x9324]
push edi
push 5
push ebx
call fcn.51059584
add esp, 0xc
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x1c]
jge 0x5105ae26
jmp 0x5105adca
push 2
push 2
push ebx
call fcn.51059584
add esp, 0xc
inc 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
jl 0x5105adbc
jmp 0x5105adf4
push 3
push 2
push ebx
call fcn.51059584
add esp, 0xc
dec edi
mov eax, esi
shl eax, 7
add eax, esi
lea edx, [ebx + eax*2]
mov ecx, dword [ebp - 4]
xor eax, eax
mov al, byte [edx + ecx + 0x9324]
cmp edi, eax
jg 0x5105ade6
push 0
push 1
push ebx
call fcn.51059584
add esp, 0xc
inc dword [ebp - 4]
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x1c]
jl 0x5105adca
inc esi
cmp esi, dword [ebp - 0x2c]
jl 0x5105ad92
cmp dword [ebx + 0x268], 3
mov ecx, dword [ebx + 0x4c]
xor eax, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], eax
xor edi, edi
cmp edi, dword [ebx + 0x274]
jge 0x5105b663
lea eax, [edi + 0x31]
mov dword [ebp - 8], eax
mov edx, dword [ebx + 0x274]
cmp edx, dword [ebp - 8]
jg 0x5105ae6b
mov ecx, dword [ebx + 0x274]
dec ecx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dl, byte [ebx + eax + 0x680]
cmp edx, dword [ebp - 0x2c]
jl 0x5105ae87
push 0xbbe
call fcn.510570e4
pop ecx
cmp dword [ebp - 0x2c], 6
jne 0x5105b5e7
mov ecx, dword [ebp - 8]
sub ecx, edi
inc ecx
cmp ecx, 0x32
jne 0x5105b5e7
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dl, byte [ebx + eax + 0x680]
mov eax, dword [ebp - 0x28]
mov esi, edx
shl esi, 7
add esi, edx
xor edx, edx
mov dl, byte [ebx + eax + 0x680]
add esi, esi
mov ecx, edx
add esi, ebx
shl ecx, 7
add esi, 0x9324
add ecx, edx
shl ecx, 3
add ecx, ebx
add ecx, 0x9930
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
mov ax, word [eax + edi*2]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 2]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 4]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 6]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 8]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0xa]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0xc]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0xe]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x10]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x12]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x14]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x16]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x18]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x1a]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x1c]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x1e]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x20]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x22]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x24]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x26]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x28]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x2a]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x2c]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x2e]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x30]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x32]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x34]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x36]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x38]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x3a]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x3c]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x3e]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x40]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x42]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x44]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x46]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x48]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x4a]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x4c]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x4e]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x50]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x52]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x54]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x56]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x58]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x5a]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x5c]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x5e]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x60]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov ax, word [eax + edi*2 + 0x62]
movzx edx, ax
movzx eax, ax
mov edx, dword [ecx + edx*4]
xor ecx, ecx
push edx
mov cl, byte [esi + eax]
push ecx
push ebx
call fcn.51059584
add esp, 0xc
jmp 0x5105b657
mov dword [ebp - 4], edi
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jg 0x5105b657
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 4]
movzx eax, word [edx + ecx*2]
mov edx, dword [ebp - 0x28]
xor ecx, ecx
mov cl, byte [ebx + edx + 0x680]
mov edx, ecx
shl edx, 7
add edx, ecx
lea ecx, [ebx + edx*8]
mov eax, dword [ecx + eax*4 + 0x9930]
push eax
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 4]
movzx ecx, word [eax + edx*2]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dl, byte [ebx + eax + 0x680]
mov eax, edx
shl eax, 7
add eax, edx
lea edx, [ebx + eax*2]
movzx ecx, byte [edx + ecx + 0x9324]
push ecx
push ebx
call fcn.51059584
add esp, 0xc
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jle 0x5105b5f2
mov edi, dword [ebp - 8]
inc edi
inc dword [ebp - 0x28]
jmp 0x5105ae44
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x18]
je 0x5105b676
push 0xbbf
call fcn.510570e4
pop ecx
cmp dword [ebx + 0x268], 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret