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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffe58
mov ebx, eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov edx, dword [ebx + 0x48c]
mov eax, dword [ebx + 0x490]
cmp eax, edx
je 0x6b4bd9
mov ecx, dword [ebx + 0x490]
shl ecx, 4
lea ecx, [ecx + ecx*2]
add ecx, ebx
add ecx, 0x4a0
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x40]
mov edx, dword [ebx + 0x490]
mov eax, dword [ecx + 0x18]
sub eax, edx
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 4]
mov eax, dword [ecx + 0x1c]
mov dword [edx], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x18]
mov dword [ebx + 0x490], eax
mov eax, dword [esp + 0x44]
jmp 0x6b660e
xor edx, edx
mov dword [ebx + 0x48c], edx
mov dword [ebx + 0x490], edx
mov eax, dword [ebx + 0x31738]
test eax, eax
jne 0x6b4c02
lea edx, [esp + 0x10]
mov eax, ebx
call fcn.006b48b8
mov dword [esp + 0xc], eax
jmp 0x6b4c16
mov ecx, dword [ebx + 0x494]
mov dword [esp + 0xc], ecx
mov ecx, dword [ebx + 0x498]
mov dword [esp + 0x10], ecx
mov eax, dword [ebx + 0x49c]
mov dword [esp + 8], eax
mov edx, dword [esp + 8]
cmp edx, 2
jae 0x6b4c3d
mov eax, dword [esp + 4]
mov dword [eax], 0xffffffff
mov eax, 1
jmp 0x6b660e
mov edx, dword [esp + 8]
cmp edx, 0x111
jbe 0x6b4c51
mov dword [esp + 8], 0x111
mov eax, dword [ebx + 0x18]
call dword [ebx + 0xc]
dec eax
xor edx, edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x14], edx
xor ecx, ecx
lea eax, [esp + 0x188]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x198]
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x178], eax
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x178]
mov ecx, dword [ebx + edx*4 + 0x3173c]
mov dword [eax], ecx
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x38]
mov ecx, dword [edx]
inc ecx
sub eax, ecx
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
mov cl, byte [edx]
mov dl, byte [eax]
cmp cl, dl
jne 0x6b4cce
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
mov dl, byte [edx + 1]
mov al, byte [ecx + 1]
cmp al, dl
je 0x6b4cdb
mov eax, dword [esp + 0x17c]
xor ecx, ecx
mov dword [eax], ecx
jmp 0x6b4d34
mov eax, 2
mov edx, dword [esp + 0x48]
lea ecx, [edx + 2]
mov dword [esp + 0x180], ecx
jmp 0x6b4cf8
inc eax
inc dword [esp + 0x180]
mov edx, dword [esp + 8]
cmp eax, edx
jae 0x6b4d14
mov ecx, dword [esp + 0x38]
mov dl, byte [ecx + eax]
mov ecx, dword [esp + 0x180]
mov cl, byte [ecx]
cmp dl, cl
je 0x6b4cf0
mov edx, dword [esp + 0x17c]
mov dword [edx], eax
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + edx*4 + 0x198]
cmp eax, ecx
jbe 0x6b4d34
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
inc dword [esp + 0x18]
add dword [esp + 0x17c], 4
add dword [esp + 0x178], 4
mov ecx, dword [esp + 0x18]
cmp ecx, 4
jb 0x6b4c84
mov eax, dword [esp + 0x14]
mov edx, dword [esp + eax*4 + 0x198]
mov eax, dword [ebx + 0x31734]
cmp edx, eax
jb 0x6b4d98
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x14]
mov dword [edx], ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + ecx*4 + 0x198]
mov dword [esp + 0x4c], eax
mov eax, ebx
mov edx, dword [esp + 0x4c]
dec edx
call fcn.006b48a0
mov eax, dword [esp + 0x4c]
jmp 0x6b660e
lea edx, [ebx + 0x30ea0]
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0xc]
mov eax, dword [ebx + 0x31734]
cmp ecx, eax
jb 0x6b4dda
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 4]
mov ecx, dword [edx + ecx*4 - 4]
add ecx, 4
mov dword [eax], ecx
mov eax, ebx
mov edx, dword [esp + 0xc]
dec edx
call fcn.006b48a0
mov eax, dword [esp + 0xc]
jmp 0x6b660e
mov edx, dword [esp + 0x38]
mov cl, byte [edx]
mov byte [esp + 0x3c], cl
mov ecx, dword [esp + 0x188]
inc ecx
mov eax, dword [esp + 0x38]
sub eax, ecx
mov dl, byte [eax]
mov byte [esp + 0x3d], dl
mov ecx, dword [esp + 0xc]
cmp ecx, 2
jae 0x6b4e31
mov al, byte [esp + 0x3c]
mov dl, byte [esp + 0x3d]
cmp al, dl
je 0x6b4e31
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + ecx*4 + 0x198]
cmp eax, 2
jae 0x6b4e31
mov edx, dword [esp + 4]
mov eax, 1
mov dword [edx], 0xffffffff
jmp 0x6b660e
mov edx, dword [ebx + 0x3174c]
mov dword [ebx + 0x4a4], edx
mov ecx, dword [esp]
mov eax, dword [ebx + 0x323a8]
and ecx, eax
mov dword [esp + 0x1c], ecx
mov edx, dword [esp]
mov eax, dword [ebx + 0x323a4]
and edx, eax
mov ecx, dword [ebx + 0x32398]
shl edx, cl
mov eax, dword [ebx + 0x32398]
mov ecx, 8
sub ecx, eax
mov eax, dword [esp + 0x38]
movzx eax, byte [eax - 1]
sar eax, cl
add edx, eax
mov ecx, dword [ebx + 0x323ac]
shl edx, 8
lea edx, [edx + edx*2]
add edx, edx
add edx, ecx
mov dword [esp + 0x50], edx
mov ecx, dword [ebx + 0x3174c]
cmp ecx, 7
jb 0x6b4eb5
lea eax, [ebx + 0x30ca0]
xor ecx, ecx
push eax
xor edx, edx
mov dl, byte [esp + 0x40]
mov eax, dword [esp + 0x54]
mov cl, byte [esp + 0x41]
call fcn.006b4434
jmp 0x6b4eca
lea ecx, [ebx + 0x30ca0]
xor edx, edx
mov dl, byte [esp + 0x3c]
mov eax, dword [esp + 0x50]
call fcn.006b43f8
mov edx, dword [ebx + 0x3174c]
shl edx, 5
lea ecx, [ebx + edx]
mov edx, dword [esp + 0x1c]
movzx ecx, word [ecx + edx*2 + 0x323b0]
sar ecx, 4
mov edx, dword [ebx + ecx*4 + 0x30ca0]
add eax, edx
mov dword [ebx + 0x4d0], eax
mov dword [ebx + 0x4ec], 0xffffffff
xor eax, eax
mov dword [ebx + 0x4d8], eax
mov ecx, dword [ebx + 0x3174c]
shl ecx, 5
lea ecx, [ebx + ecx]
mov eax, dword [esp + 0x1c]
movzx edx, word [ecx + eax*2 + 0x323b0]
xor edx, 0x7ff
sar edx, 4
mov ecx, dword [ebx + edx*4 + 0x30ca0]
mov dword [esp + 0x28], ecx
mov eax, dword [ebx + 0x3174c]
movzx edx, word [ebx + eax*2 + 0x32530]
xor edx, 0x7ff
sar edx, 4
mov ecx, dword [ebx + edx*4 + 0x30ca0]
mov eax, dword [esp + 0x28]
add ecx, eax
mov dword [esp + 0x2c], ecx
mov dl, byte [esp + 0x3d]
mov al, byte [esp + 0x3c]
cmp dl, al
jne 0x6b4fa9
mov ecx, dword [esp + 0x1c]
mov edx, dword [ebx + 0x3174c]
mov eax, ebx
call fcn.006b4954
mov edx, dword [esp + 0x2c]
add eax, edx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x54]
mov eax, dword [ebx + 0x4d0]
cmp ecx, eax
jae 0x6b4fa9
mov edx, dword [esp + 0x54]
mov dword [ebx + 0x4d0], edx
xor ecx, ecx
mov dword [ebx + 0x4ec], ecx
xor ecx, ecx
mov dword [ebx + 0x4d8], ecx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + eax*4 + 0x198]
mov eax, dword [esp + 0xc]
cmp edx, eax
ja 0x6b4fc2
mov edi, dword [esp + 0xc]
jmp 0x6b4fcd
mov eax, dword [esp + 0x14]
mov edi, dword [esp + eax*4 + 0x198]
cmp edi, 2
jae 0x6b4fe8
mov eax, dword [esp + 4]
mov edx, dword [ebx + 0x4ec]
mov dword [eax], edx
mov eax, 1
jmp 0x6b660e
xor edx, edx
mov dword [ebx + 0x4e8], edx
xor ecx, ecx
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x188]
mov dword [esp + 0x17c], ecx
mov eax, dword [esp + 0x17c]
mov edx, dword [eax]
mov eax, dword [esp + 0x18]
mov dword [ebx + eax*4 + 0x4c0], edx
inc dword [esp + 0x18]
add dword [esp + 0x17c], 4
mov edx, dword [esp + 0x18]
cmp edx, 4
jb 0x6b5004
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x20]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebx + ecx*8 + 0x4a0], 0x40000000
dec dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
cmp ecx, 2
jae 0x6b5031
xor eax, eax
lea edx, [esp + 0x198]
mov dword [esp + 0x18], eax
mov dword [esp + 0x17c], edx
mov ecx, dword [esp + 0x17c]
mov eax, dword [ecx]
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x58]
cmp edx, 2
jb 0x6b511e
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + 0x3174c]
mov edx, dword [esp + 0x1c]
mov eax, ebx
call fcn.006b4988
mov edx, dword [esp + 0x2c]
add eax, edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
shl eax, 4
add eax, ecx
shl eax, 3
lea ecx, [ebx + eax*8]
mov eax, dword [esp + 0x58]
mov edx, dword [ecx + eax*4 + 0x37658]
mov eax, dword [esp + 0x5c]
add edx, eax
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x58]
shl edx, 4
lea edx, [edx + edx*2]
add edx, ebx
add edx, 0x4a0
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0x64]
mov ecx, dword [ecx]
mov eax, dword [esp + 0x60]
cmp ecx, eax
jbe 0x6b5111
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov dword [edx], eax
mov edx, dword [esp + 0x64]
xor ecx, ecx
mov dword [edx + 0x18], ecx
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x1c], eax
mov edx, dword [esp + 0x64]
xor eax, eax
mov dword [edx + 8], eax
dec dword [esp + 0x58]
mov edx, dword [esp + 0x58]
cmp edx, 2
jae 0x6b50a0
inc dword [esp + 0x18]
add dword [esp + 0x17c], 4
mov ecx, dword [esp + 0x18]
cmp ecx, 4
jb 0x6b5066
mov ecx, dword [ebx + 0x3174c]
movzx eax, word [ebx + ecx*2 + 0x32530]
sar eax, 4
mov edx, dword [ebx + eax*4 + 0x30ca0]
mov eax, dword [esp + 0x28]
add edx, eax
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x198]
cmp edx, 2
jb 0x6b516f
mov ecx, dword [esp + 0x198]
inc ecx
jmp 0x6b5174
mov ecx, 2
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
cmp eax, edx
ja 0x6b5307
xor ecx, ecx
mov dword [esp + 0x68], ecx
jmp 0x6b5195
add dword [esp + 0x68], 2
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x68]
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x20]
cmp ecx, eax
jb 0x6b5190
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x68]
mov edx, dword [edx + eax*4 + 4]
mov dword [esp + 0x70], edx
mov ecx, dword [esp + 0x1c]
mov esi, ecx
shl ecx, 4
add ecx, esi
shl ecx, 3
lea eax, [ebx + ecx*8]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + edx*4 + 0x32e10]
mov esi, dword [esp + 0x30]
add ecx, esi
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x20]
cmp eax, 5
jae 0x6b51f0
mov edx, dword [esp + 0x20]
sub edx, 2
jmp 0x6b51f5
mov edx, 3
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0x70]
cmp eax, 0x80
jae 0x6b521f
mov ecx, dword [esp + 0x78]
shl ecx, 9
lea ecx, [ebx + ecx]
mov eax, dword [esp + 0x70]
mov edx, dword [ecx + eax*4 + 0x31b50]
add dword [esp + 0x74], edx
jmp 0x6b528c
mov ecx, 0x1ffff
mov eax, dword [esp + 0x70]
sub ecx, eax
shr ecx, 0x1f
xor edx, edx
sub edx, ecx
and edx, 0xa
add edx, 6
mov dword [esp + 0x80], edx
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x70]
shr eax, cl
xor edx, edx
mov dl, byte [ebx + eax + 0x304a0]
mov eax, dword [esp + 0x80]
add eax, eax
add edx, eax
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
shl edx, 8
lea ecx, [ebx + edx]
mov edx, dword [esp + 0x70]
and edx, 0xf
mov eax, dword [ecx + esi*4 + 0x31750]
mov ecx, dword [ebx + edx*4 + 0x32350]
add eax, ecx
add dword [esp + 0x74], eax
mov ecx, dword [esp + 0x20]
shl ecx, 4
lea ecx, [ecx + ecx*2]
add ecx, ebx
add ecx, 0x4a0
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0x6c]
mov edx, dword [eax]
mov eax, dword [esp + 0x74]
cmp edx, eax
jbe 0x6b52da
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x74]
xor eax, eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
add edx, 4
xor ecx, ecx
mov dword [eax + 0x1c], edx
mov edx, dword [esp + 0x6c]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x68]
mov edx, dword [ecx + eax*4]
mov eax, dword [esp + 0x20]
cmp edx, eax
jne 0x6b52fe
add dword [esp + 0x68], 2
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x10]
cmp edx, ecx
je 0x6b5307
inc dword [esp + 0x20]
jmp 0x6b51a8
xor ecx, ecx
mov dword [esp + 0x24], ecx
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
cmp edi, eax
jne 0x6b532d
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 4]
mov eax, ebx
call fcn.006b4a78
jmp 0x6b660e
lea edx, [esp + 0x8c]
mov eax, ebx
call fcn.006b48b8
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x88]
mov esi, dword [ebx + 0x31734]
cmp ecx, esi
jb 0x6b5381
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0x498], eax
mov edx, dword [esp + 0x88]
mov dword [ebx + 0x494], edx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 4]
mov eax, ebx
call fcn.006b4a78
jmp 0x6b660e
inc dword [esp]
mov edx, dword [esp + 0x24]
shl edx, 4
lea edx, [edx + edx*2]
add edx, ebx
add edx, 0x4a0
mov eax, dword [edx + 0x18]
mov dword [esp + 0x90], eax
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x6b5436
dec dword [esp + 0x90]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x6b5405
mov ecx, dword [edx + 0x10]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov eax, dword [ebx + ecx*8 + 0x4a4]
mov dword [esp + 0x94], eax
mov ecx, dword [edx + 0x14]
cmp ecx, 4
jae 0x6b53ee
mov eax, dword [esp + 0x94]
mov ecx, dword [eax*4 + 0x70ae84]
mov dword [esp + 0x94], ecx
jmp 0x6b541f
mov eax, dword [esp + 0x94]
mov ecx, dword [eax*4 + 0x70ae54]
mov dword [esp + 0x94], ecx
jmp 0x6b541f
mov eax, dword [esp + 0x90]
add eax, eax
lea eax, [eax + eax*2]
mov ecx, dword [ebx + eax*8 + 0x4a4]
mov dword [esp + 0x94], ecx
mov eax, dword [esp + 0x94]
mov ecx, dword [eax*4 + 0x70ae24]
mov dword [esp + 0x94], ecx
jmp 0x6b5450
mov eax, dword [esp + 0x90]
add eax, eax
lea eax, [eax + eax*2]
mov ecx, dword [ebx + eax*8 + 0x4a4]
mov dword [esp + 0x94], ecx
mov eax, dword [esp + 0x24]
dec eax
mov ecx, dword [esp + 0x90]
cmp eax, ecx
jne 0x6b549b
mov eax, dword [edx + 0x1c]
test eax, eax
jne 0x6b5481
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx*4 + 0x70aeb4]
mov dword [esp + 0x94], eax
jmp 0x6b567e
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx*4 + 0x70ae24]
mov dword [esp + 0x94], eax
jmp 0x6b567e
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x6b54d4
mov eax, dword [edx + 0xc]
test eax, eax
je 0x6b54d4
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x90], ecx
mov eax, dword [edx + 0x14]
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx*4 + 0x70ae84]
mov dword [esp + 0x94], eax
jmp 0x6b5516
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0xc0], ecx
mov eax, dword [esp + 0xc0]
cmp eax, 4
jae 0x6b5501
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx*4 + 0x70ae84]
mov dword [esp + 0x94], eax
jmp 0x6b5516
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx*4 + 0x70ae54]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0x90]
shl ecx, 4
lea ecx, [ecx + ecx*2]
add ecx, ebx
add ecx, 0x4a0
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0xc0]
cmp eax, 4
jae 0x6b5621
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
mov ecx, dword [ecx + eax*4 + 0x20]
lea eax, [esp + 0x18c]
mov dword [esp + 0x188], ecx
mov dword [esp + 0xc8], 1
mov dword [esp + 0x184], eax
mov ecx, dword [esp + 0xc4]
mov esi, dword [esp + 0xc0]
lea eax, [ecx + 0x20]
mov ecx, dword [esp + 0xc8]
cmp ecx, esi
ja 0x6b55bf
mov esi, dword [esp + 0x184]
mov ecx, dword [eax]
add eax, 4
mov dword [esi], ecx
inc dword [esp + 0xc8]
add dword [esp + 0x184], 4
mov ecx, dword [esp + 0xc8]
mov esi, dword [esp + 0xc0]
cmp ecx, esi
jbe 0x6b5590
mov ecx, dword [esp + 0xc4]
mov esi, dword [esp + 0xc8]
mov eax, dword [esp + 0xc8]
lea ecx, [ecx + esi*4 + 0x20]
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0xc8]
lea eax, [esp + eax*4 + 0x188]
cmp ecx, 4
jae 0x6b567e
mov ecx, dword [esp + 0x184]
mov ecx, dword [ecx]
mov dword [eax], ecx
inc dword [esp + 0xc8]
add eax, 4
add dword [esp + 0x184], 4
mov ecx, dword [esp + 0xc8]
cmp ecx, 4
jb 0x6b55f6
jmp 0x6b567e
mov eax, dword [esp + 0xc0]
sub eax, 4
mov dword [esp + 0x188], eax
lea eax, [esp + 0x18c]
mov dword [esp + 0xcc], 1
mov dword [esp + 0x184], eax
mov ecx, dword [esp + 0xc4]
lea eax, [ecx + 0x20]
mov ecx, dword [eax]
mov esi, dword [esp + 0x184]
mov dword [esi], ecx
inc dword [esp + 0xcc]
add dword [esp + 0x184], 4
add eax, 4
mov ecx, dword [esp + 0xcc]
cmp ecx, 4
jb 0x6b5655
mov eax, dword [esp + 0x94]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x188]
mov dword [edx + 0x20], eax
mov ecx, dword [esp + 0x18c]
mov dword [edx + 0x24], ecx
mov eax, dword [esp + 0x190]
mov dword [edx + 0x28], eax
mov ecx, dword [esp + 0x194]
mov dword [edx + 0x2c], ecx
xor ecx, ecx
mov edx, dword [edx]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xb0], ecx
mov eax, dword [ebx + 0x18]
call dword [ebx + 0xc]
dec eax
mov dword [esp + 0xb8], eax
mov edx, dword [esp + 0xb8]
mov cl, byte [edx]
mov byte [esp + 0xb4], cl
mov eax, dword [esp + 0x188]
inc eax
mov edx, dword [esp + 0xb8]
sub edx, eax
mov cl, byte [edx]
mov byte [esp + 0xb5], cl
mov eax, dword [esp]
mov edx, dword [ebx + 0x323a8]
and eax, edx
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x94]
shl ecx, 5
lea eax, [ebx + ecx]
mov edx, dword [esp + 0x98]
movzx ecx, word [eax + edx*2 + 0x323b0]
sar ecx, 4
mov eax, dword [ebx + ecx*4 + 0x30ca0]
mov edx, dword [esp + 0xa0]
add eax, edx
mov dword [esp + 0xa4], eax
mov eax, dword [esp]
mov edx, dword [ebx + 0x323a4]
and eax, edx
mov ecx, dword [ebx + 0x32398]
shl eax, cl
mov edx, dword [ebx + 0x32398]
mov ecx, 8
sub ecx, edx
mov edx, dword [esp + 0xb8]
movzx edx, byte [edx - 1]
sar edx, cl
add eax, edx
mov ecx, dword [ebx + 0x323ac]
shl eax, 8
lea eax, [eax + eax*2]
add eax, eax
add eax, ecx
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x94]
cmp ecx, 7
jb 0x6b57bb
lea eax, [ebx + 0x30ca0]
xor ecx, ecx
push eax
xor edx, edx
mov dl, byte [esp + 0xb8]
mov eax, dword [esp + 0xd4]
mov cl, byte [esp + 0xb9]
call fcn.006b4434
jmp 0x6b57d6
lea ecx, [ebx + 0x30ca0]
xor edx, edx
mov dl, byte [esp + 0xb4]
mov eax, dword [esp + 0xd0]
call fcn.006b43f8
add dword [esp + 0xa4], eax
mov ecx, dword [esp + 0x24]
inc ecx
mov eax, ecx
shl eax, 4
lea eax, [eax + eax*2]
add eax, ebx
add eax, 0x4a0
mov dword [esp + 0xbc], eax
mov edx, dword [esp + 0xbc]
mov ecx, dword [edx]
mov eax, dword [esp + 0xa4]
cmp ecx, eax
jbe 0x6b584f
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xa4]
mov dword [edx], eax
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0x24]
mov dword [edx + 0x18], ecx
mov ecx, dword [esp + 0xbc]
mov dword [ecx + 0x1c], 0xffffffff
mov eax, dword [esp + 0xbc]
xor edx, edx
mov dword [eax + 8], edx
mov dword [esp + 0xb0], 1
mov ecx, dword [esp + 0x94]
shl ecx, 5
lea eax, [ebx + ecx]
mov edx, dword [esp + 0x98]
movzx ecx, word [eax + edx*2 + 0x323b0]
xor ecx, 0x7ff
sar ecx, 4
mov eax, dword [ebx + ecx*4 + 0x30ca0]
mov edx, dword [esp + 0xa0]
add eax, edx
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x94]
movzx eax, word [ebx + ecx*2 + 0x32530]
xor eax, 0x7ff
sar eax, 4
mov edx, dword [ebx + eax*4 + 0x30ca0]
mov eax, dword [esp + 0xa8]
add edx, eax
mov dword [esp + 0xac], edx
mov dl, byte [esp + 0xb5]
mov cl, byte [esp + 0xb4]
cmp dl, cl
jne 0x6b5969
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + 0x18]
mov edx, dword [esp + 0x24]
cmp eax, edx
jae 0x6b58ef
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + 0x1c]
test eax, eax
je 0x6b5969
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
mov eax, ebx
call fcn.006b4954
mov edx, dword [esp + 0xac]
add eax, edx
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax]
mov esi, dword [esp + 0xd4]
cmp ecx, esi
jb 0x6b5969
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0xd4]
mov dword [eax], edx
mov ecx, dword [esp + 0xbc]
mov esi, dword [esp + 0x24]
mov dword [ecx + 0x18], esi
mov eax, dword [esp + 0xbc]
xor edx, edx
mov dword [eax + 0x1c], edx
mov ecx, dword [esp + 0xbc]
xor esi, esi
mov dword [ecx + 8], esi
mov dword [esp + 0xb0], 1
mov eax, dword [ebx + 0x49c]
mov dword [esp + 0x84], eax
mov edx, 0xfff
mov ecx, dword [esp + 0x24]
sub edx, ecx
mov dword [esp + 0xd8], edx
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0x84]
cmp ecx, eax
jae 0x6b59a8
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x84], edx
mov ecx, dword [esp + 0x84]
cmp ecx, 2
jb 0x6b530d
mov eax, dword [esp + 0x84]
mov edx, dword [ebx + 0x31734]
cmp eax, edx
ja 0x6b59d2
mov ecx, dword [esp + 0x84]
jmp 0x6b59d8
mov ecx, dword [ebx + 0x31734]
mov dword [esp + 8], ecx
mov eax, dword [esp + 0xb0]
test eax, eax
jne 0x6b5c18
mov dl, byte [esp + 0xb5]
mov al, byte [esp + 0xb4]
cmp dl, al
je 0x6b5c18
mov edx, dword [esp + 0x188]
inc edx
mov ecx, dword [esp + 0xb8]
sub ecx, edx
mov dword [esp + 0xe4], ecx
mov ecx, dword [ebx + 0x31734]
inc ecx
mov dword [esp + 0xe8], ecx
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0x84]
cmp eax, edx
jbe 0x6b5a47
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xdc], 1
jmp 0x6b5a5b
inc dword [esp + 0xdc]
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xe8]
cmp eax, edx
jae 0x6b5a93
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0xdc]
mov dl, byte [ecx + eax]
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xdc]
mov al, byte [eax + ecx]
cmp dl, al
je 0x6b5a54
mov edx, dword [esp + 0xdc]
dec edx
mov dword [esp + 0xe0], edx
mov ecx, dword [esp + 0xe0]
cmp ecx, 2
jb 0x6b5c18
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx*4 + 0x70ae24]
mov dword [esp + 0xec], eax
mov edx, dword [esp]
mov eax, dword [ebx + 0x323a8]
inc edx
and edx, eax
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0xec]
mov esi, dword [esp + 0xf0]
shl edx, 5
lea ecx, [ebx + edx]
movzx eax, word [ecx + esi*2 + 0x323b0]
xor eax, 0x7ff
mov ecx, dword [esp + 0xa4]
sar eax, 4
mov edx, dword [ebx + eax*4 + 0x30ca0]
mov eax, dword [esp + 0xec]
add edx, ecx
movzx ecx, word [ebx + eax*2 + 0x32530]
xor ecx, 0x7ff
sar ecx, 4
mov eax, dword [ebx + ecx*4 + 0x30ca0]
add edx, eax
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0xe0]
add edx, ecx
inc edx
mov dword [esp + 0x100], edx
mov ecx, dword [esp + 0x100]
cmp edi, ecx
jae 0x6b5b74
inc edi
mov eax, edi
add eax, eax
lea eax, [eax + eax*2]
mov dword [ebx + eax*8 + 0x4a0], 0x40000000
mov edx, dword [esp + 0x100]
cmp edi, edx
jb 0x6b5b56
mov ecx, dword [esp + 0xec]
xor edx, edx
push ecx
mov eax, dword [esp + 0xf4]
push eax
mov eax, ebx
mov ecx, dword [esp + 0xe8]
call fcn.006b4a38
mov edx, dword [esp + 0xf4]
add eax, edx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x100]
shl eax, 4
lea eax, [eax + eax*2]
add eax, ebx
add eax, 0x4a0
mov dword [esp + 0xfc], eax
mov ecx, dword [esp + 0xfc]
mov ecx, dword [ecx]
mov eax, dword [esp + 0xf8]
cmp ecx, eax
jbe 0x6b5c18
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0xf8]
mov dword [edx], eax
xor eax, eax
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x24]
inc edx
mov dword [ecx + 0x18], edx
mov ecx, dword [esp + 0xfc]
mov dword [ecx + 0x1c], eax
xor eax, eax
mov edx, dword [esp + 0xfc]
mov dword [edx + 8], 1
mov ecx, dword [esp + 0xfc]
mov dword [ecx + 0xc], eax
mov dword [esp + 0x9c], 2
xor edx, edx
mov dword [esp + 0x104], edx
mov ecx, dword [esp + 0x94]
lea eax, [ecx*4 + 0x70ae84]
mov dword [esp + 0x184], eax
mov edx, dword [esp + 0x104]
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + edx*4 + 0x188]
inc ecx
sub eax, ecx
mov dword [esp + 0x110], eax
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0x110]
mov cl, byte [edx]
mov dl, byte [eax]
cmp cl, dl
jne 0x6b601e
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x110]
mov dl, byte [edx + 1]
mov al, byte [ecx + 1]
cmp al, dl
jne 0x6b601e
mov esi, 2
jmp 0x6b5c9e
inc esi
mov eax, dword [esp + 8]
cmp esi, eax
jae 0x6b5cd3
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0x110]
mov cl, byte [edx + esi]
mov dl, byte [eax + esi]
cmp cl, dl
je 0x6b5c9d
jmp 0x6b5cd3
inc edi
mov ecx, edi
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebx + ecx*8 + 0x4a0], 0x40000000
mov ecx, dword [esp + 0x24]
add ecx, esi
cmp edi, ecx
jb 0x6b5cc0
mov dword [esp + 0x108], esi
mov eax, dword [esp + 0x98]
push eax
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x108]
mov eax, ebx
call fcn.006b4988
mov edx, dword [esp + 0xac]
add eax, edx
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x98]
mov ecx, eax
shl eax, 4
add eax, ecx
shl eax, 3
lea ecx, [ebx + eax*8]
mov eax, dword [ecx + esi*4 + 0x37658]
mov edx, dword [esp + 0x10c]
add eax, edx
mov dword [esp + 0x114], eax
mov ecx, dword [esp + 0x24]
add ecx, esi
mov eax, ecx
shl eax, 4
lea eax, [eax + eax*2]
add eax, ebx
add eax, 0x4a0
mov edx, dword [eax]
mov ecx, dword [esp + 0x114]
cmp edx, ecx
jbe 0x6b5d7d
mov edx, dword [esp + 0x114]
mov dword [eax], edx
mov edx, dword [esp + 0x24]
mov dword [eax + 0x18], edx
xor edx, edx
mov ecx, dword [esp + 0x104]
mov dword [eax + 0x1c], ecx
mov dword [eax + 8], edx
dec esi
cmp esi, 2
jae 0x6b5d11
mov esi, dword [esp + 0x108]
mov eax, dword [esp + 0x104]
test eax, eax
jne 0x6b5d9f
lea edx, [esi + 1]
mov dword [esp + 0x9c], edx
lea ebp, [esi + 1]
mov eax, dword [ebx + 0x31734]
add eax, ebp
mov dword [esp + 0x118], eax
mov edx, dword [esp + 0x118]
mov ecx, dword [esp + 0x84]
cmp edx, ecx
jbe 0x6b5dd4
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x118], ecx
jmp 0x6b5dd4
inc ebp
mov eax, dword [esp + 0x118]
cmp ebp, eax
jae 0x6b5df7
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0x110]
mov cl, byte [edx + ebp]
mov dl, byte [eax + ebp]
cmp cl, dl
je 0x6b5dd3
lea ecx, [esi + 1]
sub ebp, ecx
cmp ebp, 2
jb 0x6b601e
mov eax, dword [esp + 0x184]
mov edx, dword [eax]
mov dword [esp + 0x120], edx
lea edx, [ebx + 0x30ca0]
mov ecx, dword [esp]
mov eax, dword [ebx + 0x323a8]
add ecx, esi
and ecx, eax
mov dword [esp + 0x124], ecx
push edx
mov eax, dword [esp + 4]
mov edx, dword [ebx + 0x323a4]
add eax, esi
mov ecx, dword [ebx + 0x32398]
and eax, edx
mov edx, dword [ebx + 0x32398]
shl eax, cl
mov ecx, 8
sub ecx, edx
mov edx, dword [esp + 0xbc]
movzx edx, byte [edx + esi - 1]
sar edx, cl
add eax, edx
mov ecx, dword [ebx + 0x323ac]
shl eax, 8
mov edx, dword [esp + 0x114]
lea eax, [eax + eax*2]
add eax, eax
add eax, ecx
xor ecx, ecx
mov cl, byte [edx + esi]
mov edx, dword [esp + 0xbc]
movzx edx, byte [edx + esi]
call fcn.006b4434
mov ecx, dword [esp + 0x120]
shl ecx, 5
lea edx, [ebx + ecx]
mov ecx, dword [esp + 0x124]
movzx edx, word [edx + ecx*2 + 0x323b0]
sar edx, 4
mov ecx, dword [ebx + edx*4 + 0x30ca0]
imul edx, dword [esp + 0x98], 0x88
lea edx, [ebx + edx*8]
mov edx, dword [edx + esi*4 + 0x37658]
add edx, dword [esp + 0x10c]
add ecx, edx
add eax, ecx
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x120]
mov ecx, dword [eax*4 + 0x70ae24]
mov dword [esp + 0x120], ecx
mov ecx, dword [esp]
mov eax, dword [ebx + 0x323a8]
add ecx, esi
inc ecx
and ecx, eax
mov dword [esp + 0x124], ecx
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x124]
shl edx, 5
lea ecx, [ebx + edx]
movzx edx, word [ecx + eax*2 + 0x323b0]
xor edx, 0x7ff
mov eax, dword [esp + 0x128]
sar edx, 4
mov ecx, dword [ebx + edx*4 + 0x30ca0]
mov edx, dword [esp + 0x120]
add ecx, eax
movzx eax, word [ebx + edx*2 + 0x32530]
xor eax, 0x7ff
sar eax, 4
mov edx, dword [ebx + eax*4 + 0x30ca0]
add ecx, edx
mov dword [esp + 0x11c], ecx
mov ecx, dword [esp + 0x24]
add ecx, esi
add ecx, ebp
inc ecx
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0x130]
cmp edi, ecx
jae 0x6b5f9b
inc edi
mov eax, edi
add eax, eax
lea eax, [eax + eax*2]
mov dword [ebx + eax*8 + 0x4a0], 0x40000000
mov edx, dword [esp + 0x130]
cmp edi, edx
jb 0x6b5f7d
mov ecx, dword [esp + 0x120]
xor edx, edx
push ecx
mov ecx, ebp
mov eax, dword [esp + 0x128]
push eax
mov eax, ebx
call fcn.006b4a38
mov edx, dword [esp + 0x11c]
add eax, edx
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x130]
shl eax, 4
lea eax, [eax + eax*2]
add eax, ebx
add eax, 0x4a0
mov ecx, dword [eax]
mov edx, dword [esp + 0x12c]
cmp ecx, edx
jbe 0x6b601e
mov ecx, dword [esp + 0x12c]
mov dword [eax], ecx
mov edx, dword [esp + 0x24]
add esi, edx
inc esi
xor ecx, ecx
mov dword [eax + 0x18], esi
mov dword [eax + 0x1c], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov edx, dword [esp + 0x24]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x104]
mov dword [eax + 0x14], ecx
inc dword [esp + 0x104]
mov eax, dword [esp + 0x104]
cmp eax, 4
jb 0x6b5c41
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 8]
cmp ecx, eax
jbe 0x6b6098
mov edx, dword [esp + 8]
mov dword [esp + 0x88], edx
xor ecx, ecx
mov dword [esp + 0x8c], ecx
jmp 0x6b6062
add dword [esp + 0x8c], 2
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x8c]
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x88]
cmp ecx, eax
jb 0x6b605a
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov dword [edx + eax*4], ecx
add dword [esp + 0x8c], 2
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x9c]
cmp edx, eax
jb 0x6b530d
mov edx, dword [esp + 0x94]
movzx ecx, word [ebx + edx*2 + 0x32530]
sar ecx, 4
mov ecx, dword [ebx + ecx*4 + 0x30ca0]
mov eax, dword [esp + 0xa8]
add ecx, eax
mov dword [esp + 0x134], ecx
jmp 0x6b60ec
inc edi
mov edx, edi
add edx, edx
lea edx, [edx + edx*2]
mov dword [ebx + edx*8 + 0x4a0], 0x40000000
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x88]
add ecx, eax
cmp edi, ecx
jb 0x6b60d9
xor edx, edx
mov dword [esp + 0x138], edx
jmp 0x6b6110
add dword [esp + 0x138], 2
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x138]
mov edx, dword [ecx + eax*4]
mov eax, dword [esp + 0x9c]
cmp edx, eax
jb 0x6b6108
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x138]
mov ecx, dword [edx + ecx*4 + 4]
mov dword [esp + 0x13c], ecx
mov eax, 0x1ffff
mov edx, dword [esp + 0x13c]
sub eax, edx
shr eax, 0x1f
xor edx, edx
sub edx, eax
and edx, 0xa
add edx, 6
mov dword [esp + 0x144], edx
mov ecx, dword [esp + 0x144]
mov eax, dword [esp + 0x13c]
shr eax, cl
xor ecx, ecx
mov cl, byte [ebx + eax + 0x304a0]
mov eax, dword [esp + 0x144]
add eax, eax
add ecx, eax
mov dword [esp + 0x140], ecx
mov ebp, dword [esp + 0x9c]
mov eax, dword [esp + 0x94]
lea edx, [eax*4 + 0x70ae54]
mov dword [esp + 0x184], edx
mov ecx, dword [esp + 0x98]
mov esi, ecx
shl ecx, 4
add ecx, esi
shl ecx, 3
lea eax, [ebx + ecx*8]
mov ecx, dword [esp + 0x134]
mov edx, dword [eax + ebp*4 + 0x32e10]
add edx, ecx
cmp ebp, 5
mov dword [esp + 0x148], edx
jae 0x6b61df
mov ecx, ebp
sub ecx, 2
jmp 0x6b61e4
mov ecx, 3
mov dword [esp + 0x14c], ecx
mov eax, dword [esp + 0x13c]
cmp eax, 0x80
jae 0x6b621d
mov edx, dword [esp + 0x14c]
shl edx, 9
lea ecx, [ebx + edx]
mov eax, dword [esp + 0x13c]
mov edx, dword [ecx + eax*4 + 0x31b50]
add dword [esp + 0x148], edx
jmp 0x6b6252
mov ecx, dword [esp + 0x14c]
shl ecx, 8
lea eax, [ebx + ecx]
mov edx, dword [esp + 0x140]
mov ecx, dword [eax + edx*4 + 0x31750]
mov eax, dword [esp + 0x13c]
and eax, 0xf
mov edx, dword [ebx + eax*4 + 0x32350]
add ecx, edx
add dword [esp + 0x148], ecx
mov ecx, dword [esp + 0x24]
add ecx, ebp
mov eax, ecx
shl eax, 4
lea eax, [eax + eax*2]
add eax, ebx
add eax, 0x4a0
mov edx, dword [eax]
mov ecx, dword [esp + 0x148]
cmp edx, ecx
jbe 0x6b6296
mov edx, dword [esp + 0x148]
mov dword [eax], edx
mov edx, dword [esp + 0x24]
mov dword [eax + 0x18], edx
mov ecx, dword [esp + 0x13c]
add ecx, 4
xor edx, edx
mov dword [eax + 0x1c], ecx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x138]
mov ecx, dword [eax + ecx*4]
cmp ebp, ecx
jne 0x6b6603
mov eax, dword [esp + 0x13c]
inc eax
mov edx, dword [esp + 0xb8]
sub edx, eax
mov dword [esp + 0x150], edx
lea esi, [ebp + 1]
mov eax, dword [ebx + 0x31734]
add eax, esi
mov dword [esp + 0x154], eax
mov edx, dword [esp + 0x154]
mov ecx, dword [esp + 0x84]
cmp edx, ecx
jbe 0x6b62f9
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x154], ecx
jmp 0x6b62f9
inc esi
mov eax, dword [esp + 0x154]
cmp esi, eax
jae 0x6b631c
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0x150]
mov cl, byte [edx + esi]
mov dl, byte [eax + esi]
cmp cl, dl
je 0x6b62f8
lea ecx, [ebp + 1]
sub esi, ecx
cmp esi, 2
jb 0x6b6574
mov eax, dword [esp + 0x184]
mov edx, dword [eax]
mov dword [esp + 0x15c], edx
lea edx, [ebx + 0x30ca0]
mov ecx, dword [esp]
mov eax, dword [ebx + 0x323a8]
add ecx, ebp
and ecx, eax
mov dword [esp + 0x160], ecx
push edx
mov eax, dword [esp + 4]
mov edx, dword [ebx + 0x323a4]
add eax, ebp
mov ecx, dword [ebx + 0x32398]
and eax, edx
mov edx, dword [esp + 0xbc]
shl eax, cl
movzx edx, byte [edx + ebp - 1]
mov ecx, 8
sub ecx, dword [ebx + 0x32398]
sar edx, cl
add eax, edx
mov edx, dword [ebx + 0x323ac]
shl eax, 8
mov ecx, dword [esp + 0x154]
lea eax, [eax + eax*2]
add eax, eax
add eax, edx
xor edx, edx
mov dl, byte [ecx + ebp]
push edx
xor edx, edx
mov ecx, dword [esp + 0xc0]
mov dl, byte [ecx + ebp]
pop ecx
call fcn.006b4434
mov edx, dword [esp + 0x15c]
shl edx, 5
lea ecx, [ebx + edx]
mov edx, dword [esp + 0x160]
movzx ecx, word [ecx + edx*2 + 0x323b0]
sar ecx, 4
mov edx, dword [ebx + ecx*4 + 0x30ca0]
mov ecx, dword [esp + 0x148]
add edx, ecx
add eax, edx
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x15c]
mov ecx, dword [eax*4 + 0x70ae24]
mov dword [esp + 0x15c], ecx
mov eax, dword [esp + 0x160]
inc eax
mov edx, dword [ebx + 0x323a8]
and eax, edx
mov dword [esp + 0x160], eax
mov ecx, dword [esp + 0x15c]
shl ecx, 5
lea eax, [ebx + ecx]
mov edx, dword [esp + 0x160]
movzx ecx, word [eax + edx*2 + 0x323b0]
xor ecx, 0x7ff
sar ecx, 4
mov eax, dword [ebx + ecx*4 + 0x30ca0]
mov edx, dword [esp + 0x164]
add eax, edx
mov edx, dword [esp + 0x15c]
movzx ecx, word [ebx + edx*2 + 0x32530]
xor ecx, 0x7ff
sar ecx, 4
mov edx, dword [ebx + ecx*4 + 0x30ca0]
add eax, edx
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x24]
add eax, ebp
add eax, esi
inc eax
mov dword [esp + 0x168], eax
mov ecx, dword [esp + 0x168]
cmp edi, ecx
jae 0x6b64af
inc edi
mov ecx, edi
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebx + ecx*8 + 0x4a0], 0x40000000
mov eax, dword [esp + 0x168]
cmp edi, eax
jb 0x6b6491
mov edx, dword [esp + 0x15c]
mov eax, ebx
push edx
xor edx, edx
mov ecx, dword [esp + 0x164]
push ecx
mov ecx, esi
call fcn.006b4a38
mov edx, dword [esp + 0x158]
add eax, edx
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0x168]
shl eax, 4
lea eax, [eax + eax*2]
add eax, ebx
add eax, 0x4a0
mov dword [esp + 0x170], eax
mov ecx, dword [esp + 0x170]
mov ecx, dword [ecx]
mov eax, dword [esp + 0x16c]
cmp ecx, eax
jbe 0x6b6574
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
mov dword [edx], eax
xor eax, eax
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x170]
add edx, ebp
inc edx
mov dword [ecx + 0x18], edx
mov ecx, dword [esp + 0x170]
mov dword [ecx + 0x1c], eax
mov edx, dword [esp + 0x170]
mov dword [edx + 8], 1
mov ecx, dword [esp + 0x170]
mov dword [ecx + 0xc], 1
mov eax, dword [esp + 0x170]
mov edx, dword [esp + 0x24]
mov dword [eax + 0x10], edx
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x13c]
add ecx, 4
mov dword [eax + 0x14], ecx
add dword [esp + 0x138], 2
mov edx, dword [esp + 0x138]
mov eax, dword [esp + 0x8c]
cmp edx, eax
je 0x6b530d
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x138]
mov ecx, dword [edx + ecx*4 + 4]
mov dword [esp + 0x13c], ecx
mov eax, dword [esp + 0x13c]
cmp eax, 0x80
jb 0x6b6603
mov edx, 0x1ffff
mov eax, dword [esp + 0x13c]
sub edx, eax
shr edx, 0x1f
xor ecx, ecx
sub ecx, edx
and ecx, 0xa
add ecx, 6
mov dword [esp + 0x174], ecx
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x13c]
shr eax, cl
xor edx, edx
mov dl, byte [ebx + eax + 0x304a0]
mov eax, dword [esp + 0x174]
add eax, eax
add edx, eax
mov dword [esp + 0x140], edx
inc ebp
jmp 0x6b61a8
add esp, 0x1a8
pop ebp
pop edi
pop esi
pop ebx
ret