Function at 0x11f90bd
Capabilities:
Encode data using xor
Encrypt data using chaskey
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
mov edi, edi
sub esp, 0x17c
mov eax, dword [0x1426ed0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, 0xfffffff
push esi
mov esi, 0x1000000
mov dword [ebp - 0x100], eax
mov eax, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x70], eax
cmp edi, esi
mov dword [ebp - 0x8c], edi
jb 0x11f9ae0
mov eax, dword [0x100003c]
mov eax, dword [eax + 0x1000050]
add eax, esi
cmp edi, eax
jae 0x11f9ae6
mov ecx, dword [0x108ee98]
and dword [ebp - 0x5c], 0
sub edi, esi
dec ecx
js 0x11f915d
mov eax, dword [ebp - 0x5c]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax*8 + 0x128f518]
mov dword [ebp - 0x64], edx
mov edx, dword [edx + 4]
and edx, ebx
cmp edi, edx
jae 0x11f914e
lea ecx, [eax - 1]
jmp 0x11f9158
jbe 0x11f92a0
inc eax
mov dword [ebp - 0x5c], eax
cmp ecx, dword [ebp - 0x5c]
jge 0x11f912c
xor eax, eax
test eax, eax
je 0x11f9ae0
mov ecx, dword [eax]
shr ecx, 2
and ecx, 7
lea edx, [ecx + eax + 8]
mov ecx, dword [eax + 4]
and ecx, ebx
lea eax, [ecx + edx]
mov dword [ebp - 0x94], eax
mov eax, dword [0x109dc84]
sub eax, ecx
mov dword [ebp - 0x84], edx
sub dword [ebp - 0x84], esi
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], ecx
lea edx, [eax + 1]
xor eax, eax
mov dword [ebp - 0x64], edx
test edx, edx
je 0x11f91d1
mov edi, dword [0x1427a7c]
imul edi, edi, 0x343fd
add edi, 0x269ec3
mov dword [0x1427a7c], edi
shr edi, 0x10
shl eax, 0x10
or eax, edi
shr edx, 0x10
jne 0x11f91ac
xor edx, edx
div dword [ebp - 0x64]
mov eax, dword [ebp - 0x70]
add eax, edx
push eax
push ecx
push dword [ebp - 0x84]
mov dword [ebp - 0x80], eax
mov eax, 0x3f74ada5
mov eax, dword [ebp - 0x94]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x178], eax
lea eax, [ebp - 0x17c]
push eax
mov dword [ebp - 0x17c], edi
mov byte [ebp - 0x55], 0
mov eax, 0xbdf0526e
mov ecx, dword [0x13ca1e8]
mov eax, dword [ebp - 0x178]
and dword [ebp - 0xe4], 0
and dword [ebp - 0xe0], 0
and eax, ebx
and edi, ebx
mov dword [ebp - 0x68], eax
mov eax, esi
add edi, esi
add esp, 0x10
sub eax, ecx
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x78], eax
jne 0x11f92b9
xor edi, edi
cmp dword [ebp - 0x68], edi
jbe 0x11f9527
mov ecx, 0xdf2e6555
mov eax, dword [ebp - 0x74]
movzx eax, byte [eax + edi]
sub eax, 0x20d19aab
add dword [ebp - 0xe4], eax
add eax, dword [ebp - 0xe0]
mul ecx
add eax, edx
mov ecx, eax
imul ecx, ecx, 0x7b1f
rol ecx, 5
ror eax, 5
xor ecx, eax
imul ecx, ecx, 0xdf2e6555
ror ecx, 0x1f
add dword [ebp - 0xe4], ecx
inc edi
cmp edi, dword [ebp - 0x68]
mov dword [ebp - 0xe0], ecx
jb 0x11f924f
jmp 0x11f9527
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
and ecx, ebx
and eax, 0x3f
lea eax, [eax + ecx + 0x1000000]
jmp 0x11f915f
mov ecx, dword [ebp - 0x74]
mov edx, dword [0x100003c]
mov eax, dword [ebp - 0x68]
lea edx, [edx + 0x10000a0]
add eax, ecx
mov dword [ebp - 0x90], eax
mov eax, dword [edx]
sub ecx, esi
mov edi, ecx
and edi, 0xfffff000
mov edx, dword [edx + 4]
mov dword [ebp - 0x64], edx
mov edx, ecx
sub edx, edi
mov dword [ebp - 0x5c], edi
mov edi, dword [ebp - 0x68]
add ecx, edi
mov edi, ecx
and edi, 0xfffff000
sub ecx, edi
mov dword [ebp - 0xa4], ecx
add eax, esi
mov ecx, dword [ebp - 0x64]
add ecx, eax
mov dword [ebp - 0xa8], edi
cmp eax, ecx
mov dword [ebp - 0xa0], ecx
mov edi, eax
je 0x11f932c
mov eax, dword [edi]
cmp eax, dword [ebp - 0x5c]
jae 0x11f932c
add edi, dword [edi + 4]
cmp edi, dword [ebp - 0xa0]
jne 0x11f931a
xor ecx, ecx
cmp edi, dword [ebp - 0xa0]
je 0x11f94cb
mov eax, dword [ebp - 0x5c]
cmp dword [edi], eax
jne 0x11f9362
mov eax, dword [edi + 4]
sub eax, 8
shr eax, 1
mov dword [ebp - 0x64], eax
je 0x11f9362
movzx eax, word [edi + ecx*2 + 8]
and eax, 0xfff
cmp eax, edx
jae 0x11f9362
inc ecx
cmp ecx, dword [ebp - 0x64]
jne 0x11f934e
cmp edi, dword [ebp - 0xa0]
je 0x11f94cb
mov eax, dword [edi]
cmp eax, dword [ebp - 0xa8]
ja 0x11f94cb
mov eax, dword [edi + 4]
lea edx, [eax - 8]
shr edx, 1
cmp ecx, edx
jne 0x11f93a8
add edi, eax
cmp edi, dword [ebp - 0xa0]
je 0x11f94cb
mov eax, dword [ebp - 0xa8]
cmp dword [edi], eax
ja 0x11f94cb
xor ecx, ecx
jmp 0x11f937c
mov eax, dword [ebp - 0xa8]
cmp dword [edi], eax
jne 0x11f93c8
movzx eax, word [edi + ecx*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0xa4]
jae 0x11f94cb
mov eax, ecx
inc ecx
test word [edi + eax*2 + 8], 0xf000
mov dword [ebp - 0x98], ecx
je 0x11f9362
mov ecx, dword [edi]
and dword [ebp - 0x68], 0
lea eax, [edi + eax*2 + 8]
movzx eax, word [eax]
and eax, 0xfff
lea eax, [eax + ecx + 0x1000000]
mov dword [ebp - 0x64], eax
sub eax, dword [ebp - 0x74]
mov dword [ebp - 0x5c], eax
je 0x11f9452
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x68]
movzx eax, byte [eax + ecx]
sub eax, 0x20d19aab
mov ecx, 0xdf2e6555
add dword [ebp - 0xe4], eax
add eax, dword [ebp - 0xe0]
mul ecx
add eax, edx
mov ecx, eax
imul ecx, ecx, 0x7b1f
rol ecx, 5
ror eax, 5
xor ecx, eax
imul ecx, ecx, 0xdf2e6555
ror ecx, 0x1f
add dword [ebp - 0xe4], ecx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x5c]
mov dword [ebp - 0xe0], ecx
jb 0x11f93fe
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
sub eax, dword [ebp - 0x78]
and dword [ebp - 0x68], 0
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x68]
mov ecx, 0xdf2e6555
movzx eax, byte [ebp + eax - 0x174]
sub eax, 0x20d19aab
add dword [ebp - 0xe4], eax
add eax, dword [ebp - 0xe0]
mul ecx
add eax, edx
mov ecx, eax
imul ecx, ecx, 0x7b1f
rol ecx, 5
ror eax, 5
xor ecx, eax
imul ecx, ecx, 0xdf2e6555
ror ecx, 0x1f
add dword [ebp - 0xe4], ecx
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], 4
mov dword [ebp - 0xe0], ecx
jb 0x11f9464
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x64]
add eax, 4
mov dword [ebp - 0x74], eax
jmp 0x11f9362
mov eax, dword [ebp - 0x90]
xor edi, edi
sub eax, dword [ebp - 0x74]
mov dword [ebp - 0x64], eax
je 0x11f9527
mov ecx, 0xdf2e6555
mov eax, dword [ebp - 0x74]
movzx eax, byte [eax + edi]
sub eax, 0x20d19aab
add dword [ebp - 0xe4], eax
add eax, dword [ebp - 0xe0]
mul ecx
add eax, edx
mov ecx, eax
imul ecx, ecx, 0x7b1f
rol ecx, 5
ror eax, 5
xor ecx, eax
imul ecx, ecx, 0xdf2e6555
ror ecx, 0x1f
add dword [ebp - 0xe4], ecx
inc edi
cmp edi, dword [ebp - 0x64]
mov dword [ebp - 0xe0], ecx
jb 0x11f94db
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0xe4]
mov byte [ebp + eax - 0x1c], cl
inc eax
cmp eax, 8
jb 0x11f9529
mov eax, 0x1d25c61a
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x88]
and eax, 7
mov dword [ebp - 0x64], eax
je 0x11f977e
xor ecx, ecx
cmp eax, ecx
mov edx, dword [ebp - 0x84]
not edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x70], ecx
jle 0x11f95b1
mov dword [ebp - 0x68], 0x38
mov ecx, dword [ebp - 0x68]
cmp dword [ebp - 0x70], 4
movzx ebx, byte [edi]
jge 0x11f959f
add ecx, 0xffffffe0
shl ebx, cl
or dword [ebp - 0x90], ebx
jmp 0x11f95a4
shl ebx, cl
or dword [ebp - 0x78], ebx
sub dword [ebp - 0x68], 8
inc edi
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], eax
jl 0x11f9586
mov eax, dword [ebp - 0x18]
xor edx, dword [ebp - 0x1c]
sub eax, edx
movzx ecx, word [ebp - 0x16]
xor eax, dword [ebp - 0x84]
mov ebx, eax
movzx edx, word [ebp - 0x1c]
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x70], ecx
xor edx, eax
imul edx, ecx
ror ebx, 9
add ebx, edx
xor dword [ebp - 0x60], ebx
mov ebx, ecx
mov edx, dword [ebp - 0x60]
movzx ecx, word [ebp - 0x18]
xor ebx, dword [ebp - 0x60]
imul ebx, ecx
ror edx, 5
xor edx, ebx
xor eax, edx
movzx edx, word [ebp - 0x1a]
mov ebx, dword [ebp - 0x70]
mov ecx, eax
sub ecx, edx
xor ecx, dword [ebp - 0x60]
xor ecx, dword [ebp - 0x18]
mov dword [ebp - 0x60], ecx
ror ecx, 7
sub ecx, dword [ebp - 0xac]
imul ecx, edx
xor eax, ecx
mov edx, eax
mov ecx, eax
sub ecx, dword [ebp - 0x1c]
ror ecx, 7
imul ebx, ecx
rol edx, 4
sub ebx, edx
movzx ecx, word [ebp - 0x1a]
xor dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
xor ecx, dword [ebp - 0x60]
rol ecx, 6
movzx edx, word [ebp - 0x18]
imul edx, ecx
mov ecx, dword [ebp - 0x18]
ror ebx, 0xf
sub edx, ebx
xor eax, edx
sub ecx, eax
mov ebx, eax
movzx edx, word [ebp - 0x1a]
ror ecx, 4
imul edx, ecx
ror ebx, 2
add ebx, edx
xor dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0xac]
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x60]
xor ecx, dword [ebp - 0x18]
ror ecx, 7
imul ebx, ecx
mov ecx, dword [ebp - 0x1c]
ror edx, 0x10
xor edx, ebx
xor eax, edx
sub ecx, eax
mov ebx, dword [ebp - 0x70]
ror ecx, 6
mov edx, eax
imul ebx, ecx
movzx ecx, word [ebp - 0x18]
rol edx, 0xe
sub ebx, edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x5c], ecx
xor edx, ebx
mov ebx, edx
sub ebx, ecx
mov ecx, dword [ebp - 0x70]
sub ebx, dword [ebp - 0x1c]
xor eax, ebx
movzx ebx, word [ebp - 0x1a]
xor ecx, eax
imul ecx, ebx
mov ebx, eax
shr ebx, 0xb
xor ecx, ebx
xor edx, ecx
mov ecx, dword [ebp - 0xac]
and dword [ebp - 0x70], 0
mov ebx, edx
sub ebx, dword [ebp - 0x5c]
rol ebx, 4
imul ecx, ebx
mov ebx, edx
xor edx, dword [ebp - 0x78]
shr ebx, 3
xor ecx, ebx
xor ecx, dword [ebp - 0x90]
mov dword [ebp - 0x60], edx
xor eax, ecx
mov ecx, dword [ebp - 0x64]
test ecx, ecx
mov dword [ebp - 0x74], eax
jle 0x11f971d
mov ebx, dword [ebp - 0x7c]
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x70], 4
jge 0x11f9706
rol dword [ebp - 0x74], 8
mov cl, byte [ebp - 0x74]
mov byte [ebx], cl
jmp 0x11f970f
rol dword [ebp - 0x60], 8
mov cl, byte [ebp - 0x60]
mov byte [ebx], cl
xor byte [ebp - 0x55], cl
inc dword [ebp - 0x70]
mov ecx, dword [ebp - 0x64]
cmp dword [ebp - 0x70], ecx
jl 0x11f96ef
lea ebx, [ecx - 4]
test ebx, ebx
jle 0x11f976b
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr edx, cl
shl edx, cl
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x88]
shr ecx, 3
je 0x11f9957
movzx ebx, word [ebp - 0x16]
mov dword [ebp - 0x70], ebx
movzx ebx, word [ebp - 0x1a]
mov dword [ebp - 0x68], ebx
movzx ebx, word [ebp - 0x18]
mov dword [ebp - 0x5c], ebx
movzx ebx, word [ebp - 0x1c]
neg dword [ebp - 0x5c]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x64], ecx
jmp 0x11f9798
xor edx, edx
test ebx, ebx
jge 0x11f9730
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x11f9730
mov eax, dword [ebp - 0x84]
xor edx, edx
mov dword [ebp - 0x90], eax
not eax
mov dword [ebp - 0x78], eax
xor eax, eax
jmp 0x11f9735
mov edi, dword [ebp - 0x6c]
xor ecx, ecx
movzx ebx, byte [edi + 2]
mov ch, byte [edi]
add edi, 8
mov dword [ebp - 0x6c], edi
mov cl, byte [edi - 7]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi - 5]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi - 2]
mov dword [ebp - 0x74], ecx
xor ecx, ecx
mov ch, byte [edi - 4]
mov cl, byte [edi - 3]
shl ecx, 8
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi - 1]
or ecx, ebx
xor edx, ecx
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x60], ecx
mov ecx, edx
mov ebx, dword [ebp - 0x70]
xor ecx, dword [ebp - 0x1c]
sub edi, ecx
xor edi, dword [ebp - 0x74]
xor eax, edi
mov ecx, eax
mov edi, dword [ebp - 0xac]
xor edi, eax
imul edi, dword [ebp - 0x70]
ror ecx, 9
add ecx, edi
xor edx, ecx
xor ebx, edx
mov edi, edx
movzx ecx, word [ebp - 0x18]
imul ebx, ecx
ror edi, 5
xor edi, ebx
xor eax, edi
mov ebx, dword [ebp - 0x70]
mov ecx, eax
sub ecx, dword [ebp - 0x68]
xor ecx, edx
xor ecx, dword [ebp - 0x18]
mov edx, ecx
movzx ecx, word [ebp - 0x1c]
mov edi, edx
ror edi, 7
sub edi, ecx
imul edi, dword [ebp - 0x68]
xor eax, edi
mov edi, eax
mov ecx, eax
sub ecx, dword [ebp - 0x1c]
ror ecx, 7
imul ebx, ecx
mov ecx, dword [ebp - 0x68]
rol edi, 4
sub ebx, edi
movzx edi, word [ebp - 0x18]
xor edx, ebx
mov ebx, edx
xor ecx, edx
rol ecx, 6
imul edi, ecx
mov ecx, dword [ebp - 0x18]
ror ebx, 0xf
sub edi, ebx
mov ebx, dword [ebp - 0x68]
xor eax, edi
mov edi, eax
sub ecx, eax
ror ecx, 4
imul ebx, ecx
ror edi, 2
add edi, ebx
xor edx, edi
mov ecx, edx
mov ebx, edx
xor ecx, dword [ebp - 0x18]
movzx edi, word [ebp - 0x1c]
ror ecx, 7
imul edi, ecx
ror ebx, 0x10
xor ebx, edi
mov ecx, dword [ebp - 0x1c]
xor eax, ebx
mov edi, eax
sub ecx, eax
ror ecx, 6
mov ebx, dword [ebp - 0x70]
imul ebx, ecx
movzx ecx, word [ebp - 0x18]
rol edi, 0xe
sub ebx, edi
xor edx, ebx
mov edi, edx
sub edi, ecx
sub edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x70]
xor eax, edi
xor ecx, eax
mov edi, eax
imul ecx, dword [ebp - 0x68]
shr edi, 0xb
xor ecx, edi
movzx edi, word [ebp - 0x1c]
xor edx, ecx
mov ecx, dword [ebp - 0x5c]
add ecx, edx
mov dword [ebp - 0xac], edi
rol ecx, 4
imul edi, ecx
mov ecx, edx
xor edx, dword [ebp - 0x78]
shr ecx, 3
xor edi, ecx
mov cl, byte [ebp - 0x55]
xor edi, dword [ebp - 0x90]
xor eax, edi
mov edi, dword [ebp - 0x7c]
mov byte [edi + 3], al
xor cl, al
xor cl, dl
ror eax, 8
xor cl, al
mov byte [edi + 7], dl
mov byte [edi + 2], al
ror edx, 8
mov byte [edi + 6], dl
xor cl, dl
ror eax, 8
mov byte [edi + 1], al
xor cl, al
ror edx, 8
xor cl, dl
mov byte [edi + 5], dl
ror eax, 8
ror edx, 8
mov bl, dl
xor bl, al
xor cl, bl
mov byte [ebp - 0x55], cl
mov ecx, dword [ebp - 0x74]
mov byte [edi], al
mov byte [edi + 4], dl
add edi, 8
mov dword [ebp - 0x90], ecx
mov ecx, dword [ebp - 0x60]
dec dword [ebp - 0x64]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x7c], edi
ror eax, 8
ror edx, 8
jne 0x11f9795
mov ebx, 0xfffffff
mov al, byte [ebp - 0x55]
mov ecx, dword [ebp - 0x94]
cmp al, byte [ecx + 8]
je 0x11f99f7
call fcn.012a18fc
mov esi, 0x103a6aa
mov ecx, 0xfffff000
and eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x100]
mov dword [eax + 8], esi
lea edi, [eax + 0xc]
and edi, 0xfffffffc
lea ebx, [edi + 0xfff]
and ebx, ecx
mov ecx, 0xffff
mov dword [ebp - 0x64], ecx
xor eax, eax
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr dword [ebp - 0x64], 0x10
jne 0x11f999e
xor edx, edx
div ecx
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x6c]
inc edx
cmp edi, ebx
mov dword [eax], edx
mov dword [eax + 0x1c], ecx
mov dword [ebp - 0x6c], 0
mov eax, edi
jae 0x11f99f0
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
add eax, 4
cmp eax, ebx
jb 0x11f99e4
mov eax, esi
jmp 0x11ff4d7
mov ecx, dword [0x13ca1e8]
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x5c], eax
sub esi, ecx
mov dword [ebp - 0x94], esi
jne 0x11f9a1b
test eax, eax
je 0x11f9ace
mov esi, dword [ebp - 0x80]
mov ecx, dword [0x1236cc0]
sub esi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0x84]
add eax, edi
mov dword [ebp - 0x6c], eax
xor eax, eax
dec ecx
mov dword [ebp - 0x64], eax
js 0x11f9a69
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1236cc4]
and edx, ebx
cmp edi, edx
jae 0x11f9a5f
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x64]
jmp 0x11f9a65
jbe 0x11f9a69
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, eax
jge 0x11f9a43
mov dword [ebp - 0x78], eax
jmp 0x11f9ac3
mov eax, dword [ebp - 0x78]
mov eax, dword [eax*4 + 0x1236cc4]
mov ecx, eax
and ecx, ebx
cmp ecx, dword [ebp - 0x6c]
jae 0x11f9ace
lea edi, [ecx + esi + 0x1000000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x11f9ab1
dec ecx
je 0x11f9aac
dec ecx
jne 0x11f9aba
mov edx, dword [ebp - 0x94]
jmp 0x11f9aba
mov edx, dword [ebp - 0x5c]
jmp 0x11f9aba
mov edx, dword [ebp - 0x94]
sub edx, dword [ebp - 0x5c]
dec eax
dec eax
jne 0x11f9ac0
add dword [edi], edx
inc dword [ebp - 0x78]
mov eax, dword [ebp - 0x78]
cmp eax, dword [0x1236cc0]
jb 0x11f9a6e
mov eax, dword [0x109dc84]
mov eax, 0x8ee167df
mov eax, dword [ebp - 0x80]
jmp 0x11ff4d7
mov edi, dword [ebp - 0x8c]
cmp edi, esi
jb 0x11fa5cd
mov eax, dword [0x100003c]
mov eax, dword [eax + 0x1000050]
add eax, esi
cmp dword [ebp - 0x8c], eax
jae 0x11fa5cd
mov edi, dword [ebp - 0x8c]
mov ecx, dword [0x13c1298]
and dword [ebp - 0x88], 0
sub edi, esi
dec ecx
js 0x11f9b59
mov eax, dword [ebp - 0x88]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax*8 + 0x10d9a68]
mov dword [ebp - 0x6c], edx
mov edx, dword [edx + 4]
and edx, ebx
cmp edi, edx
jae 0x11f9b44
lea ecx, [eax - 1]
jmp 0x11f9b51
jbe 0x11f9cd6
inc eax
mov dword [ebp - 0x88], eax
cmp ecx, dword [ebp - 0x88]
jge 0x11f9b1f
xor eax, eax
test eax, eax
je 0x11fa5cd
mov ecx, dword [eax]
and ecx, 7
lea edx, [ecx + eax + 8]
mov ecx, dword [eax + 4]
and ecx, ebx
lea eax, [ecx + edx]
mov dword [ebp - 0x94], eax
mov eax, dword [0x109dc84]
mov dword [ebp - 0x84], edx
sub eax, ecx
sub dword [ebp - 0x84], esi
mov dword [ebp - 0x8c], edx
lea edx, [eax + 1]
xor eax, eax
test edx, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x6c], edx
je 0x11f9bc7
mov edi, dword [0x1427a7c]
imul edi, edi, 0x343fd
add edi, 0x269ec3
mov dword [0x1427a7c], edi
shr edi, 0x10
shl eax, 0x10
or eax, edi
shr edx, 0x10
jne 0x11f9ba2
xor edx, edx
div dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
add edx, eax
push edx
push ecx
push dword [ebp - 0x84]
mov dword [ebp - 0x5c], edx
mov eax, 0x6129bf53
mov eax, dword [ebp - 0x94]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x130]
push eax
mov dword [ebp - 0x130], edi
mov byte [ebp - 0x55], 0
mov eax, 0x2f05a1a8
mov eax, dword [ebp - 0x12c]
and dword [ebp - 0xc4], 0
and dword [ebp - 0xc0], 0
and edi, ebx
and eax, ebx
add edi, esi
mov edx, eax
mov ecx, edi
mov edi, dword [0x13ca1e8]
mov eax, esi
add esp, 0x10
sub eax, edi
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x68], eax
jne 0x11f9cef
and dword [ebp - 0x80], 0
test edx, edx
jbe 0x11fa01f
mov ecx, 0x7fffffff
mov edi, 0xf7df258b
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x80]
movzx edx, byte [eax + edx]
sub edx, 0x820da75
add dword [ebp - 0xc4], edx
add edx, dword [ebp - 0xc0]
mov eax, edx
imul eax, eax, 0xa5eb
rol eax, 0xb
ror edx, 0xb
xor eax, edx
mov edx, edi
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
mov edx, edi
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
add dword [ebp - 0xc4], eax
inc dword [ebp - 0x80]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x6c]
jb 0x11f9c58
jmp 0x11fa01f
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + 4]
and ecx, ebx
mov eax, dword [eax]
and eax, 0x3f
lea eax, [eax + ecx + 0x1000000]
jmp 0x11f9b5b
lea eax, [ecx + edx]
sub ecx, esi
mov edi, dword [0x100003c]
lea edi, [edi + 0x10000a0]
mov dword [ebp - 0x90], eax
mov eax, dword [edi]
mov edi, dword [edi + 4]
mov dword [ebp - 0x6c], edi
mov edi, ecx
and edi, 0xfffff000
mov dword [ebp - 0x88], edi
mov edi, ecx
sub edi, dword [ebp - 0x88]
add ecx, edx
mov edx, ecx
and edx, 0xfffff000
sub ecx, edx
add eax, esi
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xa8], edx
add ecx, eax
mov dword [ebp - 0xa0], ecx
jmp 0x11f9d58
mov edx, dword [eax]
cmp edx, dword [ebp - 0x88]
jae 0x11f9d62
add eax, dword [eax + 4]
mov dword [ebp - 0x9c], eax
cmp eax, ecx
jne 0x11f9d4b
and dword [ebp - 0x98], 0
cmp eax, ecx
je 0x11f9da4
mov ecx, dword [ebp - 0x88]
cmp dword [eax], ecx
jne 0x11f9da4
mov ecx, dword [eax + 4]
sub ecx, 8
shr ecx, 1
je 0x11f9da4
mov edx, dword [ebp - 0x98]
movzx edx, word [eax + edx*2 + 8]
and edx, 0xfff
cmp edx, edi
jae 0x11f9da4
inc dword [ebp - 0x98]
cmp dword [ebp - 0x98], ecx
jne 0x11f9d81
mov ecx, 0x7fffffff
mov edi, 0xf7df258b
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0xa0]
je 0x11f9f94
mov edx, dword [ebp - 0xa8]
cmp dword [eax], edx
ja 0x11f9f94
mov eax, dword [eax + 4]
add eax, 0xfffffff8
shr eax, 1
cmp dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x9c]
jne 0x11f9e10
add eax, dword [eax + 4]
cmp eax, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], eax
je 0x11f9f94
mov edx, dword [ebp - 0xa8]
cmp dword [eax], edx
ja 0x11f9f94
and dword [ebp - 0x98], 0
jmp 0x11f9dce
mov edx, dword [ebp - 0xa8]
cmp dword [eax], edx
jne 0x11f9e3c
mov edx, dword [ebp - 0x98]
movzx eax, word [eax + edx*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0xa4]
jae 0x11f9f94
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x98]
inc dword [ebp - 0x98]
test word [eax + edx*2 + 8], 0xf000
je 0x11f9db4
and dword [ebp - 0x80], 0
lea edx, [eax + edx*2 + 8]
movzx edx, word [edx]
and edx, 0xfff
mov eax, dword [eax]
lea eax, [eax + edx + 0x1000000]
mov dword [ebp - 0x88], eax
sub eax, dword [ebp - 0x78]
mov dword [ebp - 0x6c], eax
je 0x11f9ef6
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x78]
movzx edx, byte [eax + edx]
sub edx, 0x820da75
add dword [ebp - 0xc4], edx
add edx, dword [ebp - 0xc0]
mov eax, edx
imul eax, eax, 0xa5eb
rol eax, 0xb
ror edx, 0xb
xor eax, edx
mov edx, edi
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
mov edx, edi
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
add dword [ebp - 0xc4], eax
inc dword [ebp - 0x80]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x6c]
jb 0x11f9e7d
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
sub eax, dword [ebp - 0x68]
and dword [ebp - 0x80], 0
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x80]
movzx edx, byte [ebp + eax - 0x124]
sub edx, 0x820da75
add dword [ebp - 0xc4], edx
add edx, dword [ebp - 0xc0]
mov eax, edx
imul eax, eax, 0xa5eb
rol eax, 0xb
ror edx, 0xb
xor eax, edx
mov edx, edi
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
mov edx, edi
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
add dword [ebp - 0xc4], eax
inc dword [ebp - 0x80]
cmp dword [ebp - 0x80], 4
mov dword [ebp - 0xc0], eax
jb 0x11f9f0b
mov eax, dword [ebp - 0x88]
add eax, 4
mov dword [ebp - 0x78], eax
jmp 0x11f9dae
mov eax, dword [ebp - 0x90]
and dword [ebp - 0x80], 0
sub eax, dword [ebp - 0x78]
mov dword [ebp - 0x6c], eax
je 0x11fa01f
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x78]
movzx edx, byte [eax + edx]
sub edx, 0x820da75
add dword [ebp - 0xc4], edx
add edx, dword [ebp - 0xc0]
mov eax, edx
imul eax, eax, 0xa5eb
rol eax, 0xb
ror edx, 0xb
xor eax, edx
mov edx, edi
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
mov edx, edi
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
add dword [ebp - 0xc4], eax
inc dword [ebp - 0x80]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x6c]
jb 0x11f9fa6
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0xc4]
mov byte [ebp + eax - 0x4c], cl
inc eax
cmp eax, 8
jb 0x11fa021
mov eax, 0x5da4b207
mov edi, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x7c], eax
and ecx, 7
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x88], ecx
je 0x11fa26d
mov edx, dword [ebp - 0x84]
and dword [ebp - 0x68], 0
and dword [ebp - 0xac], 0
and dword [ebp - 0x70], 0
test ecx, ecx
not edx
jle 0x11fa0b6
mov dword [ebp - 0x80], 0x38
mov ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x70], 4
movzx ebx, byte [edi]
jge 0x11fa09b
add ecx, 0xffffffe0
shl ebx, cl
or dword [ebp - 0xac], ebx
jmp 0x11fa0a0
shl ebx, cl
or dword [ebp - 0x68], ebx
sub dword [ebp - 0x80], 8
inc edi
inc dword [ebp - 0x70]
mov ecx, dword [ebp - 0x70]
cmp ecx, dword [ebp - 0x88]
jl 0x11fa082
mov dword [ebp - 0x78], edi
mov ebx, dword [ebp - 0x84]
movzx edi, word [ebp - 0x46]
movzx ecx, ax
mov dword [ebp - 0x74], edi
ror ebx, 1
xor ebx, edi
imul ebx, ecx
xor edx, ebx
mov edi, edx
mov dword [ebp - 0x80], ecx
xor edi, dword [ebp - 0x4c]
mov ebx, edx
rol edi, 4
imul ecx, edi
movzx edi, word [ebp - 0x4a]
rol ebx, 1
sub ecx, ebx
xor ecx, dword [ebp - 0x84]
add eax, ecx
mov ebx, ecx
rol eax, 7
mov dword [ebp - 0x90], edi
imul edi, eax
mov eax, dword [ebp - 0x90]
ror ebx, 2
add ebx, edi
xor edx, ebx
movzx edi, word [ebp - 0x4c]
xor eax, edx
rol eax, 7
mov ebx, edx
imul edi, eax
ror ebx, 8
xor ebx, edi
xor ecx, ebx
mov ebx, dword [ebp - 0x74]
mov edi, ecx
mov eax, ecx
sub eax, dword [ebp - 0x4c]
rol eax, 1
imul ebx, eax
rol edi, 8
sub ebx, edi
mov edi, dword [ebp - 0x90]
xor edx, ebx
mov eax, edx
sub eax, dword [ebp - 0x80]
xor eax, ecx
mov ecx, dword [ebp - 0x48]
xor eax, dword [ebp - 0x4c]
mov ebx, eax
sub ecx, eax
ror ecx, 0xf
imul edi, ecx
mov ecx, dword [ebp - 0x48]
rol ebx, 0xc
xor ebx, edi
xor edx, ebx
sub ecx, edx
rol ecx, 0xf
mov ebx, edx
movzx edi, word [ebp - 0x4c]
imul edi, ecx
mov ecx, dword [ebp - 0x80]
rol ebx, 2
add ebx, edi
movzx edi, word [ebp - 0x46]
mov dword [ebp - 0x74], edi
xor eax, ebx
mov ebx, eax
sub ebx, ecx
imul ebx, edi
mov edi, eax
shr edi, 0xe
sub ebx, edi
xor edx, ebx
mov edi, edx
mov ebx, ecx
sub edi, dword [ebp - 0x74]
rol edi, 3
imul ebx, edi
mov edi, edx
shr edi, 0xa
xor ebx, edi
xor eax, ebx
xor edx, eax
xor edx, dword [ebp - 0x48]
and dword [ebp - 0x70], 0
xor edx, dword [ebp - 0x4c]
mov edi, edx
movzx edx, word [ebp - 0x4c]
mov ebx, edi
xor ecx, edi
imul ecx, edx
xor edi, dword [ebp - 0x68]
ror ebx, 9
xor ebx, ecx
mov ecx, edi
xor ebx, dword [ebp - 0xac]
xor eax, ebx
mov ebx, dword [ebp - 0x88]
mov dword [ebp - 0x60], eax
test ebx, ebx
jle 0x11fa20f
cmp dword [ebp - 0x70], 4
jge 0x11fa1f3
rol dword [ebp - 0x60], 8
mov ebx, dword [ebp - 0x7c]
mov dl, byte [ebp - 0x60]
inc dword [ebp - 0x7c]
xor byte [ebp - 0x55], dl
mov byte [ebx], dl
jmp 0x11fa201
mov edx, dword [ebp - 0x7c]
inc dword [ebp - 0x7c]
rol ecx, 8
xor byte [ebp - 0x55], cl
mov byte [edx], cl
inc dword [ebp - 0x70]
mov ebx, dword [ebp - 0x88]
cmp dword [ebp - 0x70], ebx
jl 0x11fa1d9
add ebx, 0xfffffffc
test ebx, ebx
jle 0x11fa25a
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr edi, cl
shl edi, cl
mov edx, edi
mov edi, dword [ebp - 0x78]
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x64]
shr ecx, 3
je 0x11fa436
movzx ebx, word [ebp - 0x4a]
mov dword [ebp - 0x90], ebx
movzx ebx, word [ebp - 0x46]
mov dword [ebp - 0x88], ebx
neg dword [ebp - 0x88]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ecx
jmp 0x11fa287
xor edx, edx
test ebx, ebx
jge 0x11fa224
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x11fa224
xor edx, edx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xac], eax
not eax
mov dword [ebp - 0x68], eax
xor eax, eax
jmp 0x11fa22c
mov edi, dword [ebp - 0x78]
movzx ecx, byte [edi + 1]
mov ch, byte [edi]
movzx ebx, byte [edi + 2]
add edi, 8
shl ecx, 8
mov dword [ebp - 0x78], edi
or ecx, ebx
movzx ebx, byte [edi - 5]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi - 2]
mov dword [ebp - 0x60], ecx
xor ecx, ecx
xor eax, dword [ebp - 0x60]
mov ch, byte [edi - 4]
mov cl, byte [edi - 3]
shl ecx, 8
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi - 1]
or ecx, ebx
movzx edi, word [ebp - 0x48]
mov dword [ebp - 0x80], ecx
mov ecx, eax
ror ecx, 1
xor ecx, dword [ebp - 0x74]
imul ecx, edi
xor ecx, dword [ebp - 0x80]
xor edx, ecx
mov ecx, edx
xor ecx, dword [ebp - 0x4c]
rol ecx, 4
mov ebx, edx
imul edi, ecx
rol ebx, 1
sub edi, ebx
xor eax, edi
mov ecx, dword [ebp - 0x48]
add ecx, eax
rol ecx, 7
mov ebx, dword [ebp - 0x90]
imul ebx, ecx
mov edi, eax
mov ecx, dword [ebp - 0x90]
ror edi, 2
add edi, ebx
xor edx, edi
movzx edi, word [ebp - 0x4c]
xor ecx, edx
mov ebx, edx
rol ecx, 7
imul edi, ecx
ror ebx, 8
xor ebx, edi
xor eax, ebx
mov edi, eax
mov ecx, eax
mov ebx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x4c]
rol ecx, 1
imul ebx, ecx
movzx ecx, word [ebp - 0x48]
rol edi, 8
sub ebx, edi
xor edx, ebx
mov edi, edx
sub edi, ecx
mov ebx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x48]
xor edi, eax
xor edi, dword [ebp - 0x4c]
mov eax, edi
sub ecx, eax
ror ecx, 0xf
imul ebx, ecx
mov ecx, dword [ebp - 0x48]
rol edi, 0xc
xor edi, ebx
xor edx, edi
movzx edi, word [ebp - 0x4c]
mov ebx, edx
sub ecx, edx
rol ecx, 0xf
imul edi, ecx
rol ebx, 2
add ebx, edi
movzx edi, word [ebp - 0x48]
xor eax, ebx
mov ebx, eax
mov ecx, eax
sub ecx, edi
imul ecx, dword [ebp - 0x74]
shr ebx, 0xe
sub ecx, ebx
xor edx, ecx
mov ecx, dword [ebp - 0x88]
mov ebx, edi
add ecx, edx
rol ecx, 3
imul ebx, ecx
mov ecx, edx
shr ecx, 0xa
xor ebx, ecx
xor eax, ebx
movzx ecx, word [ebp - 0x4c]
xor edx, eax
xor edx, dword [ebp - 0x48]
xor edx, dword [ebp - 0x4c]
xor edi, edx
imul edi, ecx
mov cl, byte [ebp - 0x55]
mov ebx, edx
xor edx, dword [ebp - 0x68]
ror ebx, 9
xor ebx, edi
xor ebx, dword [ebp - 0xac]
mov edi, dword [ebp - 0x7c]
xor eax, ebx
mov byte [edi + 3], al
xor cl, al
xor cl, dl
ror eax, 8
xor cl, al
mov byte [edi + 7], dl
mov byte [edi + 2], al
ror edx, 8
xor cl, dl
mov byte [edi + 6], dl
ror eax, 8
xor cl, al
ror edx, 8
mov byte [edi + 1], al
xor cl, dl
mov byte [edi + 5], dl
ror eax, 8
ror edx, 8
mov bl, dl
xor bl, al
xor cl, bl
mov byte [ebp - 0x55], cl
mov ecx, dword [ebp - 0x60]
mov byte [edi], al
mov byte [edi + 4], dl
mov dword [ebp - 0xac], ecx
mov ecx, dword [ebp - 0x80]
add edi, 8
dec dword [ebp - 0x70]
ror eax, 8
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x7c], edi
ror edx, 8
jne 0x11fa284
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x94]
mov al, byte [ebp - 0x55]
cmp al, byte [ecx + 8]
je 0x11fa4d8
call fcn.012a18fc
mov ecx, 0xfffff000
mov esi, 0x103a6aa
and eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x100]
mov dword [eax + 8], esi
lea edi, [eax + 0xc]
and edi, 0xfffffffc
lea ebx, [edi + 0xfff]
and ebx, ecx
mov ecx, 0xffff
xor eax, eax
mov dword [ebp - 0x64], ecx
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr dword [ebp - 0x64], 0x10
jne 0x11fa47d
xor edx, edx
div ecx
inc edx
cmp edi, ebx
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x6c]
mov dword [eax], edx
mov dword [eax + 0x1c], ecx
mov dword [ebp - 0x6c], 0
mov eax, edi
jae 0x11f99f0
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
add eax, 4
cmp eax, ebx
jb 0x11fa4c7
jmp 0x11f99f0
mov ecx, dword [0x13ca1e8]
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x5c]
sub esi, ecx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x88], esi
jne 0x11fa4ff
test eax, eax
je 0x11fa5bb
mov eax, dword [ebp - 0x64]
mov esi, dword [ebp - 0x5c]
mov ecx, dword [0x1236cc0]
mov edi, dword [ebp - 0x84]
sub esi, dword [ebp - 0x8c]
add eax, edi
mov dword [ebp - 0x124], eax
xor eax, eax
dec ecx
mov dword [ebp - 0x64], eax
js 0x11fa54d
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1236cc4]
and edx, ebx
cmp edi, edx
jae 0x11fa543
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x64]
jmp 0x11fa549
jbe 0x11fa54d
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, eax
jge 0x11fa527
mov dword [ebp - 0x68], eax
jmp 0x11fa5b0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax*4 + 0x1236cc4]
mov ecx, eax
and ecx, ebx
cmp ecx, dword [ebp - 0x124]
jae 0x11fa5bb
lea edi, [ecx + esi + 0x1000000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x11fa59b
dec ecx
je 0x11fa593
dec ecx
jne 0x11fa5a7
mov edx, dword [ebp - 0x88]
jmp 0x11fa5a7
mov edx, dword [ebp - 0x94]
jmp 0x11fa5a7
mov edx, dword [ebp - 0x88]
sub edx, dword [ebp - 0x94]
dec eax
dec eax
jne 0x11fa5ad
add dword [edi], edx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, dword [0x1236cc0]
jb 0x11fa552
mov eax, dword [0x109dc84]
mov eax, 0xffcbc6cc
mov eax, dword [ebp - 0x5c]
jmp 0x11ff4d7
cmp dword [ebp - 0x8c], esi
jb 0x11ff445
mov eax, dword [0x100003c]
mov eax, dword [eax + 0x1000050]
add eax, esi
cmp dword [ebp - 0x8c], eax
jae 0x11faff6
mov ecx, dword [0x1008d90]
mov edi, dword [ebp - 0x8c]
and dword [ebp - 0x64], 0
sub edi, esi
dec ecx
js 0x11fa638
mov eax, dword [ebp - 0x64]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax*8 + 0x125abd0]
mov dword [ebp - 0x6c], edx
mov edx, dword [edx + 4]
and edx, ebx
cmp edi, edx
jae 0x11fa629
lea ecx, [eax - 1]
jmp 0x11fa633
jbe 0x11fa7a1
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, dword [ebp - 0x64]
jge 0x11fa607
xor ecx, ecx
test ecx, ecx
je 0x11faff6
mov eax, dword [ecx]
mov edx, eax
shr eax, 1
and eax, ebx
shr edx, 0x1d
lea ecx, [edx + ecx + 8]
mov edi, eax
lea eax, [edi + ecx]
mov dword [ebp - 0x88], eax
mov eax, dword [0x109dc84]
sub eax, edi
mov dword [ebp - 0x84], ecx
sub dword [ebp - 0x84], esi
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x94], edi
lea ecx, [eax + 1]
xor eax, eax
mov dword [ebp - 0x6c], ecx
test ecx, ecx
je 0x11fa6ac
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr ecx, 0x10
jne 0x11fa687
xor edx, edx
div dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
add eax, edx
push eax
push edi
push dword [ebp - 0x84]
mov dword [ebp - 0x90], eax
mov eax, 0xe4eb4dcd
mov eax, dword [ebp - 0x88]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x148]
push eax
mov dword [ebp - 0x148], edi
mov byte [ebp - 0x55], 0
mov eax, 0x8cd849e0
mov eax, dword [ebp - 0x144]
and dword [ebp - 0xb4], 0
and dword [ebp - 0xb0], 0
and edi, ebx
and eax, ebx
mov edx, eax
mov eax, esi
add edi, esi
mov ecx, edi
mov edi, dword [0x13ca1e8]
add esp, 0x10
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], ecx
sub eax, edi
mov dword [ebp - 0x80], eax
jne 0x11fa7bc
and dword [ebp - 0x5c], 0
test edx, edx
jbe 0x11faa7a
mov edi, 0x2a318641
mov ecx, 0x7fffffff
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x68]
movzx eax, byte [eax + edx]
add eax, edi
add dword [ebp - 0xb4], eax
mov edx, edi
add eax, dword [ebp - 0xb0]
imul eax, eax, 0x2a318641
ror eax, 0x10
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
imul eax, eax, 0x2a318641
ror eax, 0x10
add dword [ebp - 0xb4], eax
inc dword [ebp - 0x5c]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x6c]
jb 0x11fa740
jmp 0x11faa7a
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
shr ecx, 1
mov eax, dword [eax + 4]
and ecx, 0x3f
and eax, ebx
lea ecx, [ecx + eax + 0x1000000]
jmp 0x11fa63a
lea eax, [ecx + edx]
sub ecx, esi
mov edi, dword [0x100003c]
lea edi, [edi + 0x10000a0]
mov dword [ebp - 0x78], eax
mov eax, dword [edi]
mov edi, dword [edi + 4]
mov dword [ebp - 0x6c], edi
mov edi, ecx
and edi, 0xfffff000
mov dword [ebp - 0x64], edi
mov edi, ecx
sub edi, dword [ebp - 0x64]
add ecx, edx
mov edx, ecx
and edx, 0xfffff000
sub ecx, edx
add eax, esi
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0x6c]
add ecx, eax
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa0], ecx
jmp 0x11fa819
mov edx, dword [eax]
cmp edx, dword [ebp - 0x64]
jae 0x11fa823
add eax, dword [eax + 4]
mov dword [ebp - 0x9c], eax
cmp eax, ecx
jne 0x11fa80f
and dword [ebp - 0x98], 0
cmp eax, ecx
je 0x11fa862
mov ecx, dword [ebp - 0x64]
cmp dword [eax], ecx
jne 0x11fa862
mov ecx, dword [eax + 4]
sub ecx, 8
shr ecx, 1
je 0x11fa862
mov edx, dword [ebp - 0x98]
movzx edx, word [eax + edx*2 + 8]
and edx, 0xfff
cmp edx, edi
jae 0x11fa862
inc dword [ebp - 0x98]
cmp dword [ebp - 0x98], ecx
jne 0x11fa83f
mov edi, 0x2a318641
mov ecx, 0x7fffffff
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0xa0]
je 0x11faa0f
mov edx, dword [ebp - 0xa8]
cmp dword [eax], edx
ja 0x11faa0f
mov eax, dword [eax + 4]
add eax, 0xfffffff8
shr eax, 1
cmp dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x9c]
jne 0x11fa8ce
add eax, dword [eax + 4]
cmp eax, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], eax
je 0x11faa0f
mov edx, dword [ebp - 0xa8]
cmp dword [eax], edx
ja 0x11faa0f
and dword [ebp - 0x98], 0
jmp 0x11fa88c
mov edx, dword [ebp - 0xa8]
cmp dword [eax], edx
jne 0x11fa8fa
mov edx, dword [ebp - 0x98]
movzx eax, word [eax + edx*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0xa4]
jae 0x11faa0f
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x98]
inc dword [ebp - 0x98]
test word [eax + edx*2 + 8], 0xf000
je 0x11fa872
and dword [ebp - 0x5c], 0
lea edx, [eax + edx*2 + 8]
movzx edx, word [edx]
and edx, 0xfff
mov eax, dword [eax]
lea eax, [eax + edx + 0x1000000]
mov dword [ebp - 0x64], eax
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0x6c], eax
je 0x11fa994
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x68]
movzx eax, byte [eax + edx]
mov edx, edi
add eax, edi
add dword [ebp - 0xb4], eax
add eax, dword [ebp - 0xb0]
imul eax, eax, 0x2a318641
ror eax, 0x10
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
imul eax, eax, 0x2a318641
ror eax, 0x10
add dword [ebp - 0xb4], eax
inc dword [ebp - 0x5c]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x6c]
jb 0x11fa938
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
sub eax, dword [ebp - 0x80]
and dword [ebp - 0x5c], 0
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x5c]
mov edx, edi
movzx eax, byte [ebp + eax - 0x128]
add eax, edi
add dword [ebp - 0xb4], eax
add eax, dword [ebp - 0xb0]
imul eax, eax, 0x2a318641
ror eax, 0x10
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
imul eax, eax, 0x2a318641
ror eax, 0x10
add dword [ebp - 0xb4], eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 4
mov dword [ebp - 0xb0], eax
jb 0x11fa9a6
mov eax, dword [ebp - 0x64]
add eax, 4
mov dword [ebp - 0x68], eax
jmp 0x11fa86c
mov eax, dword [ebp - 0x78]
and dword [ebp - 0x5c], 0
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0x6c], eax
je 0x11faa7a
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x68]
movzx eax, byte [eax + edx]
mov edx, edi
add eax, edi
add dword [ebp - 0xb4], eax
add eax, dword [ebp - 0xb0]
imul eax, eax, 0x2a318641
ror eax, 0x10
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
imul eax, eax, 0x2a318641
ror eax, 0x10
add dword [ebp - 0xb4], eax
inc dword [ebp - 0x5c]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x6c]
jb 0x11faa1e
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0xb4]
mov byte [ebp + eax - 0x14], cl
inc eax
cmp eax, 8
jb 0x11faa7c
mov eax, 0x1d6ee8f4
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x94]
and edx, 7
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x80], edx
je 0x11facb0
not eax
mov dword [ebp - 0x60], eax
xor ecx, ecx
cmp edx, ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x70], ecx
jle 0x11fab01
mov dword [ebp - 0x5c], 0x38
cmp dword [ebp - 0x70], 4
movzx ebx, byte [edi]
mov ecx, dword [ebp - 0x5c]
jge 0x11faaef
add ecx, 0xffffffe0
shl ebx, cl
or dword [ebp - 0x68], ebx
jmp 0x11faaf4
shl ebx, cl
or dword [ebp - 0x78], ebx
sub dword [ebp - 0x5c], 8
inc edi
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], edx
jl 0x11faad9
ror eax, 9
movzx edx, word [ebp - 0x12]
movzx ecx, word [ebp - 0x14]
sub eax, ecx
imul eax, edx
xor eax, dword [ebp - 0x84]
movzx edx, word [ebp - 0xe]
mov dword [ebp - 0x5c], ecx
movzx ecx, word [ebp - 0x10]
mov ebx, eax
xor ecx, eax
imul ecx, edx
movzx edx, word [ebp - 0x10]
ror ebx, 1
xor ebx, ecx
xor dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x60]
ror ecx, 0xd
imul edx, ecx
mov ecx, dword [ebp - 0x10]
xor ecx, dword [ebp - 0x14]
rol ebx, 0xf
xor ecx, dword [ebp - 0x60]
sub edx, ebx
xor eax, edx
xor ecx, eax
mov ebx, dword [ebp - 0x5c]
mov edx, ecx
sub edx, dword [ebp - 0x10]
mov dword [ebp - 0x60], ecx
ror edx, 1
imul ebx, edx
mov edx, dword [ebp - 0x10]
ror ecx, 9
xor ecx, ebx
xor eax, ecx
mov ecx, dword [ebp - 0x14]
xor edx, eax
mov ebx, ecx
sub ebx, edx
xor dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
xor ecx, dword [ebp - 0x60]
movzx edx, word [ebp - 0x10]
rol ecx, 2
imul edx, ecx
mov ecx, dword [ebp - 0x5c]
rol ebx, 5
sub edx, ebx
xor eax, edx
movzx edx, word [ebp - 0x12]
mov ebx, edx
xor ecx, eax
rol ecx, 1
imul ebx, ecx
mov ecx, eax
shr ecx, 6
add ebx, ecx
xor dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
movzx ecx, word [ebp - 0x10]
not ebx
ror ebx, 0xa
add ebx, dword [ebp - 0x5c]
imul ebx, ecx
movzx ecx, word [ebp - 0xe]
xor eax, ebx
mov ebx, eax
sub ebx, ecx
movzx ecx, word [ebp - 0x10]
xor ebx, dword [ebp - 0x14]
xor dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
xor edx, dword [ebp - 0x60]
imul edx, ecx
movzx ecx, word [ebp - 0x12]
ror ebx, 0xa
add ebx, edx
xor eax, ebx
mov edx, eax
sub edx, dword [ebp - 0x10]
sub edx, ecx
xor dword [ebp - 0x60], edx
mov ebx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x60]
sub edx, dword [ebp - 0x10]
and dword [ebp - 0x70], 0
ror edx, 0xd
imul ecx, edx
mov edx, dword [ebp - 0x60]
xor edx, dword [ebp - 0x78]
ror ebx, 9
sub ecx, ebx
xor ecx, dword [ebp - 0x68]
xor eax, ecx
mov dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x80]
test ecx, ecx
mov dword [ebp - 0x74], eax
jle 0x11fac51
mov ebx, dword [ebp - 0x7c]
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x70], 4
jge 0x11fac3a
rol dword [ebp - 0x74], 8
mov cl, byte [ebp - 0x74]
mov byte [ebx], cl
jmp 0x11fac43
rol dword [ebp - 0x60], 8
mov cl, byte [ebp - 0x60]
mov byte [ebx], cl
xor byte [ebp - 0x55], cl
inc dword [ebp - 0x70]
mov ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x70], ecx
jl 0x11fac23
lea ebx, [ecx - 4]
test ebx, ebx
jle 0x11fac9d
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr edx, cl
shl edx, cl
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x94]
shr ecx, 3
mov dword [ebp - 0x80], ecx
je 0x11fae5c
mov ecx, dword [ebp - 0x10]
xor ecx, dword [ebp - 0x14]
mov dword [ebp - 0xac], ecx
movzx ecx, word [ebp - 0xe]
mov dword [ebp - 0x64], ecx
movzx ecx, word [ebp - 0x12]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x80], ecx
jmp 0x11facc1
xor edx, edx
test ebx, ebx
jge 0x11fac64
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x11fac64
xor edx, edx
mov dword [ebp - 0x68], eax
not eax
mov dword [ebp - 0x78], eax
xor eax, eax
jmp 0x11fac69
mov edi, dword [ebp - 0x6c]
movzx ebx, byte [edi + 2]
xor ecx, ecx
mov ch, byte [edi]
add edi, 8
mov dword [ebp - 0x6c], edi
mov cl, byte [edi - 7]
shl ecx, 8
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi - 5]
or ecx, ebx
movzx ebx, byte [edi - 2]
mov dword [ebp - 0x74], ecx
xor ecx, ecx
mov ch, byte [edi - 4]
mov cl, byte [edi - 3]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi - 1]
shl ecx, 8
or ecx, ebx
mov dword [ebp - 0x60], ecx
xor edx, ecx
movzx ecx, word [ebp - 0x14]
mov edi, edx
ror edi, 9
sub edi, ecx
movzx ecx, word [ebp - 0x10]
imul edi, dword [ebp - 0x5c]
xor edi, dword [ebp - 0x74]
xor eax, edi
mov edi, eax
xor ecx, eax
imul ecx, dword [ebp - 0x64]
ror edi, 1
xor edi, ecx
xor edx, edi
mov ebx, edx
movzx edi, word [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
sub ecx, edx
ror ecx, 0xd
imul edi, ecx
mov ecx, dword [ebp - 0xac]
xor ecx, edx
rol ebx, 0xf
sub edi, ebx
xor eax, edi
xor ecx, eax
mov edx, ecx
movzx edi, word [ebp - 0x14]
sub ecx, dword [ebp - 0x10]
mov ebx, edx
ror ecx, 1
imul edi, ecx
ror ebx, 9
xor ebx, edi
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
xor eax, ebx
mov ebx, ecx
xor edi, eax
sub ebx, edi
movzx edi, word [ebp - 0x10]
xor edx, ebx
xor ecx, edx
rol ecx, 2
mov ebx, edx
imul edi, ecx
rol ebx, 5
sub edi, ebx
xor eax, edi
mov ebx, dword [ebp - 0x5c]
movzx edi, word [ebp - 0x14]
mov ecx, edi
xor ecx, eax
rol ecx, 1
imul ebx, ecx
mov ecx, eax
shr ecx, 6
add ebx, ecx
movzx ecx, word [ebp - 0x10]
xor edx, ebx
mov ebx, edx
not ebx
ror ebx, 0xa
add ebx, edi
imul ebx, ecx
xor eax, ebx
mov ebx, dword [ebp - 0x5c]
mov edi, eax
sub edi, dword [ebp - 0x64]
xor edi, dword [ebp - 0x14]
xor edx, edi
mov edi, edx
xor ebx, edx
imul ebx, ecx
ror edi, 0xa
add edi, ebx
xor eax, edi
mov ecx, eax
movzx edi, word [ebp - 0x14]
sub ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x5c]
xor edx, ecx
mov ecx, edx
sub ecx, dword [ebp - 0x10]
mov ebx, edx
xor edx, dword [ebp - 0x78]
ror ecx, 0xd
imul edi, ecx
ror ebx, 9
mov cl, byte [ebp - 0x55]
sub edi, ebx
xor edi, dword [ebp - 0x68]
xor eax, edi
xor cl, al
mov edi, dword [ebp - 0x7c]
xor cl, dl
mov byte [edi + 3], al
mov byte [edi + 7], dl
ror eax, 8
mov byte [edi + 2], al
xor cl, al
ror edx, 8
mov byte [edi + 6], dl
xor cl, dl
ror eax, 8
mov byte [edi + 1], al
xor cl, al
ror edx, 8
xor cl, dl
ror eax, 8
mov byte [edi + 5], dl
ror edx, 8
mov bl, dl
xor bl, al
xor cl, bl
mov byte [ebp - 0x55], cl
mov ecx, dword [ebp - 0x74]
mov byte [edi], al
mov byte [edi + 4], dl
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x60]
add edi, 8
dec dword [ebp - 0x80]
ror eax, 8
ror edx, 8
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x7c], edi
jne 0x11facbe
mov ebx, 0xfffffff
mov al, byte [ebp - 0x55]
mov ecx, dword [ebp - 0x88]
cmp al, byte [ecx + 8]
je 0x11faefe
call fcn.012a18fc
mov esi, 0x103a6aa
mov ecx, 0xfffff000
and eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x100]
lea edi, [eax + 0xc]
and edi, 0xfffffffc
mov dword [eax + 8], esi
lea ebx, [edi + 0xfff]
and ebx, ecx
mov ecx, 0xffff
mov dword [ebp - 0x64], ecx
xor eax, eax
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr dword [ebp - 0x64], 0x10
jne 0x11faea3
xor edx, edx
div ecx
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x104]
inc edx
cmp edi, ebx
mov dword [eax], edx
mov dword [eax + 0x1c], ecx
mov dword [ebp - 0x6c], 0
mov eax, edi
jae 0x11f99f0
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
add eax, 4
cmp eax, ebx
jb 0x11faeed
jmp 0x11f99f0
mov ecx, dword [0x13ca1e8]
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x90]
mov dword [ebp - 0x5c], eax
sub esi, ecx
mov dword [ebp - 0x88], esi
jne 0x11faf25
test eax, eax
je 0x11fafe1
mov ecx, dword [0x1236cc0]
mov edi, dword [ebp - 0x84]
mov eax, dword [ebp - 0x94]
mov esi, dword [ebp - 0x90]
sub esi, dword [ebp - 0x8c]
add eax, edi
mov dword [ebp - 0x128], eax
xor eax, eax
dec ecx
mov dword [ebp - 0x64], eax
js 0x11faf79
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1236cc4]
and edx, ebx
cmp edi, edx
jae 0x11faf6f
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x64]
jmp 0x11faf75
jbe 0x11faf79
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, eax
jge 0x11faf53
mov dword [ebp - 0x68], eax
jmp 0x11fafd6
mov eax, dword [ebp - 0x68]
mov eax, dword [eax*4 + 0x1236cc4]
mov ecx, eax
and ecx, ebx
cmp ecx, dword [ebp - 0x128]
jae 0x11fafe1
lea edi, [ecx + esi + 0x1000000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x11fafc4
dec ecx
je 0x11fafbf
dec ecx
jne 0x11fafcd
mov edx, dword [ebp - 0x88]
jmp 0x11fafcd
mov edx, dword [ebp - 0x5c]
jmp 0x11fafcd
mov edx, dword [ebp - 0x88]
sub edx, dword [ebp - 0x5c]
dec eax
dec eax
jne 0x11fafd3
add dword [edi], edx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, dword [0x1236cc0]
jb 0x11faf7e
mov eax, dword [0x109dc84]
mov eax, 0x40d1d07
mov eax, dword [ebp - 0x90]
jmp 0x11ff4d7
cmp dword [ebp - 0x8c], esi
jb 0x11ff445
mov eax, dword [0x100003c]
mov eax, dword [eax + 0x1000050]
add eax, esi
cmp dword [ebp - 0x8c], eax
jae 0x11fb995
mov edi, dword [ebp - 0x8c]
mov ecx, dword [0x11f148c]
and dword [ebp - 0x64], 0
sub edi, esi
dec ecx
js 0x11fb061
mov eax, dword [ebp - 0x64]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax*8 + 0x100b278]
mov dword [ebp - 0x6c], edx
mov edx, dword [edx + 4]
and edx, ebx
cmp edi, edx
jae 0x11fb052
lea ecx, [eax - 1]
jmp 0x11fb05c
jbe 0x11fb196
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, dword [ebp - 0x64]
jge 0x11fb030
xor ecx, ecx
test ecx, ecx
je 0x11fb995
mov eax, dword [ecx]
mov edx, eax
and eax, ebx
shr edx, 0x1d
lea ecx, [edx + ecx + 8]
mov edi, eax
lea eax, [edi + ecx]
mov dword [ebp - 0x88], eax
mov eax, dword [0x109dc84]
mov dword [ebp - 0x84], ecx
sub eax, edi
sub dword [ebp - 0x84], esi
mov dword [ebp - 0x8c], ecx
lea ecx, [eax + 1]
mov dword [ebp - 0x94], edi
xor eax, eax
test ecx, ecx
mov dword [ebp - 0x6c], ecx
je 0x11fb0d3
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr ecx, 0x10
jne 0x11fb0ae
xor edx, edx
div dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
add eax, edx
push eax
push edi
push dword [ebp - 0x84]
mov dword [ebp - 0x80], eax
mov eax, 0xd82f12fd
mov eax, dword [ebp - 0x88]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x164], eax
lea eax, [ebp - 0x168]
push eax
mov dword [ebp - 0x168], edi
mov byte [ebp - 0x55], 0
mov eax, 0x5427b5ce
mov ecx, dword [0x13ca1e8]
mov eax, dword [ebp - 0x164]
and dword [ebp - 0xcc], 0
and dword [ebp - 0xc8], 0
and eax, ebx
mov edx, eax
and edi, ebx
add esp, 0x10
add edi, esi
mov eax, esi
mov dword [ebp - 0x5c], edx
sub eax, ecx
mov dword [ebp - 0x78], eax
jne 0x11fb1af
xor ecx, ecx
test edx, edx
jbe 0x11fb419
movzx eax, byte [ecx + edi]
mov edx, 0xe373700e
sub eax, 0x1c8c8ff2
add dword [ebp - 0xcc], eax
add eax, dword [ebp - 0xc8]
mul edx
add eax, edx
imul eax, eax, 0xe373700e
ror eax, 0x11
imul eax, eax, 0xe373700e
ror eax, 0x11
add dword [ebp - 0xcc], eax
inc ecx
cmp ecx, dword [ebp - 0x5c]
mov dword [ebp - 0xc8], eax
jb 0x11fb14f
jmp 0x11fb419
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + 4]
and ecx, ebx
mov eax, dword [eax]
and eax, 0x3f
lea ecx, [ecx + eax + 0x1000000]
jmp 0x11fb063
mov ecx, dword [0x100003c]
lea eax, [edx + edi]
mov edx, edi
sub edx, esi
mov dword [ebp - 0x90], eax
lea ecx, [ecx + 0x10000a0]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x6c], ecx
mov ecx, edx
and ecx, 0xfffff000
mov dword [ebp - 0x64], ecx
mov ecx, edx
sub ecx, dword [ebp - 0x64]
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x5c]
add eax, esi
add edx, ecx
mov ecx, edx
and ecx, 0xfffff000
sub edx, ecx
mov dword [ebp - 0xa4], edx
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0xa8], ecx
mov ecx, eax
add edx, eax
mov dword [ebp - 0xa0], edx
cmp eax, edx
je 0x11fb223
mov eax, dword [ebp - 0x64]
cmp dword [ecx], eax
jae 0x11fb223
add ecx, dword [ecx + 4]
cmp ecx, dword [ebp - 0xa0]
jne 0x11fb211
and dword [ebp - 0x98], 0
cmp ecx, dword [ebp - 0xa0]
je 0x11fb3c8
mov eax, dword [ebp - 0x64]
cmp dword [ecx], eax
jne 0x11fb270
mov eax, dword [ecx + 4]
sub eax, 8
shr eax, 1
mov dword [ebp - 0x6c], eax
je 0x11fb270
mov eax, dword [ebp - 0x98]
movzx eax, word [ecx + eax*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0x68]
jae 0x11fb270
inc dword [ebp - 0x98]
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0x6c]
jne 0x11fb24a
cmp ecx, dword [ebp - 0xa0]
je 0x11fb3c8
mov eax, dword [ecx]
cmp eax, dword [ebp - 0xa8]
ja 0x11fb3c8
mov eax, dword [ecx + 4]
lea edx, [eax - 8]
shr edx, 1
mov eax, dword [ebp - 0x98]
cmp eax, edx
jne 0x11fb2c2
add ecx, dword [ecx + 4]
cmp ecx, dword [ebp - 0xa0]
je 0x11fb3c8
mov eax, dword [ebp - 0xa8]
cmp dword [ecx], eax
ja 0x11fb3c8
and dword [ebp - 0x98], 0
jmp 0x11fb28a
mov edx, dword [ecx]
cmp edx, dword [ebp - 0xa8]
jne 0x11fb2e2
movzx eax, word [ecx + eax*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0xa4]
jae 0x11fb3c8
mov eax, dword [ebp - 0x98]
inc dword [ebp - 0x98]
test word [ecx + eax*2 + 8], 0xf000
je 0x11fb270
and dword [ebp - 0x5c], 0
lea eax, [ecx + eax*2 + 8]
movzx eax, word [eax]
and eax, 0xfff
lea eax, [eax + edx + 0x1000000]
mov dword [ebp - 0x64], eax
sub dword [ebp - 0x64], edi
mov dword [ebp - 0x68], eax
je 0x11fb367
mov eax, dword [ebp - 0x5c]
movzx eax, byte [eax + edi]
mov edx, 0xe373700e
sub eax, 0x1c8c8ff2
add dword [ebp - 0xcc], eax
add eax, dword [ebp - 0xc8]
mul edx
add eax, edx
imul eax, eax, 0xe373700e
ror eax, 0x11
imul eax, eax, 0xe373700e
ror eax, 0x11
add dword [ebp - 0xcc], eax
inc dword [ebp - 0x5c]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x64]
jb 0x11fb31d
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
sub eax, dword [ebp - 0x78]
mov dword [ebp - 0x120], eax
xor edi, edi
movzx eax, byte [ebp + edi - 0x120]
sub eax, 0x1c8c8ff2
add dword [ebp - 0xcc], eax
add eax, dword [ebp - 0xc8]
mov edx, 0xe373700e
mul edx
add eax, edx
imul eax, eax, 0xe373700e
ror eax, 0x11
imul eax, eax, 0xe373700e
ror eax, 0x11
add dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
inc edi
cmp edi, 4
jb 0x11fb377
mov edi, dword [ebp - 0x68]
add edi, 4
jmp 0x11fb270
xor ecx, ecx
mov eax, dword [ebp - 0x90]
sub eax, edi
mov dword [ebp - 0x6c], eax
je 0x11fb419
movzx eax, byte [ecx + edi]
sub eax, 0x1c8c8ff2
add dword [ebp - 0xcc], eax
mov edx, 0xe373700e
add eax, dword [ebp - 0xc8]
mul edx
add eax, edx
imul eax, eax, 0xe373700e
ror eax, 0x11
imul eax, eax, 0xe373700e
ror eax, 0x11
add dword [ebp - 0xcc], eax
inc ecx
cmp ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xc8], eax
jb 0x11fb3d7
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0xcc]
mov byte [ebp + eax - 0x44], cl
inc eax
cmp eax, 8
jb 0x11fb41b
mov eax, 0xb44490d6
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x94]
and eax, 7
mov dword [ebp - 0x64], eax
je 0x11fb647
xor ecx, ecx
mov ebx, dword [ebp - 0x84]
cmp eax, ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x70], ecx
not ebx
jle 0x11fb49a
mov dword [ebp - 0x5c], 0x38
mov ecx, dword [ebp - 0x5c]
movzx edx, byte [edi]
cmp dword [ebp - 0x70], 4
jge 0x11fb488
add ecx, 0xffffffe0
shl edx, cl
or dword [ebp - 0x68], edx
jmp 0x11fb48d
shl edx, cl
or dword [ebp - 0x78], edx
sub dword [ebp - 0x5c], 8
inc edi
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], eax
jl 0x11fb472
mov eax, dword [ebp - 0x84]
movzx ecx, word [ebp - 0x3e]
sub eax, ecx
movzx edx, word [ebp - 0x40]
xor eax, dword [ebp - 0x44]
xor ebx, eax
mov dword [ebp - 0x60], ebx
mov eax, ebx
xor ebx, ecx
imul ebx, edx
ror eax, 0xc
xor eax, ebx
xor eax, dword [ebp - 0x84]
mov ebx, eax
mov ecx, eax
xor ecx, edx
movzx edx, word [ebp - 0x42]
rol ecx, 2
imul ecx, edx
rol ebx, 9
sub ecx, ebx
xor dword [ebp - 0x60], ecx
mov ebx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x60]
xor ecx, edx
rol ecx, 7
movzx edx, word [ebp - 0x44]
imul ecx, edx
movzx edx, word [ebp - 0x42]
ror ebx, 4
xor ebx, ecx
xor eax, ebx
mov ebx, eax
xor ebx, edx
movzx ecx, word [ebp - 0x3e]
imul ebx, ecx
mov ecx, eax
shr ecx, 7
add ebx, ecx
xor dword [ebp - 0x60], ebx
mov ecx, dword [ebp - 0x44]
xor ecx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x40]
sub ebx, ecx
xor eax, ebx
movzx ebx, word [ebp - 0x40]
mov ecx, eax
xor ecx, ebx
rol ecx, 4
imul ecx, edx
mov edx, eax
shr edx, 6
add ecx, edx
xor dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x40]
xor ecx, dword [ebp - 0x60]
ror ecx, 0xa
mov ebx, dword [ebp - 0x60]
movzx edx, word [ebp - 0x44]
imul ecx, edx
movzx edx, word [ebp - 0x3e]
rol ebx, 8
add ebx, ecx
xor eax, ebx
mov ecx, eax
mov ebx, eax
sub ecx, dword [ebp - 0x44]
rol ecx, 2
imul ecx, edx
ror ebx, 9
xor ebx, ecx
xor dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
movzx ecx, word [ebp - 0x44]
mov edx, dword [ebp - 0x60]
xor ebx, ecx
movzx ecx, word [ebp - 0x40]
imul ebx, ecx
ror edx, 2
add edx, ebx
xor eax, edx
mov edx, eax
sub edx, ecx
movzx ecx, word [ebp - 0x42]
imul edx, ecx
mov ecx, eax
shr ecx, 4
sub edx, ecx
xor dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x40]
xor ecx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x60]
movzx edx, word [ebp - 0x44]
and dword [ebp - 0x70], 0
rol ecx, 0xd
imul ecx, edx
mov edx, dword [ebp - 0x60]
xor edx, dword [ebp - 0x78]
ror ebx, 5
sub ecx, ebx
xor ecx, dword [ebp - 0x68]
xor eax, ecx
mov dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x64]
test ecx, ecx
mov dword [ebp - 0x74], eax
jle 0x11fb5f7
mov ebx, dword [ebp - 0x7c]
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x70], 4
jge 0x11fb5e0
rol dword [ebp - 0x74], 8
mov cl, byte [ebp - 0x74]
mov byte [ebx], cl
jmp 0x11fb5e9
rol dword [ebp - 0x60], 8
mov cl, byte [ebp - 0x60]
mov byte [ebx], cl
xor byte [ebp - 0x55], cl
inc dword [ebp - 0x70]
mov ecx, dword [ebp - 0x64]
cmp dword [ebp - 0x70], ecx
jl 0x11fb5c9
lea ebx, [ecx - 4]
test ebx, ebx
jle 0x11fb634
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr edx, cl
shl edx, cl
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x94]
shr ecx, 3
je 0x11fb80d
movzx ebx, word [ebp - 0x3e]
mov dword [ebp - 0x5c], ebx
movzx ebx, word [ebp - 0x42]
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x64], ecx
jmp 0x11fb65e
xor edx, edx
test ebx, ebx
jge 0x11fb60a
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x11fb60a
xor edx, edx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x68], eax
not eax
mov dword [ebp - 0x78], eax
xor eax, eax
jmp 0x11fb60f
mov edi, dword [ebp - 0x6c]
movzx ebx, byte [edi + 2]
xor ecx, ecx
mov ch, byte [edi]
add edi, 8
mov dword [ebp - 0x6c], edi
mov cl, byte [edi - 7]
shl ecx, 8
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi - 5]
or ecx, ebx
mov dword [ebp - 0x74], ecx
xor ecx, ecx
xor eax, dword [ebp - 0x74]
movzx ebx, byte [edi - 2]
mov ch, byte [edi - 4]
mov cl, byte [edi - 3]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi - 1]
shl ecx, 8
or ecx, ebx
mov dword [ebp - 0x60], ecx
movzx edi, word [ebp - 0x40]
mov ecx, eax
sub ecx, dword [ebp - 0x5c]
xor ecx, dword [ebp - 0x60]
xor ecx, dword [ebp - 0x44]
xor edx, ecx
mov ecx, edx
mov ebx, edx
xor ebx, dword [ebp - 0x5c]
imul ebx, edi
ror ecx, 0xc
xor ecx, ebx
xor eax, ecx
mov ecx, eax
xor ecx, edi
rol ecx, 2
imul ecx, dword [ebp - 0x90]
mov edi, eax
rol edi, 9
sub ecx, edi
xor edx, ecx
mov ebx, edx
movzx edi, word [ebp - 0x44]
mov ecx, edx
xor ecx, dword [ebp - 0x90]
rol ecx, 7
imul ecx, edi
ror ebx, 4
xor ebx, ecx
xor eax, ebx
mov ecx, eax
mov ebx, eax
xor ecx, dword [ebp - 0x90]
imul ecx, dword [ebp - 0x5c]
shr ebx, 7
add ecx, ebx
xor edx, ecx
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
xor ecx, edx
sub ebx, ecx
xor eax, ebx
movzx ebx, word [ebp - 0x40]
mov ecx, eax
xor ecx, ebx
mov ebx, eax
rol ecx, 4
imul ecx, dword [ebp - 0x90]
shr ebx, 6
add ecx, ebx
xor edx, ecx
mov ecx, dword [ebp - 0x40]
mov ebx, edx
xor ecx, edx
ror ecx, 0xa
imul ecx, edi
rol ebx, 8
add ebx, ecx
xor eax, ebx
mov ecx, eax
mov edi, eax
sub ecx, dword [ebp - 0x44]
rol ecx, 2
imul ecx, dword [ebp - 0x5c]
ror edi, 9
xor edi, ecx
movzx ecx, word [ebp - 0x44]
xor edx, edi
mov ebx, edx
xor ebx, ecx
mov edi, edx
movzx ecx, word [ebp - 0x40]
imul ebx, ecx
ror edi, 2
add edi, ebx
xor eax, edi
mov edi, eax
sub edi, ecx
imul edi, dword [ebp - 0x90]
mov ecx, eax
shr ecx, 4
sub edi, ecx
mov ecx, dword [ebp - 0x40]
xor edx, edi
movzx edi, word [ebp - 0x44]
xor ecx, edx
rol ecx, 0xd
imul ecx, edi
mov ebx, edx
mov edi, dword [ebp - 0x7c]
xor edx, dword [ebp - 0x78]
ror ebx, 5
sub ecx, ebx
xor ecx, dword [ebp - 0x68]
xor eax, ecx
mov cl, byte [ebp - 0x55]
xor cl, al
mov byte [edi + 3], al
mov byte [edi + 7], dl
xor cl, dl
ror eax, 8
xor cl, al
ror edx, 8
xor cl, dl
mov byte [edi + 2], al
mov byte [edi + 6], dl
ror eax, 8
xor cl, al
mov byte [edi + 1], al
ror edx, 8
mov byte [edi + 5], dl
xor cl, dl
ror eax, 8
ror edx, 8
mov bl, dl
xor bl, al
xor cl, bl
mov byte [ebp - 0x55], cl
mov ecx, dword [ebp - 0x74]
mov byte [edi], al
mov byte [edi + 4], dl
add edi, 8
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x60]
dec dword [ebp - 0x64]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x7c], edi
ror eax, 8
ror edx, 8
jne 0x11fb65b
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x88]
mov al, byte [ebp - 0x55]
cmp al, byte [ecx + 8]
je 0x11fb8af
call fcn.012a18fc
mov esi, 0x103a6aa
mov ecx, 0xfffff000
and eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x100]
mov dword [eax + 8], esi
lea edi, [eax + 0xc]
and edi, 0xfffffffc
lea ebx, [edi + 0xfff]
and ebx, ecx
mov ecx, 0xffff
mov dword [ebp - 0x64], ecx
xor eax, eax
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr dword [ebp - 0x64], 0x10
jne 0x11fb854
xor edx, edx
div ecx
inc edx
mov eax, dword [ebp - 0x104]
cmp edi, ebx
mov ecx, dword [ebp - 0x6c]
mov dword [eax], edx
mov dword [eax + 0x1c], ecx
mov eax, edi
mov dword [ebp - 0x6c], 0
jae 0x11f99f0
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
add eax, 4
cmp eax, ebx
jb 0x11fb89e
jmp 0x11f99f0
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x80]
mov ecx, dword [0x13ca1e8]
sub esi, ecx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x88], esi
jne 0x11fb8d3
test eax, eax
je 0x11f9ace
mov ecx, dword [0x1236cc0]
mov edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0x80]
sub esi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x94]
add eax, edi
mov dword [ebp - 0x120], eax
xor eax, eax
dec ecx
mov dword [ebp - 0x64], eax
js 0x11fb924
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1236cc4]
and edx, ebx
cmp edi, edx
jae 0x11fb91a
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x64]
jmp 0x11fb920
jbe 0x11fb924
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, eax
jge 0x11fb8fe
mov dword [ebp - 0x68], eax
jmp 0x11fb985
mov eax, dword [ebp - 0x68]
mov eax, dword [eax*4 + 0x1236cc4]
mov ecx, eax
and ecx, ebx
cmp ecx, dword [ebp - 0x120]
jae 0x11f9ace
lea edi, [ecx + esi + 0x1000000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x11fb973
dec ecx
je 0x11fb96e
dec ecx
jne 0x11fb97c
mov edx, dword [ebp - 0x88]
jmp 0x11fb97c
mov edx, dword [ebp - 0x5c]
jmp 0x11fb97c
mov edx, dword [ebp - 0x88]
sub edx, dword [ebp - 0x5c]
dec eax
dec eax
jne 0x11fb982
add dword [edi], edx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, dword [0x1236cc0]
jb 0x11fb929
jmp 0x11f9ace
cmp dword [ebp - 0x8c], esi
jb 0x11ff445
mov eax, dword [0x100003c]
mov eax, dword [eax + 0x1000050]
add eax, esi
cmp dword [ebp - 0x8c], eax
jae 0x11fc3e8
mov edi, dword [ebp - 0x8c]
mov ecx, dword [0x1020be4]
and dword [ebp - 0x64], 0
sub edi, esi
dec ecx
js 0x11fba01
mov eax, dword [ebp - 0x64]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax*8 + 0x1261ea0]
mov dword [ebp - 0x6c], edx
mov edx, dword [edx]
shr edx, 1
and edx, ebx
cmp edi, edx
jae 0x11fb9f2
lea ecx, [eax - 1]
jmp 0x11fb9fc
jbe 0x11fbb68
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, dword [ebp - 0x64]
jge 0x11fb9cf
xor eax, eax
test eax, eax
je 0x11fc3e8
mov ecx, dword [eax]
shr ecx, 1
and ecx, 7
lea edx, [ecx + eax + 8]
mov ecx, dword [eax + 4]
and ecx, ebx
lea eax, [ecx + edx]
mov dword [ebp - 0x88], eax
mov eax, dword [0x109dc84]
sub eax, ecx
mov dword [ebp - 0x84], edx
sub dword [ebp - 0x84], esi
mov dword [ebp - 0x8c], edx
lea edx, [eax + 1]
xor eax, eax
test edx, edx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x6c], edx
je 0x11fba74
mov edi, dword [0x1427a7c]
imul edi, edi, 0x343fd
add edi, 0x269ec3
mov dword [0x1427a7c], edi
shr edi, 0x10
shl eax, 0x10
or eax, edi
shr edx, 0x10
jne 0x11fba4f
xor edx, edx
div dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
add eax, edx
push eax
push ecx
push dword [ebp - 0x84]
mov dword [ebp - 0xac], eax
mov eax, 0xfea27106
mov eax, dword [ebp - 0x88]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x154], eax
lea eax, [ebp - 0x158]
push eax
mov dword [ebp - 0x158], edi
mov byte [ebp - 0x55], 0
mov eax, 0x64b26707
mov eax, dword [ebp - 0x154]
mov ecx, dword [0x13ca1e8]
and dword [ebp - 0xdc], 0
and dword [ebp - 0xd8], 0
and eax, ebx
mov dword [ebp - 0x80], eax
mov eax, esi
and edi, ebx
add edi, esi
add esp, 0x10
mov dword [ebp - 0x74], edi
sub eax, ecx
mov dword [ebp - 0x68], eax
jne 0x11fbb83
and dword [ebp - 0x5c], 0
cmp dword [ebp - 0x80], 0
jbe 0x11fbe4e
mov ecx, 0x7fffffff
mov edi, 0x60b33959
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x74]
movzx eax, byte [eax + edx]
sub eax, edi
add dword [ebp - 0xdc], eax
add eax, dword [ebp - 0xd8]
mov edx, 0x9f4cc6a7
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
mov edx, eax
imul edx, edx, 0x567c
rol edx, 7
ror eax, 7
xor edx, eax
add dword [ebp - 0xdc], edx
inc dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x80]
mov dword [ebp - 0xd8], edx
jb 0x11fbb06
jmp 0x11fbe4e
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
shr ecx, 1
mov eax, dword [eax + 4]
and ecx, ebx
and eax, 0x3f
lea eax, [eax + ecx + 0x1000000]
jmp 0x11fba03
mov eax, dword [ebp - 0x80]
mov edx, dword [0x100003c]
mov ecx, dword [ebp - 0x74]
lea edx, [edx + 0x10000a0]
add eax, ecx
sub ecx, esi
mov dword [ebp - 0x78], eax
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov edi, ecx
mov dword [ebp - 0x6c], edx
mov edx, ecx
and edx, 0xfffff000
mov dword [ebp - 0x64], edx
sub edi, edx
mov edx, dword [ebp - 0x80]
add ecx, edx
mov edx, ecx
and edx, 0xfffff000
sub ecx, edx
mov dword [ebp - 0xa4], ecx
add eax, esi
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xa8], edx
mov edx, eax
add ecx, eax
cmp eax, ecx
mov dword [ebp - 0xa0], ecx
jmp 0x11fbbed
mov eax, dword [edx]
cmp eax, dword [ebp - 0x64]
jae 0x11fbbf5
add edx, dword [edx + 4]
cmp edx, ecx
mov dword [ebp - 0x9c], edx
jne 0x11fbbe1
and dword [ebp - 0x98], 0
cmp edx, ecx
je 0x11fbc34
mov eax, dword [ebp - 0x64]
cmp dword [edx], eax
jne 0x11fbc34
mov eax, dword [edx + 4]
sub eax, 8
shr eax, 1
je 0x11fbc34
mov ecx, dword [ebp - 0x98]
movzx ecx, word [edx + ecx*2 + 8]
and ecx, 0xfff
cmp ecx, edi
jae 0x11fbc34
inc dword [ebp - 0x98]
cmp dword [ebp - 0x98], eax
jne 0x11fbc11
mov edi, 0x60b33959
mov ecx, 0x7fffffff
cmp edx, dword [ebp - 0xa0]
je 0x11fbde2
mov eax, dword [ebp - 0xa8]
cmp dword [edx], eax
ja 0x11fbde2
mov edx, dword [edx + 4]
add edx, 0xfffffff8
shr edx, 1
cmp dword [ebp - 0x98], edx
mov edx, dword [ebp - 0x9c]
jne 0x11fbc9a
add edx, dword [edx + 4]
cmp edx, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], edx
je 0x11fbde2
mov eax, dword [ebp - 0xa8]
cmp dword [edx], eax
ja 0x11fbde2
and dword [ebp - 0x98], 0
jmp 0x11fbc58
mov eax, dword [ebp - 0xa8]
cmp dword [edx], eax
jne 0x11fbcc6
mov eax, dword [ebp - 0x98]
movzx eax, word [edx + eax*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0xa4]
jae 0x11fbde2
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x98]
inc dword [ebp - 0x98]
test word [edx + eax*2 + 8], 0xf000
je 0x11fbc3e
and dword [ebp - 0x5c], 0
lea eax, [edx + eax*2 + 8]
mov edx, dword [edx]
movzx eax, word [eax]
and eax, 0xfff
lea eax, [eax + edx + 0x1000000]
mov dword [ebp - 0x64], eax
sub eax, dword [ebp - 0x74]
mov dword [ebp - 0x6c], eax
je 0x11fbd60
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x5c]
movzx eax, byte [eax + edx]
sub eax, edi
mov edx, 0x9f4cc6a7
add dword [ebp - 0xdc], eax
add eax, dword [ebp - 0xd8]
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
mov edx, eax
imul edx, edx, 0x567c
rol edx, 7
ror eax, 7
xor edx, eax
add dword [ebp - 0xdc], edx
inc dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x6c]
mov dword [ebp - 0xd8], edx
jb 0x11fbd03
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
sub eax, dword [ebp - 0x68]
and dword [ebp - 0x5c], 0
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x5c]
mov edx, 0x9f4cc6a7
movzx eax, byte [ebp + eax - 0x108]
sub eax, edi
add dword [ebp - 0xdc], eax
add eax, dword [ebp - 0xd8]
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
mov edx, eax
imul edx, edx, 0x567c
rol edx, 7
ror eax, 7
xor edx, eax
add dword [ebp - 0xdc], edx
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 4
mov dword [ebp - 0xd8], edx
jb 0x11fbd72
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x64]
add eax, 4
mov dword [ebp - 0x74], eax
jmp 0x11fbc3e
mov eax, dword [ebp - 0x78]
and dword [ebp - 0x5c], 0
sub eax, dword [ebp - 0x74]
mov dword [ebp - 0x6c], eax
je 0x11fbe4e
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x5c]
movzx eax, byte [eax + edx]
mov edx, 0x9f4cc6a7
sub eax, edi
add dword [ebp - 0xdc], eax
add eax, dword [ebp - 0xd8]
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
mov edx, eax
imul edx, edx, 0x567c
rol edx, 7
ror eax, 7
xor edx, eax
add dword [ebp - 0xdc], edx
inc dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x6c]
mov dword [ebp - 0xd8], edx
jb 0x11fbdf1
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0xdc]
mov byte [ebp + eax - 0x2c], cl
inc eax
cmp eax, 8
jb 0x11fbe50
mov eax, 0xc3794de
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x94]
and eax, 7
mov dword [ebp - 0x80], eax
je 0x11fc07a
mov ebx, dword [ebp - 0x84]
not ebx
and dword [ebp - 0x78], 0
and dword [ebp - 0x68], 0
and dword [ebp - 0x70], 0
mov dword [ebp - 0x60], ebx
test eax, eax
jle 0x11fbedc
mov dword [ebp - 0x5c], 0x38
cmp dword [ebp - 0x70], 4
mov ecx, dword [ebp - 0x5c]
movzx ebx, byte [edi]
jge 0x11fbec7
add ecx, 0xffffffe0
shl ebx, cl
or dword [ebp - 0x68], ebx
jmp 0x11fbecc
shl ebx, cl
or dword [ebp - 0x78], ebx
sub dword [ebp - 0x5c], 8
inc edi
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], eax
jl 0x11fbeb1
mov ebx, dword [ebp - 0x60]
movzx eax, dx
sub ebx, eax
xor ebx, dword [ebp - 0x84]
mov dword [ebp - 0x5c], eax
xor ebx, dword [ebp - 0x28]
movzx eax, word [ebp - 0x26]
lea ecx, [ebx + edx]
mov edx, ebx
rol ecx, 0xf
imul ecx, eax
rol edx, 7
sub ecx, edx
xor dword [ebp - 0x60], ecx
movzx edx, word [ebp - 0x2a]
mov eax, dword [ebp - 0x60]
xor eax, ebx
xor eax, dword [ebp - 0x2c]
xor eax, dword [ebp - 0x28]
mov ebx, eax
mov ecx, eax
sub ecx, dword [ebp - 0x28]
ror ecx, 0xd
imul edx, ecx
mov ecx, dword [ebp - 0x28]
rol ebx, 0xd
sub edx, ebx
xor dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x5c]
ror ecx, 0x10
imul ebx, ecx
ror edx, 9
sub ebx, edx
movzx edx, word [ebp - 0x28]
mov dword [ebp - 0x64], edx
xor eax, ebx
mov ecx, eax
xor ecx, edx
rol ecx, 1
movzx edx, word [ebp - 0x26]
mov ebx, eax
imul edx, ecx
ror ebx, 9
sub edx, ebx
xor dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x60]
xor ecx, dword [ebp - 0x2c]
sub edx, ecx
xor eax, edx
mov ecx, eax
sub ecx, dword [ebp - 0x28]
rol ecx, 0xe
movzx edx, word [ebp - 0x2a]
imul edx, ecx
mov ebx, eax
ror ebx, 0xb
add ebx, edx
xor dword [ebp - 0x60], ebx
movzx edx, word [ebp - 0x26]
mov ecx, dword [ebp - 0x60]
not ecx
ror ecx, 1
add ecx, dword [ebp - 0x5c]
imul ecx, edx
xor eax, ecx
mov ecx, eax
mov ebx, eax
xor ecx, dword [ebp - 0x5c]
rol ecx, 2
imul edx, ecx
ror ebx, 0xe
add ebx, edx
xor dword [ebp - 0x60], ebx
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x64]
xor eax, ecx
mov edx, eax
mov ebx, eax
ror ebx, 0xc
movzx ecx, word [ebp - 0x26]
xor edx, ecx
movzx ecx, word [ebp - 0x2a]
imul edx, ecx
xor ebx, edx
mov edx, dword [ebp - 0x60]
and dword [ebp - 0x70], 0
xor edx, ebx
mov ecx, edx
mov ebx, edx
xor ecx, dword [ebp - 0x64]
imul ecx, dword [ebp - 0x5c]
xor edx, dword [ebp - 0x78]
shr ebx, 0xe
xor ecx, ebx
xor ecx, dword [ebp - 0x68]
mov dword [ebp - 0x60], edx
xor eax, ecx
mov ecx, dword [ebp - 0x80]
test ecx, ecx
mov dword [ebp - 0x74], eax
jle 0x11fc02a
mov ebx, dword [ebp - 0x7c]
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x70], 4
jge 0x11fc013
rol dword [ebp - 0x74], 8
mov cl, byte [ebp - 0x74]
mov byte [ebx], cl
jmp 0x11fc01c
rol dword [ebp - 0x60], 8
mov cl, byte [ebp - 0x60]
mov byte [ebx], cl
xor byte [ebp - 0x55], cl
inc dword [ebp - 0x70]
mov ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x70], ecx
jl 0x11fbffc
lea ebx, [ecx - 4]
test ebx, ebx
jle 0x11fc067
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr edx, cl
shl edx, cl
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x94]
shr ecx, 3
je 0x11fc24e
movzx ebx, word [ebp - 0x26]
mov dword [ebp - 0x90], ebx
movzx ebx, word [ebp - 0x2a]
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x5c], ecx
jmp 0x11fc091
xor edx, edx
test ebx, ebx
jge 0x11fc03d
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x11fc03d
mov eax, dword [ebp - 0x84]
xor edx, edx
mov dword [ebp - 0x68], eax
not eax
mov dword [ebp - 0x78], eax
xor eax, eax
jmp 0x11fc042
mov edi, dword [ebp - 0x6c]
movzx ecx, byte [edi + 1]
mov ch, byte [edi]
movzx ebx, byte [edi + 2]
add edi, 8
shl ecx, 8
mov dword [ebp - 0x6c], edi
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi - 5]
or ecx, ebx
movzx ebx, byte [edi - 2]
mov dword [ebp - 0x74], ecx
xor ecx, ecx
mov ch, byte [edi - 4]
mov cl, byte [edi - 3]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi - 1]
shl ecx, 8
or ecx, ebx
xor edx, ecx
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x60], ecx
movzx ebx, di
mov ecx, edx
sub ecx, ebx
xor ecx, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x90]
xor ecx, eax
xor ecx, dword [ebp - 0x28]
lea eax, [edi + ecx]
rol eax, 0xf
mov dword [ebp - 0x80], eax
imul ebx, dword [ebp - 0x80]
mov eax, ecx
rol eax, 7
sub ebx, eax
xor edx, ebx
mov eax, edx
xor eax, ecx
mov ebx, dword [ebp - 0x64]
xor eax, edi
xor eax, dword [ebp - 0x28]
mov edi, eax
mov ecx, eax
sub ecx, dword [ebp - 0x28]
ror ecx, 0xd
imul ebx, ecx
rol edi, 0xd
mov ecx, dword [ebp - 0x28]
sub ebx, edi
movzx edi, word [ebp - 0x2c]
xor edx, ebx
mov ebx, edx
sub ecx, edx
ror ecx, 0x10
imul edi, ecx
ror ebx, 9
sub edi, ebx
xor eax, edi
movzx edi, word [ebp - 0x28]
mov ecx, eax
mov ebx, dword [ebp - 0x90]
xor ecx, edi
mov edi, eax
rol ecx, 1
imul ebx, ecx
ror edi, 9
sub ebx, edi
xor edx, ebx
mov ecx, edx
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x64]
xor ecx, dword [ebp - 0x2c]
sub edi, ecx
xor eax, edi
mov ecx, eax
sub ecx, dword [ebp - 0x28]
rol ecx, 0xe
mov edi, eax
ror edi, 0xb
imul ebx, ecx
add edi, ebx
mov ebx, dword [ebp - 0x90]
xor edx, edi
mov ecx, edx
movzx edi, word [ebp - 0x2c]
not ecx
ror ecx, 1
add ecx, edi
imul ecx, dword [ebp - 0x90]
xor eax, ecx
mov ecx, eax
xor ecx, edi
rol ecx, 2
imul ebx, ecx
mov edi, eax
ror edi, 0xe
add edi, ebx
xor edx, edi
mov edi, edx
sub edi, dword [ebp - 0x2c]
movzx ecx, word [ebp - 0x28]
sub edi, ecx
xor eax, edi
mov ecx, eax
mov edi, eax
xor edi, dword [ebp - 0x90]
imul edi, dword [ebp - 0x64]
ror ecx, 0xc
xor ecx, edi
xor edx, ecx
mov edi, edx
movzx ecx, word [ebp - 0x28]
xor edi, ecx
movzx ecx, word [ebp - 0x2c]
imul edi, ecx
mov ecx, edx
xor edx, dword [ebp - 0x78]
shr ecx, 0xe
xor edi, ecx
xor edi, dword [ebp - 0x68]
xor eax, edi
mov cl, byte [ebp - 0x55]
xor cl, al
mov edi, dword [ebp - 0x7c]
xor cl, dl
mov byte [edi + 3], al
mov byte [edi + 7], dl
ror eax, 8
xor cl, al
mov byte [edi + 2], al
ror edx, 8
mov byte [edi + 6], dl
xor cl, dl
ror eax, 8
xor cl, al
ror edx, 8
mov byte [edi + 1], al
mov byte [edi + 5], dl
xor cl, dl
ror eax, 8
ror edx, 8
mov bl, dl
xor bl, al
xor cl, bl
mov byte [ebp - 0x55], cl
mov ecx, dword [ebp - 0x74]
mov byte [edi], al
mov byte [edi + 4], dl
mov dword [ebp - 0x68], ecx
add edi, 8
mov ecx, dword [ebp - 0x60]
dec dword [ebp - 0x5c]
mov dword [ebp - 0x78], ecx
ror eax, 8
ror edx, 8
mov dword [ebp - 0x7c], edi
jne 0x11fc08e
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x88]
mov al, byte [ebp - 0x55]
cmp al, byte [ecx + 8]
je 0x11fc2f0
call fcn.012a18fc
mov ecx, 0xfffff000
and eax, ecx
mov esi, 0x103a6aa
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x100]
lea edi, [eax + 0xc]
and edi, 0xfffffffc
mov dword [eax + 8], esi
lea ebx, [edi + 0xfff]
and ebx, ecx
xor eax, eax
mov ecx, 0xffff
mov dword [ebp - 0x64], ecx
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr dword [ebp - 0x64], 0x10
jne 0x11fc295
xor edx, edx
div ecx
inc edx
cmp edi, ebx
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x6c]
mov dword [eax], edx
mov dword [eax + 0x1c], ecx
mov dword [ebp - 0x6c], 0
mov eax, edi
jae 0x11f99f0
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
add eax, 4
cmp eax, ebx
jb 0x11fc2df
jmp 0x11f99f0
mov eax, dword [ebp - 0x8c]
mov ecx, dword [0x13ca1e8]
sub eax, dword [ebp - 0xac]
mov dword [ebp - 0x5c], eax
sub esi, ecx
mov dword [ebp - 0x88], esi
jne 0x11fc317
test eax, eax
je 0x11fc3d3
mov eax, dword [ebp - 0x94]
mov edi, dword [ebp - 0x84]
mov ecx, dword [0x1236cc0]
mov esi, dword [ebp - 0xac]
sub esi, dword [ebp - 0x8c]
add eax, edi
mov dword [ebp - 0x108], eax
xor eax, eax
dec ecx
mov dword [ebp - 0x64], eax
js 0x11fc36b
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1236cc4]
and edx, ebx
cmp edi, edx
jae 0x11fc361
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x64]
jmp 0x11fc367
jbe 0x11fc36b
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, eax
jge 0x11fc345
mov dword [ebp - 0x68], eax
jmp 0x11fc3c8
mov eax, dword [ebp - 0x68]
mov eax, dword [eax*4 + 0x1236cc4]
mov ecx, eax
and ecx, ebx
cmp ecx, dword [ebp - 0x108]
jae 0x11fc3d3
lea edi, [ecx + esi + 0x1000000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x11fc3b6
dec ecx
je 0x11fc3b1
dec ecx
jne 0x11fc3bf
mov edx, dword [ebp - 0x88]
jmp 0x11fc3bf
mov edx, dword [ebp - 0x5c]
jmp 0x11fc3bf
mov edx, dword [ebp - 0x88]
sub edx, dword [ebp - 0x5c]
dec eax
dec eax
jne 0x11fc3c5
add dword [edi], edx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, dword [0x1236cc0]
jb 0x11fc370
mov eax, dword [0x109dc84]
mov eax, 0x9c0fb35e
mov eax, dword [ebp - 0xac]
jmp 0x11ff4d7
cmp dword [ebp - 0x8c], esi
jb 0x11ff445
mov eax, dword [0x100003c]
mov eax, dword [eax + 0x1000050]
add eax, esi
cmp dword [ebp - 0x8c], eax
jae 0x11fcd81
mov ecx, dword [0x13c144c]
mov edi, dword [ebp - 0x8c]
and dword [ebp - 0x64], 0
sub edi, esi
dec ecx
js 0x11fc454
mov eax, dword [ebp - 0x64]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax*8 + 0x132c720]
mov dword [ebp - 0x6c], edx
mov edx, dword [edx]
shr edx, 1
and edx, ebx
cmp edi, edx
jae 0x11fc445
lea ecx, [eax - 1]
jmp 0x11fc44f
jbe 0x11fc58e
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, dword [ebp - 0x64]
jge 0x11fc422
xor ecx, ecx
test ecx, ecx
je 0x11fcd81
mov eax, dword [ecx]
mov edx, eax
shr eax, 4
mov edi, eax
shr edx, 1
and edx, 7
lea ecx, [edx + ecx + 8]
lea eax, [edi + ecx]
mov dword [ebp - 0x88], eax
mov eax, dword [0x109dc84]
sub eax, edi
mov dword [ebp - 0x84], ecx
sub dword [ebp - 0x84], esi
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x94], edi
lea ecx, [eax + 1]
xor eax, eax
mov dword [ebp - 0x6c], ecx
test ecx, ecx
je 0x11fc4c9
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr ecx, 0x10
jne 0x11fc4a4
xor edx, edx
div dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
add eax, edx
push eax
push edi
push dword [ebp - 0x84]
mov dword [ebp - 0x80], eax
mov eax, 0x64c75fbc
mov eax, dword [ebp - 0x88]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x138]
push eax
mov dword [ebp - 0x138], edi
mov byte [ebp - 0x55], 0
mov eax, 0xd4576e48
mov eax, dword [ebp - 0x134]
mov ecx, dword [0x13ca1e8]
and dword [ebp - 0xec], 0
and dword [ebp - 0xe8], 0
and eax, ebx
and edi, ebx
mov dword [ebp - 0x5c], eax
add edi, esi
add esp, 0x10
mov eax, esi
mov dword [ebp - 0x74], edi
sub eax, ecx
mov dword [ebp - 0x68], eax
jne 0x11fc5a9
xor edi, edi
cmp dword [ebp - 0x5c], edi
jbe 0x11fc801
mov ecx, 0x65c64b23
mov eax, dword [ebp - 0x74]
movzx edx, byte [edi + eax]
add edx, ecx
add dword [ebp - 0xec], edx
add edx, dword [ebp - 0xe8]
mov eax, edx
imul eax, eax, 0x39e9
rol eax, 3
ror edx, 3
xor eax, edx
mov edx, ecx
mul edx
add eax, edx
add dword [ebp - 0xec], eax
inc edi
cmp edi, dword [ebp - 0x5c]
mov dword [ebp - 0xe8], eax
jb 0x11fc54c
jmp 0x11fc801
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
shr ecx, 1
mov eax, dword [eax + 4]
and ecx, ebx
and eax, 0x3f
lea ecx, [ecx + eax + 0x1000000]
jmp 0x11fc456
mov edx, dword [0x100003c]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x5c]
add eax, ecx
sub ecx, esi
lea edx, [edx + 0x10000a0]
mov edi, ecx
mov dword [ebp - 0x78], eax
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov dword [ebp - 0x6c], edx
mov edx, ecx
and edi, 0xfffff000
mov dword [ebp - 0x64], edi
sub edx, edi
mov edi, dword [ebp - 0x5c]
add ecx, edi
mov edi, ecx
and edi, 0xfffff000
sub ecx, edi
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0x6c]
add eax, esi
mov dword [ebp - 0xa8], edi
add ecx, eax
mov dword [ebp - 0xa0], ecx
mov edi, eax
cmp eax, ecx
je 0x11fc619
mov eax, dword [ebp - 0x64]
cmp dword [edi], eax
jae 0x11fc619
add edi, dword [edi + 4]
cmp edi, dword [ebp - 0xa0]
jne 0x11fc607
and dword [ebp - 0x98], 0
cmp edi, dword [ebp - 0xa0]
je 0x11fc65c
mov eax, dword [ebp - 0x64]
cmp dword [edi], eax
jne 0x11fc65c
mov eax, dword [edi + 4]
sub eax, 8
shr eax, 1
je 0x11fc65c
mov ecx, dword [ebp - 0x98]
movzx ecx, word [edi + ecx*2 + 8]
and ecx, 0xfff
cmp ecx, edx
jae 0x11fc65c
inc dword [ebp - 0x98]
cmp dword [ebp - 0x98], eax
jne 0x11fc639
mov ecx, 0x65c64b23
cmp edi, dword [ebp - 0xa0]
je 0x11fc7b7
mov eax, dword [ebp - 0xa8]
cmp dword [edi], eax
ja 0x11fc7b7
mov eax, dword [edi + 4]
lea edx, [eax - 8]
mov eax, dword [ebp - 0x98]
shr edx, 1
cmp eax, edx
jne 0x11fc6b3
add edi, dword [edi + 4]
cmp edi, dword [ebp - 0xa0]
je 0x11fc7b7
mov eax, dword [ebp - 0xa8]
cmp dword [edi], eax
ja 0x11fc7b7
and dword [ebp - 0x98], 0
jmp 0x11fc67b
mov edx, dword [edi]
cmp edx, dword [ebp - 0xa8]
jne 0x11fc6d3
movzx eax, word [edi + eax*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0xa4]
jae 0x11fc7b7
mov eax, dword [ebp - 0x98]
inc dword [ebp - 0x98]
test word [edi + eax*2 + 8], 0xf000
je 0x11fc661
and dword [ebp - 0x5c], 0
lea eax, [edi + eax*2 + 8]
movzx eax, word [eax]
and eax, 0xfff
lea eax, [eax + edx + 0x1000000]
mov dword [ebp - 0x64], eax
sub eax, dword [ebp - 0x74]
mov dword [ebp - 0x6c], eax
je 0x11fc753
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x74]
movzx edx, byte [eax + edx]
add edx, ecx
add dword [ebp - 0xec], edx
add edx, dword [ebp - 0xe8]
mov eax, edx
imul eax, eax, 0x39e9
rol eax, 3
ror edx, 3
xor eax, edx
mov edx, ecx
mul edx
add eax, edx
add dword [ebp - 0xec], eax
inc dword [ebp - 0x5c]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x6c]
jb 0x11fc70e
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
sub eax, dword [ebp - 0x68]
and dword [ebp - 0x5c], 0
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x5c]
movzx edx, byte [ebp + eax - 0x10c]
add edx, ecx
add dword [ebp - 0xec], edx
add edx, dword [ebp - 0xe8]
mov eax, edx
imul eax, eax, 0x39e9
rol eax, 3
ror edx, 3
xor eax, edx
mov edx, ecx
mul edx
add eax, edx
add dword [ebp - 0xec], eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 4
mov dword [ebp - 0xe8], eax
jb 0x11fc765
mov eax, dword [ebp - 0x64]
add eax, 4
mov dword [ebp - 0x74], eax
jmp 0x11fc661
xor edi, edi
mov eax, dword [ebp - 0x78]
sub eax, dword [ebp - 0x74]
mov dword [ebp - 0x6c], eax
je 0x11fc801
mov eax, dword [ebp - 0x74]
movzx edx, byte [edi + eax]
add edx, ecx
add dword [ebp - 0xec], edx
add edx, dword [ebp - 0xe8]
mov eax, edx
imul eax, eax, 0x39e9
rol eax, 3
ror edx, 3
xor eax, edx
mov edx, ecx
mul edx
add eax, edx
add dword [ebp - 0xec], eax
inc edi
cmp edi, dword [ebp - 0x6c]
mov dword [ebp - 0xe8], eax
jb 0x11fc7c4
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0xec]
mov byte [ebp + eax - 0x34], cl
inc eax
cmp eax, 8
jb 0x11fc803
mov eax, 0xd8d21849
mov eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x94]
and eax, 7
mov dword [ebp - 0xac], eax
je 0x11fca44
mov edx, dword [ebp - 0x84]
not edx
mov dword [ebp - 0x60], edx
xor ecx, ecx
cmp eax, ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x70], ecx
jle 0x11fc88e
mov dword [ebp - 0x5c], 0x38
cmp dword [ebp - 0x70], 4
movzx ebx, byte [edi]
mov ecx, dword [ebp - 0x5c]
jge 0x11fc879
add ecx, 0xffffffe0
shl ebx, cl
or dword [ebp - 0x78], ebx
jmp 0x11fc881
shl ebx, cl
or dword [ebp - 0x90], ebx
sub dword [ebp - 0x5c], 8
inc edi
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], eax
jl 0x11fc863
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
xor ecx, edx
sub eax, ecx
movzx ecx, word [ebp - 0x2e]
xor eax, dword [ebp - 0x84]
mov ebx, eax
ror ebx, 0xc
sub ebx, ecx
movzx edx, word [ebp - 0x30]
mov dword [ebp - 0x6c], edx
imul ebx, edx
xor dword [ebp - 0x60], ebx
mov edx, dword [ebp - 0x60]
not edx
ror edx, 0xc
add edx, dword [ebp - 0x6c]
imul edx, ecx
xor eax, edx
mov ebx, eax
xor ebx, ecx
movzx ecx, word [ebp - 0x32]
mov dword [ebp - 0x68], ecx
mov edx, eax
imul ebx, ecx
ror edx, 2
movzx ecx, word [ebp - 0x34]
xor edx, ebx
xor dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x64], ecx
ror edx, 8
xor edx, ecx
mov ecx, dword [ebp - 0x30]
movzx ebx, cx
xor ecx, dword [ebp - 0x34]
imul edx, ebx
xor ecx, dword [ebp - 0x60]
xor eax, edx
xor ecx, eax
mov edx, dword [ebp - 0x34]
xor edx, ecx
rol edx, 6
imul edx, ebx
mov ebx, ecx
shr ebx, 9
sub edx, ebx
xor eax, edx
mov edx, eax
mov ebx, eax
xor edx, dword [ebp - 0x64]
imul edx, dword [ebp - 0x68]
shr ebx, 3
xor edx, ebx
xor ecx, edx
mov edx, dword [ebp - 0x30]
add edx, ecx
rol edx, 0xa
imul edx, dword [ebp - 0x64]
mov dword [ebp - 0x60], ecx
rol ecx, 7
add ecx, edx
xor eax, ecx
movzx edx, word [ebp - 0x30]
mov ecx, eax
mov ebx, eax
xor ecx, edx
movzx edx, word [ebp - 0x2e]
rol ecx, 6
imul ecx, edx
rol ebx, 9
add ebx, ecx
xor dword [ebp - 0x60], ebx
movzx ecx, word [ebp - 0x32]
mov ebx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x60]
xor ebx, ecx
movzx ecx, word [ebp - 0x30]
imul ebx, ecx
ror edx, 3
movzx ecx, word [ebp - 0x32]
sub ebx, edx
xor eax, ebx
mov edx, eax
sub edx, ecx
xor edx, dword [ebp - 0x30]
and dword [ebp - 0x70], 0
xor dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x60]
ror ecx, 0xb
movzx edx, word [ebp - 0x34]
imul ecx, edx
mov edx, dword [ebp - 0x60]
xor edx, dword [ebp - 0x90]
ror ebx, 0x10
sub ecx, ebx
xor ecx, dword [ebp - 0x78]
mov dword [ebp - 0x60], edx
xor eax, ecx
mov ecx, dword [ebp - 0xac]
test ecx, ecx
mov dword [ebp - 0x74], eax
jle 0x11fc9eb
mov ebx, dword [ebp - 0x7c]
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x70], 4
jge 0x11fc9d1
rol dword [ebp - 0x74], 8
mov cl, byte [ebp - 0x74]
mov byte [ebx], cl
jmp 0x11fc9da
rol dword [ebp - 0x60], 8
mov cl, byte [ebp - 0x60]
mov byte [ebx], cl
xor byte [ebp - 0x55], cl
inc dword [ebp - 0x70]
mov ecx, dword [ebp - 0xac]
cmp dword [ebp - 0x70], ecx
jl 0x11fc9ba
lea ebx, [ecx - 4]
test ebx, ebx
jle 0x11fca31
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr edx, cl
shl edx, cl
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x94]
shr ecx, 3
je 0x11fcbf9
mov ebx, dword [ebp - 0x30]
xor ebx, dword [ebp - 0x34]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0xac], ebx
movzx ebx, word [ebp - 0x2e]
mov dword [ebp - 0x5c], ebx
movzx ebx, word [ebp - 0x32]
mov dword [ebp - 0x68], ebx
jmp 0x11fca5e
xor edx, edx
test ebx, ebx
jge 0x11fc9fe
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x11fc9fe
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x78], eax
not eax
mov dword [ebp - 0x90], eax
xor edx, edx
xor eax, eax
jmp 0x11fca03
mov edi, dword [ebp - 0x6c]
movzx ebx, byte [edi + 2]
movzx ecx, byte [edi + 1]
mov ch, byte [edi]
add edi, 8
mov dword [ebp - 0x6c], edi
shl ecx, 8
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi - 5]
or ecx, ebx
movzx ebx, byte [edi - 2]
mov dword [ebp - 0x74], ecx
xor ecx, ecx
mov ch, byte [edi - 4]
mov cl, byte [edi - 3]
shl ecx, 8
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi - 1]
mov edi, dword [ebp - 0x30]
or ecx, ebx
mov dword [ebp - 0x60], ecx
movzx ebx, word [ebp - 0x30]
xor edx, ecx
mov ecx, dword [ebp - 0x34]
xor ecx, edx
sub edi, ecx
xor edi, dword [ebp - 0x74]
xor eax, edi
mov edi, eax
ror edi, 0xc
sub edi, dword [ebp - 0x5c]
movzx ecx, word [ebp - 0x30]
imul edi, ecx
xor edx, edi
mov edi, edx
not edi
ror edi, 0xc
add edi, ecx
imul edi, dword [ebp - 0x5c]
xor eax, edi
mov edi, eax
mov ecx, eax
xor edi, dword [ebp - 0x5c]
imul edi, dword [ebp - 0x68]
ror ecx, 2
xor ecx, edi
movzx edi, word [ebp - 0x34]
xor edx, ecx
mov ecx, edx
ror ecx, 8
xor ecx, edi
imul ecx, ebx
xor eax, ecx
mov ecx, dword [ebp - 0x34]
xor edx, eax
xor edx, dword [ebp - 0xac]
xor ecx, edx
rol ecx, 6
imul ecx, ebx
mov ebx, edx
shr ebx, 9
sub ecx, ebx
xor eax, ecx
mov ecx, eax
xor ecx, edi
imul ecx, dword [ebp - 0x68]
mov ebx, eax
shr ebx, 3
xor ecx, ebx
xor edx, ecx
mov ecx, dword [ebp - 0x30]
mov ebx, edx
add ecx, edx
rol ecx, 0xa
imul ecx, edi
rol ebx, 7
add ebx, ecx
movzx edi, word [ebp - 0x30]
xor eax, ebx
mov ecx, eax
xor ecx, edi
mov edi, eax
rol ecx, 6
imul ecx, dword [ebp - 0x5c]
rol edi, 9
add edi, ecx
xor edx, edi
mov edi, edx
mov ebx, edx
movzx ecx, word [ebp - 0x30]
xor ebx, dword [ebp - 0x68]
imul ebx, ecx
ror edi, 3
sub ebx, edi
xor eax, ebx
mov ecx, eax
movzx edi, word [ebp - 0x34]
sub ecx, dword [ebp - 0x68]
xor ecx, dword [ebp - 0x30]
xor edx, ecx
mov ebx, edx
mov ecx, edx
sub ecx, dword [ebp - 0x30]
xor edx, dword [ebp - 0x90]
ror ecx, 0xb
imul ecx, edi
ror ebx, 0x10
mov edi, dword [ebp - 0x7c]
sub ecx, ebx
xor ecx, dword [ebp - 0x78]
xor eax, ecx
mov cl, byte [ebp - 0x55]
mov byte [edi + 3], al
xor cl, al
xor cl, dl
mov byte [edi + 7], dl
ror eax, 8
mov byte [edi + 2], al
xor cl, al
ror edx, 8
xor cl, dl
mov byte [edi + 6], dl
ror eax, 8
mov byte [edi + 1], al
xor cl, al
ror edx, 8
mov byte [edi + 5], dl
xor cl, dl
ror eax, 8
ror edx, 8
mov bl, dl
xor bl, al
xor cl, bl
mov byte [ebp - 0x55], cl
mov ecx, dword [ebp - 0x74]
mov byte [edi], al
mov byte [edi + 4], dl
mov dword [ebp - 0x78], ecx
add edi, 8
mov ecx, dword [ebp - 0x60]
dec dword [ebp - 0x64]
ror eax, 8
ror edx, 8
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x7c], edi
jne 0x11fca5b
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x88]
mov al, byte [ebp - 0x55]
cmp al, byte [ecx + 8]
je 0x11fcc9b
call fcn.012a18fc
mov esi, 0x103a6aa
mov ecx, 0xfffff000
and eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x100]
mov dword [eax + 8], esi
lea edi, [eax + 0xc]
and edi, 0xfffffffc
lea ebx, [edi + 0xfff]
and ebx, ecx
xor eax, eax
mov ecx, 0xffff
mov dword [ebp - 0x64], ecx
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr dword [ebp - 0x64], 0x10
jne 0x11fcc40
xor edx, edx
div ecx
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x6c]
inc edx
cmp edi, ebx
mov dword [eax], edx
mov dword [eax + 0x1c], ecx
mov dword [ebp - 0x6c], 0
mov eax, edi
jae 0x11f99f0
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
add eax, 4
cmp eax, ebx
jb 0x11fcc8a
jmp 0x11f99f0
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x80]
mov ecx, dword [0x13ca1e8]
mov dword [ebp - 0x5c], eax
sub esi, ecx
mov dword [ebp - 0x88], esi
jne 0x11fccbf
test eax, eax
je 0x11f9ace
mov edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0x80]
sub esi, dword [ebp - 0x8c]
mov ecx, dword [0x1236cc0]
mov eax, dword [ebp - 0x94]
add eax, edi
mov dword [ebp - 0x10c], eax
xor eax, eax
mov dword [ebp - 0x64], eax
dec ecx
js 0x11fcd10
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1236cc4]
and edx, ebx
cmp edi, edx
jae 0x11fcd06
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x64]
jmp 0x11fcd0c
jbe 0x11fcd10
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, eax
jge 0x11fccea
mov dword [ebp - 0x68], eax
jmp 0x11fcd71
mov eax, dword [ebp - 0x68]
mov eax, dword [eax*4 + 0x1236cc4]
mov ecx, eax
and ecx, ebx
cmp ecx, dword [ebp - 0x10c]
jae 0x11f9ace
lea edi, [ecx + esi + 0x1000000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x11fcd5f
dec ecx
je 0x11fcd5a
dec ecx
jne 0x11fcd68
mov edx, dword [ebp - 0x88]
jmp 0x11fcd68
mov edx, dword [ebp - 0x5c]
jmp 0x11fcd68
mov edx, dword [ebp - 0x88]
sub edx, dword [ebp - 0x5c]
dec eax
dec eax
jne 0x11fcd6e
add dword [edi], edx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, dword [0x1236cc0]
jb 0x11fcd15
jmp 0x11f9ace
cmp dword [ebp - 0x8c], esi
jb 0x11ff445
mov eax, dword [0x100003c]
mov eax, dword [eax + 0x1000050]
add eax, esi
cmp dword [ebp - 0x8c], eax
jae 0x11fd707
mov ecx, dword [0x1001378]
mov edi, dword [ebp - 0x8c]
and dword [ebp - 0x64], 0
sub edi, esi
dec ecx
js 0x11fcdeb
mov eax, dword [ebp - 0x64]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax*8 + 0x1339458]
mov dword [ebp - 0x6c], edx
mov edx, dword [edx]
and edx, ebx
cmp edi, edx
jae 0x11fcddc
lea ecx, [eax - 1]
jmp 0x11fcde6
jbe 0x11fcf20
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, dword [ebp - 0x64]
jge 0x11fcdbb
xor eax, eax
test eax, eax
je 0x11fd707
mov ecx, dword [eax]
shr ecx, 2
and ecx, 7
lea edx, [ecx + eax + 8]
mov ecx, dword [eax + 4]
and ecx, ebx
lea eax, [ecx + edx]
mov dword [ebp - 0x88], eax
mov eax, dword [0x109dc84]
mov dword [ebp - 0x84], edx
sub eax, ecx
sub dword [ebp - 0x84], esi
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x94], ecx
lea edx, [eax + 1]
mov dword [ebp - 0x6c], edx
xor eax, eax
test edx, edx
je 0x11fce5f
mov edi, dword [0x1427a7c]
imul edi, edi, 0x343fd
add edi, 0x269ec3
mov dword [0x1427a7c], edi
shr edi, 0x10
shl eax, 0x10
or eax, edi
shr edx, 0x10
jne 0x11fce3a
xor edx, edx
div dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
add eax, edx
push eax
push ecx
push dword [ebp - 0x84]
mov dword [ebp - 0x80], eax
mov eax, 0x441134c3
mov eax, dword [ebp - 0x88]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0x140]
push eax
mov dword [ebp - 0x140], edi
mov byte [ebp - 0x55], 0
mov eax, 0xa215e048
mov edx, dword [0x13ca1e8]
mov eax, dword [ebp - 0x13c]
and dword [ebp - 0xbc], 0
and dword [ebp - 0xb8], 0
and eax, ebx
and edi, ebx
add esp, 0x10
add edi, esi
mov ecx, eax
mov dword [ebp - 0x6c], ecx
mov eax, esi
sub eax, edx
mov dword [ebp - 0x78], eax
jne 0x11fcf39
and dword [ebp - 0x5c], 0
test ecx, ecx
jbe 0x11fd188
mov edx, 0xab30505f
mov eax, dword [ebp - 0x5c]
movzx eax, byte [eax + edi]
sub eax, 0x54cfafa1
add dword [ebp - 0xbc], eax
add eax, dword [ebp - 0xb8]
mul edx
add eax, edx
imul eax, eax, 0xab30505f
ror eax, 0xb
add dword [ebp - 0xbc], eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], ecx
mov dword [ebp - 0xb8], eax
jb 0x11fcedd
jmp 0x11fd188
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + 4]
and ecx, 0x3f
mov eax, dword [eax]
and eax, ebx
lea eax, [eax + ecx + 0x1000000]
jmp 0x11fcded
mov edx, edi
lea eax, [edi + ecx]
mov ecx, dword [0x100003c]
lea ecx, [ecx + 0x10000a0]
sub edx, esi
mov dword [ebp - 0x90], eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x5c], ecx
mov ecx, edx
and ecx, 0xfffff000
mov dword [ebp - 0x64], ecx
mov ecx, edx
sub ecx, dword [ebp - 0x64]
add eax, esi
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x6c]
add edx, ecx
mov ecx, edx
and ecx, 0xfffff000
sub edx, ecx
mov dword [ebp - 0xa4], edx
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0xa8], ecx
add edx, eax
mov ecx, eax
mov dword [ebp - 0xa0], edx
cmp eax, edx
je 0x11fcfad
mov eax, dword [ebp - 0x64]
cmp dword [ecx], eax
jae 0x11fcfad
add ecx, dword [ecx + 4]
cmp ecx, dword [ebp - 0xa0]
jne 0x11fcf9b
and dword [ebp - 0x98], 0
cmp ecx, dword [ebp - 0xa0]
je 0x11fd140
mov eax, dword [ebp - 0x64]
cmp dword [ecx], eax
jne 0x11fcffa
mov eax, dword [ecx + 4]
sub eax, 8
shr eax, 1
mov dword [ebp - 0x6c], eax
je 0x11fcffa
mov eax, dword [ebp - 0x98]
movzx eax, word [ecx + eax*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0x68]
jae 0x11fcffa
inc dword [ebp - 0x98]
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0x6c]
jne 0x11fcfd4
cmp ecx, dword [ebp - 0xa0]
je 0x11fd140
mov eax, dword [ecx]
cmp eax, dword [ebp - 0xa8]
ja 0x11fd140
mov eax, dword [ecx + 4]
lea edx, [eax - 8]
mov eax, dword [ebp - 0x98]
shr edx, 1
cmp eax, edx
jne 0x11fd04c
add ecx, dword [ecx + 4]
cmp ecx, dword [ebp - 0xa0]
je 0x11fd140
mov eax, dword [ebp - 0xa8]
cmp dword [ecx], eax
ja 0x11fd140
and dword [ebp - 0x98], 0
jmp 0x11fd014
mov edx, dword [ecx]
cmp edx, dword [ebp - 0xa8]
jne 0x11fd06c
movzx eax, word [ecx + eax*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0xa4]
jae 0x11fd140
mov eax, dword [ebp - 0x98]
inc dword [ebp - 0x98]
test word [ecx + eax*2 + 8], 0xf000
je 0x11fcffa
and dword [ebp - 0x5c], 0
lea eax, [ecx + eax*2 + 8]
movzx eax, word [eax]
and eax, 0xfff
lea eax, [eax + edx + 0x1000000]
mov dword [ebp - 0x64], eax
sub dword [ebp - 0x64], edi
mov dword [ebp - 0x68], eax
je 0x11fd0e8
mov eax, dword [ebp - 0x5c]
mov edx, 0xab30505f
movzx eax, byte [eax + edi]
sub eax, 0x54cfafa1
add dword [ebp - 0xbc], eax
add eax, dword [ebp - 0xb8]
mul edx
add eax, edx
imul eax, eax, 0xab30505f
ror eax, 0xb
add dword [ebp - 0xbc], eax
inc dword [ebp - 0x5c]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x64]
jb 0x11fd0a7
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
sub eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x118], eax
mov edx, 0xab30505f
movzx eax, byte [ebp + edi - 0x118]
sub eax, 0x54cfafa1
add dword [ebp - 0xbc], eax
add eax, dword [ebp - 0xb8]
mul edx
add eax, edx
imul eax, eax, 0xab30505f
ror eax, 0xb
add dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
inc edi
cmp edi, 4
jb 0x11fd0f8
mov edi, dword [ebp - 0x68]
add edi, 4
jmp 0x11fcffa
mov eax, dword [ebp - 0x90]
xor ecx, ecx
sub eax, edi
mov dword [ebp - 0x6c], eax
je 0x11fd188
mov edx, 0xab30505f
movzx eax, byte [ecx + edi]
sub eax, 0x54cfafa1
add dword [ebp - 0xbc], eax
add eax, dword [ebp - 0xb8]
mul edx
add eax, edx
imul eax, eax, 0xab30505f
ror eax, 0xb
add dword [ebp - 0xbc], eax
inc ecx
cmp ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xb8], eax
jb 0x11fd14f
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0xbc]
mov byte [ebp + eax - 0xc], cl
inc eax
cmp eax, 8
jb 0x11fd18a
mov eax, 0x62918acb
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x94]
and eax, 7
mov dword [ebp - 0x64], eax
je 0x11fd3bd
xor ecx, ecx
cmp eax, ecx
mov ebx, dword [ebp - 0x84]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x68], ecx
not ebx
mov dword [ebp - 0x70], ecx
jle 0x11fd209
mov dword [ebp - 0x5c], 0x38
mov ecx, dword [ebp - 0x5c]
movzx edx, byte [edi]
cmp dword [ebp - 0x70], 4
jge 0x11fd1f7
add ecx, 0xffffffe0
shl edx, cl
or dword [ebp - 0x68], edx
jmp 0x11fd1fc
shl edx, cl
or dword [ebp - 0x78], edx
sub dword [ebp - 0x5c], 8
inc edi
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], eax
jl 0x11fd1e1
movzx edx, word [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x84]
xor eax, dword [ebp - 8]
sub ecx, eax
xor ebx, ecx
mov ecx, ebx
movzx eax, word [ebp - 0xc]
sub ecx, eax
imul ecx, edx
movzx edx, word [ebp - 6]
mov dword [ebp - 0x60], ebx
shr ebx, 0xf
sub ecx, ebx
xor ecx, dword [ebp - 0x84]
mov eax, ecx
xor eax, edx
rol eax, 3
movzx edx, word [ebp - 0xa]
mov ebx, ecx
imul eax, edx
ror ebx, 2
add ebx, eax
movzx edx, word [ebp - 0xc]
xor dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x60]
rol eax, 6
imul eax, edx
ror ebx, 0xb
xor ebx, eax
movzx eax, word [ebp - 6]
xor ecx, ebx
mov edx, ecx
not edx
ror edx, 2
add edx, eax
movzx eax, word [ebp - 8]
imul edx, eax
xor dword [ebp - 0x60], edx
mov ebx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x60]
movzx eax, word [ebp - 0xa]
xor ebx, eax
movzx eax, word [ebp - 8]
imul ebx, eax
ror edx, 7
sub ebx, edx
movzx edx, word [ebp - 0xa]
xor ecx, ebx
mov eax, ecx
xor eax, dword [ebp - 8]
rol eax, 6
imul eax, edx
mov edx, ecx
shr edx, 6
sub eax, edx
xor dword [ebp - 0x60], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x60]
ror eax, 9
movzx edx, word [ebp - 0xc]
imul eax, edx
movzx edx, word [ebp - 6]
ror ebx, 0xc
sub eax, ebx
xor ecx, eax
mov ebx, ecx
mov eax, ecx
sub eax, dword [ebp - 0xc]
ror eax, 9
imul eax, edx
ror ebx, 6
add ebx, eax
xor dword [ebp - 0x60], ebx
movzx edx, word [ebp - 8]
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x60]
ror eax, 8
mov ebx, dword [ebp - 0x60]
imul eax, edx
movzx edx, word [ebp - 0xa]
ror ebx, 7
add ebx, eax
xor ecx, ebx
mov eax, ecx
mov ebx, ecx
xor eax, dword [ebp - 8]
and dword [ebp - 0x70], 0
rol eax, 2
imul eax, edx
mov edx, dword [ebp - 0x60]
rol ebx, 8
sub eax, ebx
xor edx, eax
mov eax, dword [ebp - 0x68]
xor eax, edx
xor edx, dword [ebp - 0x78]
xor eax, ecx
mov ecx, dword [ebp - 0x64]
xor eax, dword [ebp - 0xc]
xor eax, dword [ebp - 8]
mov dword [ebp - 0x74], eax
test ecx, ecx
mov dword [ebp - 0x60], edx
jle 0x11fd36d
mov ebx, dword [ebp - 0x7c]
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x70], 4
jge 0x11fd356
rol dword [ebp - 0x74], 8
mov cl, byte [ebp - 0x74]
mov byte [ebx], cl
jmp 0x11fd35f
rol dword [ebp - 0x60], 8
mov cl, byte [ebp - 0x60]
mov byte [ebx], cl
xor byte [ebp - 0x55], cl
inc dword [ebp - 0x70]
mov ecx, dword [ebp - 0x64]
cmp dword [ebp - 0x70], ecx
jl 0x11fd33f
lea ebx, [ecx - 4]
test ebx, ebx
jle 0x11fd3aa
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr edx, cl
shl edx, cl
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x94]
shr ecx, 3
je 0x11fd57f
movzx ebx, word [ebp - 6]
mov dword [ebp - 0x64], ebx
movzx ebx, word [ebp - 0xa]
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x90], ecx
jmp 0x11fd3d4
xor edx, edx
test ebx, ebx
jge 0x11fd380
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x11fd380
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x68], eax
xor edx, edx
not eax
mov dword [ebp - 0x78], eax
xor eax, eax
jmp 0x11fd385
mov edi, dword [ebp - 0x6c]
movzx ecx, byte [edi + 1]
movzx ebx, byte [edi + 2]
mov ch, byte [edi]
add edi, 8
shl ecx, 8
mov dword [ebp - 0x6c], edi
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi - 5]
or ecx, ebx
movzx ebx, byte [edi - 2]
mov dword [ebp - 0x74], ecx
xor ecx, ecx
mov ch, byte [edi - 4]
mov cl, byte [edi - 3]
xor eax, dword [ebp - 0x74]
shl ecx, 8
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi - 1]
mov edi, dword [ebp - 0xc]
or ecx, ebx
mov dword [ebp - 0x60], ecx
mov ecx, eax
xor ecx, dword [ebp - 8]
sub edi, ecx
movzx ecx, word [ebp - 0xc]
xor edi, dword [ebp - 0x60]
xor edx, edi
mov edi, edx
sub edi, ecx
movzx ecx, word [ebp - 8]
imul edi, ecx
mov ecx, edx
shr ecx, 0xf
sub edi, ecx
xor eax, edi
mov edi, eax
mov ecx, eax
xor ecx, dword [ebp - 0x64]
rol ecx, 3
imul ecx, dword [ebp - 0x5c]
ror edi, 2
add edi, ecx
xor edx, edi
mov ebx, edx
movzx edi, word [ebp - 0xc]
mov ecx, dword [ebp - 8]
sub ecx, edx
rol ecx, 6
imul ecx, edi
ror ebx, 0xb
xor ebx, ecx
xor eax, ebx
movzx ecx, word [ebp - 8]
mov edi, eax
not edi
ror edi, 2
add edi, dword [ebp - 0x64]
imul edi, ecx
xor edx, edi
mov ebx, edx
xor ebx, dword [ebp - 0x5c]
mov edi, edx
movzx ecx, word [ebp - 8]
imul ebx, ecx
ror edi, 7
sub ebx, edi
xor eax, ebx
mov edi, eax
mov ecx, eax
xor ecx, dword [ebp - 8]
rol ecx, 6
imul ecx, dword [ebp - 0x5c]
shr edi, 6
sub ecx, edi
xor edx, ecx
mov ecx, dword [ebp - 8]
movzx edi, word [ebp - 0xc]
mov ebx, edx
sub ecx, edx
ror ecx, 9
imul ecx, edi
ror ebx, 0xc
sub ecx, ebx
xor eax, ecx
mov edi, eax
mov ecx, eax
sub ecx, dword [ebp - 0xc]
ror ecx, 9
imul ecx, dword [ebp - 0x64]
ror edi, 6
add edi, ecx
xor edx, edi
mov ebx, edx
movzx edi, word [ebp - 8]
mov ecx, dword [ebp - 0xc]
sub ecx, edx
ror ecx, 8
imul ecx, edi
ror ebx, 7
add ebx, ecx
xor eax, ebx
mov edi, eax
mov ecx, eax
xor ecx, dword [ebp - 8]
rol ecx, 2
imul ecx, dword [ebp - 0x5c]
rol edi, 8
sub ecx, edi
mov edi, dword [ebp - 0x7c]
xor edx, ecx
mov ecx, dword [ebp - 0x68]
xor ecx, edx
xor edx, dword [ebp - 0x78]
xor ecx, eax
xor ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 8]
mov eax, ecx
mov cl, byte [ebp - 0x55]
xor cl, al
xor cl, dl
mov byte [edi + 3], al
ror eax, 8
xor cl, al
mov byte [edi + 7], dl
ror edx, 8
mov byte [edi + 2], al
xor cl, dl
ror eax, 8
mov byte [edi + 6], dl
mov byte [edi + 1], al
xor cl, al
ror edx, 8
xor cl, dl
mov byte [edi + 5], dl
ror eax, 8
ror edx, 8
mov bl, dl
xor bl, al
xor cl, bl
mov byte [ebp - 0x55], cl
mov ecx, dword [ebp - 0x74]
mov byte [edi], al
mov byte [edi + 4], dl
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x60]
add edi, 8
dec dword [ebp - 0x90]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x7c], edi
ror eax, 8
ror edx, 8
jne 0x11fd3d1
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x88]
mov al, byte [ebp - 0x55]
cmp al, byte [ecx + 8]
je 0x11fd621
call fcn.012a18fc
mov ecx, 0xfffff000
and eax, ecx
mov dword [ebp - 0x6c], eax
mov esi, 0x103a6aa
mov eax, dword [ebp - 0x100]
lea edi, [eax + 0xc]
and edi, 0xfffffffc
mov dword [eax + 8], esi
lea ebx, [edi + 0xfff]
and ebx, ecx
mov ecx, 0xffff
mov dword [ebp - 0x64], ecx
xor eax, eax
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr dword [ebp - 0x64], 0x10
jne 0x11fd5c6
xor edx, edx
div ecx
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, dword [ebp - 0x104]
cmp edi, ebx
mov dword [eax], edx
mov dword [eax + 0x1c], ecx
mov eax, edi
mov dword [ebp - 0x6c], 0
jae 0x11f99f0
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
add eax, 4
cmp eax, ebx
jb 0x11fd610
jmp 0x11f99f0
mov eax, dword [ebp - 0x8c]
mov ecx, dword [0x13ca1e8]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x5c], eax
sub esi, ecx
mov dword [ebp - 0x88], esi
jne 0x11fd645
test eax, eax
je 0x11f9ace
mov eax, dword [ebp - 0x94]
mov ecx, dword [0x1236cc0]
mov edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0x80]
sub esi, dword [ebp - 0x8c]
add eax, edi
mov dword [ebp - 0x118], eax
xor eax, eax
mov dword [ebp - 0x64], eax
dec ecx
js 0x11fd696
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1236cc4]
and edx, ebx
cmp edi, edx
jae 0x11fd68c
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x64]
jmp 0x11fd692
jbe 0x11fd696
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, eax
jge 0x11fd670
mov dword [ebp - 0x68], eax
jmp 0x11fd6f7
mov eax, dword [ebp - 0x68]
mov eax, dword [eax*4 + 0x1236cc4]
mov ecx, eax
and ecx, ebx
cmp ecx, dword [ebp - 0x118]
jae 0x11f9ace
lea edi, [ecx + esi + 0x1000000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x11fd6e5
dec ecx
je 0x11fd6e0
dec ecx
jne 0x11fd6ee
mov edx, dword [ebp - 0x88]
jmp 0x11fd6ee
mov edx, dword [ebp - 0x5c]
jmp 0x11fd6ee
mov edx, dword [ebp - 0x88]
sub edx, dword [ebp - 0x5c]
dec eax
dec eax
jne 0x11fd6f4
add dword [edi], edx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, dword [0x1236cc0]
jb 0x11fd69b
jmp 0x11f9ace
cmp dword [ebp - 0x8c], esi
jb 0x11ff445
mov eax, dword [0x100003c]
mov eax, dword [eax + 0x1000050]
add eax, esi
cmp dword [ebp - 0x8c], eax
jae 0x11fe10f
mov ecx, dword [0x10ce284]
mov edi, dword [ebp - 0x8c]
and dword [ebp - 0x64], 0
sub edi, esi
dec ecx
js 0x11fd773
mov eax, dword [ebp - 0x64]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax*8 + 0x1046df8]
mov dword [ebp - 0x6c], edx
mov edx, dword [edx]
shr edx, 1
and edx, ebx
cmp edi, edx
jae 0x11fd764
lea ecx, [eax - 1]
jmp 0x11fd76e
jbe 0x11fd8d1
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, dword [ebp - 0x64]
jge 0x11fd741
xor ecx, ecx
test ecx, ecx
je 0x11fe10f
mov eax, dword [ecx]
mov edx, eax
shr eax, 4
mov edi, eax
shr edx, 1
and edx, 7
lea ecx, [edx + ecx + 8]
lea eax, [edi + ecx]
mov dword [ebp - 0x88], eax
mov eax, dword [0x109dc84]
mov dword [ebp - 0x84], ecx
sub eax, edi
sub dword [ebp - 0x84], esi
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x94], edi
lea ecx, [eax + 1]
xor eax, eax
test ecx, ecx
mov dword [ebp - 0x6c], ecx
je 0x11fd7e8
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr ecx, 0x10
jne 0x11fd7c3
xor edx, edx
div dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
add eax, edx
push eax
push edi
push dword [ebp - 0x84]
mov dword [ebp - 0x80], eax
mov eax, 0x1bda137a
mov eax, dword [ebp - 0x88]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0x150]
push eax
mov dword [ebp - 0x150], edi
mov byte [ebp - 0x55], 0
mov eax, 0x91fa8f4d
mov eax, dword [ebp - 0x14c]
and dword [ebp - 0xfc], 0
and dword [ebp - 0xf8], 0
and edi, ebx
and eax, ebx
mov edx, eax
add edi, esi
mov ecx, edi
mov edi, dword [0x13ca1e8]
add esp, 0x10
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], ecx
mov eax, esi
sub eax, edi
mov dword [ebp - 0x78], eax
jne 0x11fd8ec
and dword [ebp - 0x5c], 0
test edx, edx
jbe 0x11fdb95
mov ecx, 0x7fffffff
mov edi, 0xd4afbe6b
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x68]
movzx eax, byte [eax + edx]
mov edx, edi
sub eax, 0x2b504195
add dword [ebp - 0xfc], eax
add eax, dword [ebp - 0xf8]
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
mov edx, edi
mul edx
add eax, edx
add dword [ebp - 0xfc], eax
inc dword [ebp - 0x5c]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x6c]
jb 0x11fd879
jmp 0x11fdb95
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shr ecx, 1
and ecx, ebx
and eax, 0x3f
lea ecx, [ecx + eax + 0x1000000]
jmp 0x11fd775
lea eax, [ecx + edx]
mov edi, dword [0x100003c]
sub ecx, esi
mov dword [ebp - 0x90], eax
lea edi, [edi + 0x10000a0]
mov eax, dword [edi]
mov edi, dword [edi + 4]
mov dword [ebp - 0x6c], edi
mov edi, ecx
and edi, 0xfffff000
mov dword [ebp - 0x64], edi
mov edi, ecx
sub edi, dword [ebp - 0x64]
add ecx, edx
mov edx, ecx
and edx, 0xfffff000
sub ecx, edx
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xa8], edx
add eax, esi
add ecx, eax
mov dword [ebp - 0xa0], ecx
jmp 0x11fd94c
mov edx, dword [eax]
cmp edx, dword [ebp - 0x64]
jae 0x11fd956
add eax, dword [eax + 4]
cmp eax, ecx
mov dword [ebp - 0x9c], eax
jne 0x11fd942
and dword [ebp - 0x98], 0
cmp eax, ecx
je 0x11fd995
mov ecx, dword [ebp - 0x64]
cmp dword [eax], ecx
jne 0x11fd995
mov ecx, dword [eax + 4]
sub ecx, 8
shr ecx, 1
je 0x11fd995
mov edx, dword [ebp - 0x98]
movzx edx, word [eax + edx*2 + 8]
and edx, 0xfff
cmp edx, edi
jae 0x11fd995
inc dword [ebp - 0x98]
cmp dword [ebp - 0x98], ecx
jne 0x11fd972
mov edi, 0xd4afbe6b
mov ecx, 0x7fffffff
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0xa0]
je 0x11fdb30
mov edx, dword [ebp - 0xa8]
cmp dword [eax], edx
ja 0x11fdb30
mov eax, dword [eax + 4]
add eax, 0xfffffff8
shr eax, 1
cmp dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x9c]
jne 0x11fda01
add eax, dword [eax + 4]
cmp eax, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], eax
je 0x11fdb30
mov edx, dword [ebp - 0xa8]
cmp dword [eax], edx
ja 0x11fdb30
and dword [ebp - 0x98], 0
jmp 0x11fd9bf
mov edx, dword [ebp - 0xa8]
cmp dword [eax], edx
jne 0x11fda2d
mov edx, dword [ebp - 0x98]
movzx eax, word [eax + edx*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0xa4]
jae 0x11fdb30
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x98]
inc dword [ebp - 0x98]
test word [eax + edx*2 + 8], 0xf000
je 0x11fd9a5
lea edx, [eax + edx*2 + 8]
and dword [ebp - 0x5c], 0
mov eax, dword [eax]
movzx edx, word [edx]
and edx, 0xfff
lea eax, [eax + edx + 0x1000000]
mov dword [ebp - 0x64], eax
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0x6c], eax
je 0x11fdabe
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x68]
movzx eax, byte [eax + edx]
mov edx, edi
sub eax, 0x2b504195
add dword [ebp - 0xfc], eax
add eax, dword [ebp - 0xf8]
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
mov edx, edi
mul edx
add eax, edx
add dword [ebp - 0xfc], eax
inc dword [ebp - 0x5c]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x6c]
jb 0x11fda6b
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
sub eax, dword [ebp - 0x78]
and dword [ebp - 0x5c], 0
mov dword [ebp - 0x114], eax
mov edx, edi
mov eax, dword [ebp - 0x5c]
movzx eax, byte [ebp + eax - 0x114]
sub eax, 0x2b504195
add dword [ebp - 0xfc], eax
add eax, dword [ebp - 0xf8]
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
mov edx, edi
mul edx
add eax, edx
add dword [ebp - 0xfc], eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 4
mov dword [ebp - 0xf8], eax
jb 0x11fdad0
mov eax, dword [ebp - 0x64]
add eax, 4
mov dword [ebp - 0x68], eax
jmp 0x11fd99f
mov eax, dword [ebp - 0x90]
and dword [ebp - 0x5c], 0
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0x6c], eax
je 0x11fdb95
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x68]
movzx eax, byte [eax + edx]
sub eax, 0x2b504195
add dword [ebp - 0xfc], eax
add eax, dword [ebp - 0xf8]
mov edx, edi
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
mov edx, edi
mul edx
add eax, edx
add dword [ebp - 0xfc], eax
inc dword [ebp - 0x5c]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x6c]
jb 0x11fdb42
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0xfc]
mov byte [ebp + eax - 0x24], cl
inc eax
cmp eax, 8
jb 0x11fdb97
mov eax, 0x42cad863
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x94]
and eax, 7
mov dword [ebp - 0x64], eax
je 0x11fddc8
xor ecx, ecx
cmp eax, ecx
mov edx, dword [ebp - 0x84]
not edx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x70], ecx
jle 0x11fdc1c
mov dword [ebp - 0x5c], 0x38
movzx ebx, byte [edi]
cmp dword [ebp - 0x70], 4
mov ecx, dword [ebp - 0x5c]
jge 0x11fdc07
add ecx, 0xffffffe0
shl ebx, cl
or dword [ebp - 0x78], ebx
jmp 0x11fdc0f
shl ebx, cl
or dword [ebp - 0x90], ebx
sub dword [ebp - 0x5c], 8
inc edi
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], eax
jl 0x11fdbf1
movzx ebx, word [ebp - 0x20]
mov ecx, dword [ebp - 0x84]
sub ecx, dword [ebp - 0x24]
movzx eax, word [ebp - 0x1e]
sub ecx, eax
xor edx, ecx
mov dword [ebp - 0x68], eax
mov ecx, edx
movzx eax, word [ebp - 0x24]
mov dword [ebp - 0x6c], eax
xor ecx, eax
rol ecx, 3
imul ebx, ecx
mov eax, edx
ror eax, 9
add eax, ebx
movzx ebx, word [ebp - 0x22]
xor eax, dword [ebp - 0x84]
mov ecx, eax
xor ecx, dword [ebp - 0x68]
rol ecx, 6
imul ebx, ecx
mov ecx, eax
shr ecx, 3
add ebx, ecx
mov ecx, dword [ebp - 0x20]
xor edx, ebx
xor ecx, edx
ror ecx, 0xc
imul ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x60], edx
rol edx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x24]
xor eax, edx
mov ebx, eax
xor ecx, eax
movzx edx, word [ebp - 0x1e]
rol ecx, 1
imul ecx, edx
rol ebx, 0xf
add ebx, ecx
movzx edx, word [ebp - 0x24]
xor dword [ebp - 0x60], ebx
movzx ecx, word [ebp - 0x20]
mov ebx, dword [ebp - 0x60]
not ebx
ror ebx, 0xb
add ebx, ecx
imul ebx, edx
xor eax, ebx
mov ebx, eax
sub ebx, ecx
movzx ecx, word [ebp - 0x22]
imul ebx, ecx
mov ecx, eax
shr ecx, 0xc
sub ebx, ecx
xor dword [ebp - 0x60], ebx
mov ecx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x20]
ror ecx, 0xa
imul ecx, edx
ror ebx, 7
movzx edx, word [ebp - 0x1e]
add ebx, ecx
xor eax, ebx
mov ebx, eax
mov ecx, eax
sub ecx, dword [ebp - 0x24]
ror ecx, 0xf
imul ecx, edx
rol ebx, 3
xor ebx, ecx
xor dword [ebp - 0x60], ebx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x60]
add ecx, edx
mov ebx, edx
movzx edx, word [ebp - 0x20]
ror ecx, 0xd
imul ecx, edx
ror ebx, 0xb
add ebx, ecx
xor eax, ebx
mov ebx, eax
mov ecx, eax
xor ecx, edx
mov edx, ecx
movzx ecx, word [ebp - 0x22]
and dword [ebp - 0x70], 0
imul edx, ecx
ror ebx, 0xd
mov ecx, dword [ebp - 0x24]
add ebx, edx
mov edx, dword [ebp - 0x60]
xor edx, ebx
xor ecx, edx
xor edx, dword [ebp - 0x90]
mov ebx, dword [ebp - 0x20]
sub ebx, ecx
xor ebx, dword [ebp - 0x78]
xor eax, ebx
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x74], eax
test ecx, ecx
mov dword [ebp - 0x60], edx
jle 0x11fdd7b
mov ebx, dword [ebp - 0x7c]
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x70], 4
jge 0x11fdd64
rol dword [ebp - 0x74], 8
mov cl, byte [ebp - 0x74]
mov byte [ebx], cl
jmp 0x11fdd6d
rol dword [ebp - 0x60], 8
mov cl, byte [ebp - 0x60]
mov byte [ebx], cl
xor byte [ebp - 0x55], cl
inc dword [ebp - 0x70]
mov ecx, dword [ebp - 0x64]
cmp dword [ebp - 0x70], ecx
jl 0x11fdd4d
lea ebx, [ecx - 4]
test ebx, ebx
jle 0x11fddb5
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr edx, cl
shl edx, cl
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x94]
shr ecx, 3
je 0x11fdf87
movzx ebx, word [ebp - 0x1e]
mov dword [ebp - 0x68], ebx
movzx ebx, word [ebp - 0x22]
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x5c], ecx
jmp 0x11fdde2
xor edx, edx
test ebx, ebx
jge 0x11fdd8e
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x11fdd8e
xor edx, edx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x78], eax
not eax
mov dword [ebp - 0x90], eax
xor eax, eax
jmp 0x11fdd93
mov edi, dword [ebp - 0x6c]
movzx ecx, byte [edi + 1]
movzx ebx, byte [edi + 2]
mov ch, byte [edi]
add edi, 8
shl ecx, 8
or ecx, ebx
shl ecx, 8
mov dword [ebp - 0x6c], edi
movzx ebx, byte [edi - 5]
or ecx, ebx
mov dword [ebp - 0x74], ecx
xor ecx, ecx
xor eax, dword [ebp - 0x74]
movzx ebx, byte [edi - 2]
mov ch, byte [edi - 4]
mov cl, byte [edi - 3]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi - 1]
shl ecx, 8
or ecx, ebx
mov dword [ebp - 0x60], ecx
mov ecx, eax
movzx edi, word [ebp - 0x24]
sub ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x68]
xor ecx, dword [ebp - 0x60]
xor edx, ecx
mov ebx, edx
mov ecx, edx
xor ecx, edi
rol ecx, 3
movzx edi, word [ebp - 0x20]
imul ecx, edi
ror ebx, 9
add ebx, ecx
xor eax, ebx
mov edi, eax
mov ecx, eax
xor ecx, dword [ebp - 0x68]
rol ecx, 6
imul ecx, dword [ebp - 0x64]
shr edi, 3
add ecx, edi
movzx edi, word [ebp - 0x24]
xor edx, ecx
mov ebx, edx
mov ecx, dword [ebp - 0x20]
xor ecx, edx
ror ecx, 0xc
imul ecx, edi
rol ebx, 0xa
xor ebx, ecx
xor eax, ebx
mov edi, eax
mov ecx, dword [ebp - 0x24]
xor ecx, eax
rol ecx, 1
imul ecx, dword [ebp - 0x68]
rol edi, 0xf
add edi, ecx
movzx ecx, word [ebp - 0x20]
xor edx, edi
movzx edi, word [ebp - 0x24]
mov ebx, edx
not ebx
ror ebx, 0xb
add ebx, ecx
imul ebx, edi
xor eax, ebx
mov ebx, eax
sub ebx, ecx
imul ebx, dword [ebp - 0x64]
mov ecx, eax
shr ecx, 0xc
sub ebx, ecx
xor edx, ebx
mov ebx, edx
mov ecx, edx
sub ecx, dword [ebp - 0x20]
ror ecx, 0xa
imul ecx, edi
ror ebx, 7
add ebx, ecx
xor eax, ebx
mov ecx, eax
mov edi, eax
sub ecx, dword [ebp - 0x24]
ror ecx, 0xf
imul ecx, dword [ebp - 0x68]
rol edi, 3
xor edi, ecx
mov ecx, dword [ebp - 0x24]
xor edx, edi
movzx edi, word [ebp - 0x20]
add ecx, edx
ror ecx, 0xd
imul ecx, edi
mov ebx, edx
ror ebx, 0xb
add ebx, ecx
xor eax, ebx
mov ebx, eax
xor ebx, edi
mov ecx, eax
imul ebx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x20]
ror ecx, 0xd
add ecx, ebx
xor edx, ecx
mov ecx, dword [ebp - 0x24]
xor ecx, edx
xor edx, dword [ebp - 0x90]
sub edi, ecx
mov cl, byte [ebp - 0x55]
xor edi, dword [ebp - 0x78]
xor eax, edi
xor cl, al
xor cl, dl
mov edi, dword [ebp - 0x7c]
mov byte [edi + 3], al
ror eax, 8
mov byte [edi + 7], dl
mov byte [edi + 2], al
xor cl, al
ror edx, 8
mov byte [edi + 6], dl
xor cl, dl
ror eax, 8
mov byte [edi + 1], al
xor cl, al
ror edx, 8
mov byte [edi + 5], dl
xor cl, dl
ror eax, 8
ror edx, 8
mov bl, dl
xor bl, al
xor cl, bl
mov byte [ebp - 0x55], cl
mov ecx, dword [ebp - 0x74]
mov byte [edi], al
mov byte [edi + 4], dl
mov dword [ebp - 0x78], ecx
mov ecx, dword [ebp - 0x60]
add edi, 8
dec dword [ebp - 0x5c]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x7c], edi
ror eax, 8
ror edx, 8
jne 0x11fdddf
mov ebx, 0xfffffff
mov al, byte [ebp - 0x55]
mov ecx, dword [ebp - 0x88]
cmp al, byte [ecx + 8]
je 0x11fe029
call fcn.012a18fc
mov ecx, 0xfffff000
and eax, ecx
mov dword [ebp - 0x6c], eax
mov esi, 0x103a6aa
mov eax, dword [ebp - 0x100]
lea edi, [eax + 0xc]
mov dword [eax + 8], esi
and edi, 0xfffffffc
lea ebx, [edi + 0xfff]
and ebx, ecx
mov ecx, 0xffff
mov dword [ebp - 0x64], ecx
xor eax, eax
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr dword [ebp - 0x64], 0x10
jne 0x11fdfce
xor edx, edx
div ecx
inc edx
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x6c]
mov dword [eax], edx
mov dword [eax + 0x1c], ecx
mov dword [ebp - 0x6c], 0
cmp edi, ebx
mov eax, edi
jae 0x11f99f0
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
add eax, 4
cmp eax, ebx
jb 0x11fe018
jmp 0x11f99f0
mov ecx, dword [0x13ca1e8]
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x5c], eax
sub esi, ecx
mov dword [ebp - 0x88], esi
jne 0x11fe04d
test eax, eax
je 0x11f9ace
mov esi, dword [ebp - 0x80]
sub esi, dword [ebp - 0x8c]
mov ecx, dword [0x1236cc0]
mov edi, dword [ebp - 0x84]
mov eax, dword [ebp - 0x94]
add eax, edi
mov dword [ebp - 0x114], eax
xor eax, eax
dec ecx
mov dword [ebp - 0x64], eax
js 0x11fe09e
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1236cc4]
and edx, ebx
cmp edi, edx
jae 0x11fe094
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x64]
jmp 0x11fe09a
jbe 0x11fe09e
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, eax
jge 0x11fe078
mov dword [ebp - 0x68], eax
jmp 0x11fe0ff
mov eax, dword [ebp - 0x68]
mov eax, dword [eax*4 + 0x1236cc4]
mov ecx, eax
and ecx, ebx
cmp ecx, dword [ebp - 0x114]
jae 0x11f9ace
lea edi, [ecx + esi + 0x1000000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x11fe0ed
dec ecx
je 0x11fe0e8
dec ecx
jne 0x11fe0f6
mov edx, dword [ebp - 0x88]
jmp 0x11fe0f6
mov edx, dword [ebp - 0x5c]
jmp 0x11fe0f6
mov edx, dword [ebp - 0x88]
sub edx, dword [ebp - 0x5c]
dec eax
dec eax
jne 0x11fe0fc
add dword [edi], edx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, dword [0x1236cc0]
jb 0x11fe0a3
jmp 0x11f9ace
cmp dword [ebp - 0x8c], esi
jb 0x11ff445
mov eax, dword [0x100003c]
mov eax, dword [eax + 0x1000050]
add eax, esi
cmp dword [ebp - 0x8c], eax
jae 0x11fea82
mov edi, dword [ebp - 0x8c]
mov ecx, dword [0x12a6b1c]
and dword [ebp - 0x64], 0
sub edi, esi
dec ecx
js 0x11fe17a
mov eax, dword [ebp - 0x64]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax*8 + 0x1272e38]
mov dword [ebp - 0x6c], edx
mov edx, dword [edx + 4]
and edx, ebx
cmp edi, edx
jae 0x11fe16b
lea ecx, [eax - 1]
jmp 0x11fe175
jbe 0x11fe2b6
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, dword [ebp - 0x64]
jge 0x11fe149
xor ecx, ecx
test ecx, ecx
je 0x11fea82
mov eax, dword [ecx]
mov edx, eax
shr eax, 3
and eax, ebx
mov edi, eax
and edx, 7
lea ecx, [edx + ecx + 8]
lea eax, [edi + ecx]
mov dword [ebp - 0x88], eax
mov eax, dword [0x109dc84]
sub eax, edi
mov dword [ebp - 0x84], ecx
sub dword [ebp - 0x84], esi
mov dword [ebp - 0x8c], ecx
lea ecx, [eax + 1]
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x6c], ecx
xor eax, eax
test ecx, ecx
je 0x11fe1ef
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr ecx, 0x10
jne 0x11fe1ca
xor edx, edx
div dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
add eax, edx
push eax
push edi
push dword [ebp - 0x84]
mov dword [ebp - 0x80], eax
mov eax, 0x76e2bf7b
mov eax, dword [ebp - 0x88]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x15c], eax
lea eax, [ebp - 0x160]
push eax
mov dword [ebp - 0x160], edi
mov byte [ebp - 0x55], 0
mov eax, 0xf60f87b
mov ecx, dword [0x13ca1e8]
mov eax, dword [ebp - 0x15c]
and dword [ebp - 0xf4], 0
and dword [ebp - 0xf0], 0
and eax, ebx
and edi, ebx
mov dword [ebp - 0x5c], eax
add edi, esi
add esp, 0x10
mov dword [ebp - 0x74], edi
mov eax, esi
sub eax, ecx
mov dword [ebp - 0x68], eax
jne 0x11fe2d1
xor edi, edi
cmp dword [ebp - 0x5c], edi
jbe 0x11fe521
mov eax, dword [ebp - 0x74]
movzx ecx, byte [eax + edi]
sub ecx, 0x6993b353
add dword [ebp - 0xf4], ecx
add ecx, dword [ebp - 0xf0]
mov eax, ecx
imul eax, eax, 0x81ee
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
mov ecx, 0x966c4cad
mul ecx
add eax, edx
add dword [ebp - 0xf4], eax
inc edi
cmp edi, dword [ebp - 0x5c]
mov dword [ebp - 0xf0], eax
jb 0x11fe26d
jmp 0x11fe521
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
shr ecx, 1
and ecx, 0x3f
mov eax, dword [eax + 4]
and eax, ebx
lea ecx, [ecx + eax + 0x1000000]
jmp 0x11fe17c
mov ecx, dword [ebp - 0x74]
mov edx, dword [0x100003c]
mov eax, dword [ebp - 0x5c]
add eax, ecx
lea edx, [edx + 0x10000a0]
mov dword [ebp - 0x78], eax
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov dword [ebp - 0x6c], edx
sub ecx, esi
mov edi, ecx
mov edx, ecx
and edi, 0xfffff000
sub edx, edi
mov dword [ebp - 0x64], edi
mov edi, dword [ebp - 0x5c]
add ecx, edi
mov edi, ecx
and edi, 0xfffff000
sub ecx, edi
add eax, esi
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xa8], edi
add ecx, eax
mov dword [ebp - 0xa0], ecx
cmp eax, ecx
mov edi, eax
je 0x11fe341
mov eax, dword [edi]
cmp eax, dword [ebp - 0x64]
jae 0x11fe341
add edi, dword [edi + 4]
cmp edi, dword [ebp - 0xa0]
jne 0x11fe32f
xor ecx, ecx
cmp edi, dword [ebp - 0xa0]
je 0x11fe4d0
mov eax, dword [ebp - 0x64]
cmp dword [edi], eax
jne 0x11fe377
mov eax, dword [edi + 4]
sub eax, 8
shr eax, 1
mov dword [ebp - 0x6c], eax
je 0x11fe377
movzx eax, word [edi + ecx*2 + 8]
and eax, 0xfff
cmp eax, edx
jae 0x11fe377
inc ecx
cmp ecx, dword [ebp - 0x6c]
jne 0x11fe363
cmp edi, dword [ebp - 0xa0]
je 0x11fe4d0
mov eax, dword [edi]
cmp eax, dword [ebp - 0xa8]
ja 0x11fe4d0
mov eax, dword [edi + 4]
lea edx, [eax - 8]
shr edx, 1
cmp ecx, edx
jne 0x11fe3bd
add edi, eax
cmp edi, dword [ebp - 0xa0]
je 0x11fe4d0
mov eax, dword [ebp - 0xa8]
cmp dword [edi], eax
ja 0x11fe4d0
xor ecx, ecx
jmp 0x11fe391
mov eax, dword [ebp - 0xa8]
cmp dword [edi], eax
jne 0x11fe3dd
movzx eax, word [edi + ecx*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0xa4]
jae 0x11fe4d0
mov eax, ecx
inc ecx
test word [edi + eax*2 + 8], 0xf000
mov dword [ebp - 0x98], ecx
je 0x11fe377
mov ecx, dword [edi]
lea eax, [edi + eax*2 + 8]
and dword [ebp - 0x5c], 0
movzx eax, word [eax]
and eax, 0xfff
lea eax, [eax + ecx + 0x1000000]
mov dword [ebp - 0x64], eax
sub eax, dword [ebp - 0x74]
mov dword [ebp - 0x6c], eax
je 0x11fe45f
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x5c]
movzx ecx, byte [eax + ecx]
sub ecx, 0x6993b353
add dword [ebp - 0xf4], ecx
add ecx, dword [ebp - 0xf0]
mov eax, ecx
imul eax, eax, 0x81ee
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
mov ecx, 0x966c4cad
mul ecx
add eax, edx
add dword [ebp - 0xf4], eax
inc dword [ebp - 0x5c]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x6c]
jb 0x11fe413
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
sub eax, dword [ebp - 0x68]
and dword [ebp - 0x5c], 0
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x5c]
movzx ecx, byte [ebp + eax - 0x110]
sub ecx, 0x6993b353
add dword [ebp - 0xf4], ecx
add ecx, dword [ebp - 0xf0]
mov eax, ecx
imul eax, eax, 0x81ee
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
mov ecx, 0x966c4cad
mul ecx
add eax, edx
add dword [ebp - 0xf4], eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 4
mov dword [ebp - 0xf0], eax
jb 0x11fe471
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x64]
add eax, 4
mov dword [ebp - 0x74], eax
jmp 0x11fe377
mov eax, dword [ebp - 0x78]
xor edi, edi
sub eax, dword [ebp - 0x74]
mov dword [ebp - 0x6c], eax
je 0x11fe521
mov eax, dword [ebp - 0x74]
movzx ecx, byte [eax + edi]
sub ecx, 0x6993b353
add dword [ebp - 0xf4], ecx
add ecx, dword [ebp - 0xf0]
mov eax, ecx
imul eax, eax, 0x81ee
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
mov ecx, 0x966c4cad
mul ecx
add eax, edx
add dword [ebp - 0xf4], eax
inc edi
cmp edi, dword [ebp - 0x6c]
mov dword [ebp - 0xf0], eax
jb 0x11fe4dd
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0xf4]
mov byte [ebp + eax - 0x54], cl
inc eax
cmp eax, 8
jb 0x11fe523
mov eax, 0x3daddf5a
mov eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x94]
and edx, 7
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x90], edx
je 0x11fe750
xor ecx, ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x70], ecx
not eax
cmp edx, ecx
jle 0x11fe5a5
mov dword [ebp - 0x5c], 0x38
mov ecx, dword [ebp - 0x5c]
cmp dword [ebp - 0x70], 4
movzx ebx, byte [edi]
jge 0x11fe593
add ecx, 0xffffffe0
shl ebx, cl
or dword [ebp - 0x68], ebx
jmp 0x11fe598
shl ebx, cl
or dword [ebp - 0x78], ebx
sub dword [ebp - 0x5c], 8
inc edi
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], edx
jl 0x11fe57d
mov ecx, dword [ebp - 0x84]
movzx edx, word [ebp - 0x4e]
sub ecx, edx
sub ecx, dword [ebp - 0x54]
xor eax, ecx
movzx ecx, word [ebp - 0x50]
mov dword [ebp - 0x60], eax
sub eax, ecx
xor eax, dword [ebp - 0x84]
mov dword [ebp - 0x64], ecx
movzx ecx, word [ebp - 0x52]
xor eax, dword [ebp - 0x54]
mov ebx, eax
ror ebx, 0xe
xor ebx, ecx
imul ebx, edx
xor dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
ror ebx, 4
mov dword [ebp - 0x70], ecx
movzx ecx, word [ebp - 0x54]
sub ebx, ecx
imul ebx, dword [ebp - 0x70]
xor eax, ebx
mov dword [ebp - 0x5c], ecx
mov ebx, eax
mov ecx, dword [ebp - 0x54]
sub ecx, eax
rol ecx, 0xd
imul edx, ecx
rol ebx, 0xd
mov ecx, dword [ebp - 0x64]
add ebx, edx
xor dword [ebp - 0x60], ebx
mov edx, dword [ebp - 0x70]
xor edx, dword [ebp - 0x60]
imul edx, ecx
mov ebx, dword [ebp - 0x60]
shr ebx, 9
xor edx, ebx
mov ebx, dword [ebp - 0x70]
xor eax, edx
xor ecx, eax
mov edx, eax
rol ecx, 1
imul ebx, ecx
mov ecx, dword [ebp - 0x70]
ror edx, 0x10
add edx, ebx
xor dword [ebp - 0x60], edx
xor ecx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x60]
rol ecx, 5
imul ebx, ecx
movzx ecx, word [ebp - 0x4e]
rol edx, 3
sub ebx, edx
xor eax, ebx
mov edx, eax
not edx
ror edx, 6
add edx, ecx
mov ecx, dword [ebp - 0x64]
imul edx, ecx
xor dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x60]
sub edx, dword [ebp - 0x54]
rol edx, 5
imul ecx, edx
ror ebx, 2
mov edx, dword [ebp - 0x5c]
add ebx, ecx
xor eax, ebx
mov ecx, dword [ebp - 0x70]
mov ebx, eax
sub ebx, edx
rol ebx, 4
imul ecx, ebx
mov ebx, eax
shr ebx, 9
xor ecx, ebx
xor dword [ebp - 0x60], ecx
mov ebx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x50]
and dword [ebp - 0x70], 0
rol ecx, 0xb
imul edx, ecx
ror ebx, 8
mov ecx, dword [ebp - 0x90]
xor ebx, edx
xor ebx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x60]
xor edx, dword [ebp - 0x78]
xor eax, ebx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x60], edx
test ecx, ecx
jle 0x11fe6f6
mov ebx, dword [ebp - 0x7c]
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x70], 4
jge 0x11fe6dc
rol dword [ebp - 0x74], 8
mov cl, byte [ebp - 0x74]
mov byte [ebx], cl
jmp 0x11fe6e5
rol dword [ebp - 0x60], 8
mov cl, byte [ebp - 0x60]
mov byte [ebx], cl
xor byte [ebp - 0x55], cl
inc dword [ebp - 0x70]
mov ecx, dword [ebp - 0x90]
cmp dword [ebp - 0x70], ecx
jl 0x11fe6c5
lea ebx, [ecx - 4]
test ebx, ebx
jle 0x11fe73d
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr edx, cl
shl edx, cl
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x94]
shr ecx, 3
je 0x11fe8fa
movzx ebx, word [ebp - 0x4e]
mov dword [ebp - 0x5c], ebx
movzx ebx, word [ebp - 0x54]
mov dword [ebp - 0x64], ebx
movzx ebx, word [ebp - 0x52]
neg dword [ebp - 0x64]
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x90], ecx
jmp 0x11fe761
xor edx, edx
test ebx, ebx
jge 0x11fe709
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x11fe709
mov dword [ebp - 0x68], eax
not eax
xor edx, edx
mov dword [ebp - 0x78], eax
xor eax, eax
jmp 0x11fe70e
mov edi, dword [ebp - 0x6c]
movzx ebx, byte [edi + 2]
movzx ecx, byte [edi + 1]
mov ch, byte [edi]
add edi, 8
mov dword [ebp - 0x6c], edi
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi - 5]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi - 2]
mov dword [ebp - 0x74], ecx
xor eax, dword [ebp - 0x74]
xor ecx, ecx
mov ch, byte [edi - 4]
mov cl, byte [edi - 3]
shl ecx, 8
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi - 1]
mov edi, eax
or ecx, ebx
mov dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x54]
sub edi, dword [ebp - 0x5c]
sub edi, ecx
xor edi, dword [ebp - 0x60]
xor edx, edi
mov ebx, edx
movzx edi, word [ebp - 0x50]
sub ebx, edi
xor ebx, eax
xor ebx, ecx
mov eax, ebx
mov edi, eax
ror edi, 0xe
xor edi, dword [ebp - 0x70]
imul edi, dword [ebp - 0x5c]
xor edx, edi
movzx edi, cx
mov ebx, edx
ror ebx, 4
sub ebx, edi
imul ebx, dword [ebp - 0x70]
xor eax, ebx
mov ebx, dword [ebp - 0x5c]
mov edi, eax
sub ecx, eax
rol ecx, 0xd
imul ebx, ecx
movzx ecx, word [ebp - 0x50]
rol edi, 0xd
add edi, ebx
xor edx, edi
mov ebx, edx
mov edi, dword [ebp - 0x70]
xor edi, edx
imul edi, ecx
shr ebx, 9
xor edi, ebx
mov ebx, dword [ebp - 0x70]
xor eax, edi
mov edi, eax
xor ecx, eax
rol ecx, 1
imul ebx, ecx
ror edi, 0x10
mov ecx, dword [ebp - 0x70]
add edi, ebx
xor edx, edi
xor ecx, edx
movzx edi, word [ebp - 0x54]
mov ebx, edx
rol ecx, 5
imul edi, ecx
rol ebx, 3
sub edi, ebx
xor eax, edi
mov ecx, eax
not ecx
ror ecx, 6
add ecx, dword [ebp - 0x5c]
movzx edi, word [ebp - 0x50]
imul ecx, edi
xor edx, ecx
mov ebx, edx
mov ecx, edx
sub ecx, dword [ebp - 0x54]
rol ecx, 5
imul edi, ecx
mov ecx, dword [ebp - 0x64]
ror ebx, 2
add ebx, edi
xor eax, ebx
add ecx, eax
rol ecx, 4
mov edi, dword [ebp - 0x70]
imul edi, ecx
mov ecx, eax
shr ecx, 9
xor edi, ecx
xor edx, edi
movzx edi, word [ebp - 0x54]
mov ebx, edx
mov ecx, edx
sub ecx, dword [ebp - 0x50]
xor edx, dword [ebp - 0x78]
rol ecx, 0xb
imul edi, ecx
mov cl, byte [ebp - 0x55]
ror ebx, 8
xor ebx, edi
xor ebx, dword [ebp - 0x68]
xor eax, ebx
mov edi, dword [ebp - 0x7c]
xor cl, al
mov byte [edi + 3], al
xor cl, dl
mov byte [edi + 7], dl
ror eax, 8
xor cl, al
mov byte [edi + 2], al
ror edx, 8
xor cl, dl
mov byte [edi + 6], dl
ror eax, 8
xor cl, al
ror edx, 8
xor cl, dl
mov byte [edi + 1], al
ror eax, 8
mov byte [edi + 5], dl
ror edx, 8
mov bl, dl
xor bl, al
xor cl, bl
mov byte [ebp - 0x55], cl
mov ecx, dword [ebp - 0x74]
mov byte [edi], al
mov byte [edi + 4], dl
mov dword [ebp - 0x68], ecx
add edi, 8
mov ecx, dword [ebp - 0x60]
dec dword [ebp - 0x90]
ror eax, 8
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x7c], edi
ror edx, 8
jne 0x11fe75e
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x88]
mov al, byte [ebp - 0x55]
cmp al, byte [ecx + 8]
je 0x11fe99c
call fcn.012a18fc
mov ecx, 0xfffff000
and eax, ecx
mov dword [ebp - 0x6c], eax
mov esi, 0x103a6aa
mov eax, dword [ebp - 0x100]
lea edi, [eax + 0xc]
and edi, 0xfffffffc
lea ebx, [edi + 0xfff]
and ebx, ecx
mov ecx, 0xffff
mov dword [eax + 8], esi
xor eax, eax
mov dword [ebp - 0x64], ecx
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr dword [ebp - 0x64], 0x10
jne 0x11fe941
xor edx, edx
div ecx
mov eax, dword [ebp - 0x104]
inc edx
mov ecx, dword [ebp - 0x6c]
cmp edi, ebx
mov dword [eax], edx
mov dword [eax + 0x1c], ecx
mov dword [ebp - 0x6c], 0
mov eax, edi
jae 0x11f99f0
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
add eax, 4
cmp eax, ebx
jb 0x11fe98b
jmp 0x11f99f0
mov ecx, dword [0x13ca1e8]
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x80]
sub esi, ecx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x88], esi
jne 0x11fe9c0
test eax, eax
je 0x11f9ace
mov esi, dword [ebp - 0x80]
mov ecx, dword [0x1236cc0]
mov edi, dword [ebp - 0x84]
sub esi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x94]
add eax, edi
mov dword [ebp - 0x110], eax
xor eax, eax
mov dword [ebp - 0x64], eax
dec ecx
js 0x11fea11
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1236cc4]
and edx, ebx
cmp edi, edx
jae 0x11fea07
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x64]
jmp 0x11fea0d
jbe 0x11fea11
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, eax
jge 0x11fe9eb
mov dword [ebp - 0x68], eax
jmp 0x11fea72
mov eax, dword [ebp - 0x68]
mov eax, dword [eax*4 + 0x1236cc4]
mov ecx, eax
and ecx, ebx
cmp ecx, dword [ebp - 0x110]
jae 0x11f9ace
lea edi, [ecx + esi + 0x1000000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x11fea60
dec ecx
je 0x11fea5b
dec ecx
jne 0x11fea69
mov edx, dword [ebp - 0x88]
jmp 0x11fea69
mov edx, dword [ebp - 0x5c]
jmp 0x11fea69
mov edx, dword [ebp - 0x88]
sub edx, dword [ebp - 0x5c]
dec eax
dec eax
jne 0x11fea6f
add dword [edi], edx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, dword [0x1236cc0]
jb 0x11fea16
jmp 0x11f9ace
cmp dword [ebp - 0x8c], esi
jb 0x11ff445
mov eax, dword [0x100003c]
mov eax, dword [eax + 0x1000050]
add eax, esi
cmp dword [ebp - 0x8c], eax
jae 0x11ff445
mov edi, dword [ebp - 0x8c]
mov ecx, dword [0x101c6c4]
and dword [ebp - 0x64], 0
sub edi, esi
dec ecx
js 0x11feaec
mov eax, dword [ebp - 0x64]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax*8 + 0x1279c30]
mov dword [ebp - 0x6c], edx
mov edx, dword [edx]
and edx, ebx
cmp edi, edx
jae 0x11feadd
lea ecx, [eax - 1]
jmp 0x11feae7
jbe 0x11fec33
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, dword [ebp - 0x64]
jge 0x11feabc
xor ecx, ecx
test ecx, ecx
je 0x11ff445
mov eax, dword [ecx]
mov edx, eax
shr eax, 1
and eax, ebx
mov edi, eax
shr edx, 0x1d
lea ecx, [edx + ecx + 8]
lea eax, [edi + ecx]
mov dword [ebp - 0x88], eax
mov eax, dword [0x109dc84]
mov dword [ebp - 0x84], ecx
sub eax, edi
sub dword [ebp - 0x84], esi
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x94], edi
lea ecx, [eax + 1]
xor eax, eax
test ecx, ecx
mov dword [ebp - 0x6c], ecx
je 0x11feb60
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr ecx, 0x10
jne 0x11feb3b
xor edx, edx
div dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
add eax, edx
push eax
push edi
push dword [ebp - 0x84]
mov dword [ebp - 0x90], eax
mov eax, 0xaf2081cd
mov eax, dword [ebp - 0x88]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x16c], eax
lea eax, [ebp - 0x170]
push eax
mov dword [ebp - 0x170], edi
mov byte [ebp - 0x55], 0
mov eax, 0x158b2e19
mov ecx, dword [0x13ca1e8]
mov eax, dword [ebp - 0x16c]
and dword [ebp - 0xd4], 0
and dword [ebp - 0xd0], 0
and eax, ebx
and edi, ebx
mov dword [ebp - 0x5c], eax
mov eax, esi
add edi, esi
add esp, 0x10
mov dword [ebp - 0x74], edi
sub eax, ecx
mov dword [ebp - 0x80], eax
jne 0x11fec4c
xor edi, edi
cmp dword [ebp - 0x5c], edi
jbe 0x11feeb7
mov eax, dword [ebp - 0x74]
movzx ecx, byte [eax + edi]
sub ecx, 0x7cfef09d
add dword [ebp - 0xd4], ecx
add ecx, dword [ebp - 0xd0]
mov eax, ecx
imul eax, eax, 0x2cfc
rol eax, 3
ror ecx, 3
xor eax, ecx
mov ecx, 0x83010f63
imul eax, eax, 0x83010f63
ror eax, 0x1c
mul ecx
add eax, edx
add dword [ebp - 0xd4], eax
inc edi
cmp edi, dword [ebp - 0x5c]
mov dword [ebp - 0xd0], eax
jb 0x11febe1
jmp 0x11feeb7
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
and ecx, 0x3f
and eax, ebx
lea ecx, [ecx + eax + 0x1000000]
jmp 0x11feaee
mov edx, dword [0x100003c]
lea edx, [edx + 0x10000a0]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x5c]
add eax, ecx
sub ecx, esi
mov edi, ecx
and edi, 0xfffff000
mov dword [ebp - 0x68], eax
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov dword [ebp - 0x6c], edx
mov edx, ecx
sub edx, edi
mov dword [ebp - 0x64], edi
mov edi, dword [ebp - 0x5c]
add ecx, edi
mov edi, ecx
and edi, 0xfffff000
sub ecx, edi
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0x6c]
add eax, esi
add ecx, eax
cmp eax, ecx
mov dword [ebp - 0xa8], edi
mov edi, eax
mov dword [ebp - 0xa0], ecx
je 0x11fecbc
mov eax, dword [edi]
cmp eax, dword [ebp - 0x64]
jae 0x11fecbc
add edi, dword [edi + 4]
cmp edi, dword [ebp - 0xa0]
jne 0x11fecaa
xor ecx, ecx
cmp edi, dword [ebp - 0xa0]
je 0x11fee5d
mov eax, dword [ebp - 0x64]
cmp dword [edi], eax
jne 0x11fecf2
mov eax, dword [edi + 4]
sub eax, 8
shr eax, 1
mov dword [ebp - 0x6c], eax
je 0x11fecf2
movzx eax, word [edi + ecx*2 + 8]
and eax, 0xfff
cmp eax, edx
jae 0x11fecf2
inc ecx
cmp ecx, dword [ebp - 0x6c]
jne 0x11fecde
cmp edi, dword [ebp - 0xa0]
je 0x11fee5d
mov eax, dword [edi]
cmp eax, dword [ebp - 0xa8]
ja 0x11fee5d
mov eax, dword [edi + 4]
lea edx, [eax - 8]
shr edx, 1
cmp ecx, edx
jne 0x11fed38
add edi, eax
cmp edi, dword [ebp - 0xa0]
je 0x11fee5d
mov eax, dword [ebp - 0xa8]
cmp dword [edi], eax
ja 0x11fee5d
xor ecx, ecx
jmp 0x11fed0c
mov eax, dword [ebp - 0xa8]
cmp dword [edi], eax
jne 0x11fed58
movzx eax, word [edi + ecx*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0xa4]
jae 0x11fee5d
mov eax, ecx
inc ecx
test word [edi + eax*2 + 8], 0xf000
mov dword [ebp - 0x98], ecx
je 0x11fecf2
mov ecx, dword [edi]
lea eax, [edi + eax*2 + 8]
and dword [ebp - 0x5c], 0
movzx eax, word [eax]
and eax, 0xfff
lea eax, [eax + ecx + 0x1000000]
mov dword [ebp - 0x64], eax
sub eax, dword [ebp - 0x74]
mov dword [ebp - 0x6c], eax
je 0x11fede3
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x5c]
movzx ecx, byte [eax + ecx]
sub ecx, 0x7cfef09d
add dword [ebp - 0xd4], ecx
add ecx, dword [ebp - 0xd0]
mov eax, ecx
imul eax, eax, 0x2cfc
rol eax, 3
ror ecx, 3
xor eax, ecx
mov ecx, 0x83010f63
imul eax, eax, 0x83010f63
ror eax, 0x1c
mul ecx
add eax, edx
add dword [ebp - 0xd4], eax
inc dword [ebp - 0x5c]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x6c]
jb 0x11fed8e
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
sub eax, dword [ebp - 0x80]
and dword [ebp - 0x5c], 0
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x5c]
movzx ecx, byte [ebp + eax - 0x11c]
sub ecx, 0x7cfef09d
add dword [ebp - 0xd4], ecx
add ecx, dword [ebp - 0xd0]
mov eax, ecx
imul eax, eax, 0x2cfc
rol eax, 3
ror ecx, 3
xor eax, ecx
mov ecx, 0x83010f63
imul eax, eax, 0x83010f63
ror eax, 0x1c
mul ecx
add eax, edx
add dword [ebp - 0xd4], eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 4
mov dword [ebp - 0xd0], eax
jb 0x11fedf5
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x64]
add eax, 4
mov dword [ebp - 0x74], eax
jmp 0x11fecf2
xor edi, edi
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x74]
mov dword [ebp - 0x6c], eax
je 0x11feeb7
mov eax, dword [ebp - 0x74]
movzx ecx, byte [eax + edi]
sub ecx, 0x7cfef09d
add dword [ebp - 0xd4], ecx
add ecx, dword [ebp - 0xd0]
mov eax, ecx
imul eax, eax, 0x2cfc
rol eax, 3
ror ecx, 3
xor eax, ecx
mov ecx, 0x83010f63
imul eax, eax, 0x83010f63
ror eax, 0x1c
mul ecx
add eax, edx
add dword [ebp - 0xd4], eax
inc edi
cmp edi, dword [ebp - 0x6c]
mov dword [ebp - 0xd0], eax
jb 0x11fee6a
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0xd4]
mov byte [ebp + eax - 0x3c], cl
inc eax
cmp eax, 8
jb 0x11feeb9
mov eax, 0x338e446d
mov eax, dword [ebp - 0x90]
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x94]
and eax, 7
mov dword [ebp - 0x80], eax
je 0x11ff0f7
mov edx, dword [ebp - 0x84]
xor ecx, ecx
mov dword [ebp - 0x78], ecx
cmp eax, ecx
not edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x70], ecx
jle 0x11fef3b
mov dword [ebp - 0x5c], 0x38
mov ecx, dword [ebp - 0x5c]
movzx ebx, byte [edi]
cmp dword [ebp - 0x70], 4
jge 0x11fef29
add ecx, 0xffffffe0
shl ebx, cl
or dword [ebp - 0x68], ebx
jmp 0x11fef2e
shl ebx, cl
or dword [ebp - 0x78], ebx
sub dword [ebp - 0x5c], 8
inc edi
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], eax
jl 0x11fef13
mov ebx, edx
movzx eax, word [ebp - 0x3a]
movzx ecx, word [ebp - 0x3c]
xor eax, edx
imul eax, ecx
shr ebx, 4
xor eax, ebx
movzx ebx, word [ebp - 0x36]
xor eax, dword [ebp - 0x84]
xor ecx, eax
mov dword [ebp - 0x7c], ebx
rol ecx, 7
imul ebx, ecx
mov ecx, eax
shr ecx, 0xd
add ebx, ecx
xor edx, ebx
movzx ebx, word [ebp - 0x38]
mov ecx, edx
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], ebx
rol ecx, 8
ror edx, 8
imul ebx, ecx
sub ebx, edx
xor eax, ebx
movzx ecx, word [ebp - 0x3a]
mov edx, eax
ror edx, 0xc
sub edx, ecx
mov ecx, dword [ebp - 0x5c]
imul edx, ecx
xor dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x38]
xor edx, dword [ebp - 0x3c]
xor edx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x7c]
xor eax, edx
mov edx, eax
xor ecx, eax
rol ecx, 4
imul ebx, ecx
ror edx, 3
add edx, ebx
mov ecx, dword [ebp - 0x3c]
xor dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x5c]
sub ecx, dword [ebp - 0x60]
rol ecx, 0xa
imul ebx, ecx
ror edx, 8
movzx ecx, word [ebp - 0x3a]
add edx, ebx
xor eax, edx
mov edx, eax
sub edx, ecx
movzx ecx, word [ebp - 0x3c]
xor edx, dword [ebp - 0x38]
xor dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x60]
sub edx, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x60]
imul edx, ecx
shr ebx, 6
sub edx, ebx
mov ebx, dword [ebp - 0x7c]
xor eax, edx
mov edx, eax
xor ecx, eax
rol ecx, 3
imul ebx, ecx
ror edx, 0xa
mov ecx, dword [ebp - 0x5c]
xor edx, ebx
xor dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x3c]
xor edx, dword [ebp - 0x60]
rol edx, 3
imul ecx, edx
mov edx, dword [ebp - 0x60]
shr edx, 1
sub ecx, edx
xor eax, ecx
mov ecx, dword [ebp - 0x7c]
movzx edx, word [ebp - 0x3a]
mov ebx, eax
and dword [ebp - 0x70], 0
xor ecx, eax
imul ecx, edx
ror ebx, 0xd
mov edx, dword [ebp - 0x60]
add ebx, ecx
movzx ecx, word [ebp - 0x3c]
xor edx, ebx
mov ebx, edx
sub ebx, dword [ebp - 0x38]
xor edx, dword [ebp - 0x78]
sub ebx, ecx
xor ebx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x80]
xor eax, ebx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xac], edx
test ecx, ecx
jle 0x11ff09b
mov ebx, dword [ebp - 0x74]
inc dword [ebp - 0x74]
cmp dword [ebp - 0x70], 4
jge 0x11ff07e
rol dword [ebp - 0x60], 8
mov cl, byte [ebp - 0x60]
mov byte [ebx], cl
jmp 0x11ff08d
rol dword [ebp - 0xac], 8
mov cl, byte [ebp - 0xac]
mov byte [ebx], cl
xor byte [ebp - 0x55], cl
inc dword [ebp - 0x70]
mov ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x70], ecx
jl 0x11ff067
lea ebx, [ecx - 4]
test ebx, ebx
jle 0x11ff0e4
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr edx, cl
shl edx, cl
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x94]
shr ecx, 3
mov dword [ebp - 0x80], ecx
je 0x11ff2b7
mov ecx, dword [ebp - 0x38]
xor ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x70], ecx
movzx ecx, word [ebp - 0x36]
mov dword [ebp - 0x7c], ecx
movzx ecx, word [ebp - 0x3a]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x64], ecx
jmp 0x11ff10e
xor edx, edx
test ebx, ebx
jge 0x11ff0ae
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x11ff0ae
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x68], eax
not eax
mov dword [ebp - 0x78], eax
xor edx, edx
xor eax, eax
jmp 0x11ff0b3
mov edi, dword [ebp - 0x6c]
xor ecx, ecx
movzx ebx, byte [edi + 2]
mov ch, byte [edi]
add edi, 8
mov dword [ebp - 0x6c], edi
mov cl, byte [edi - 7]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi - 5]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi - 2]
mov dword [ebp - 0x60], ecx
xor ecx, ecx
mov ch, byte [edi - 4]
mov cl, byte [edi - 3]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi - 1]
shl ecx, 8
mov edi, dword [ebp - 0x5c]
or ecx, ebx
xor edx, ecx
mov ebx, edx
mov dword [ebp - 0xac], ecx
xor edi, edx
movzx ecx, word [ebp - 0x3c]
imul edi, ecx
shr ebx, 4
xor edi, ebx
xor edi, dword [ebp - 0x60]
xor eax, edi
mov edi, dword [ebp - 0x7c]
xor ecx, eax
rol ecx, 7
imul edi, ecx
mov ecx, eax
shr ecx, 0xd
add edi, ecx
xor edx, edi
mov ecx, edx
mov ebx, edx
sub ecx, dword [ebp - 0x3c]
rol ecx, 8
movzx edi, word [ebp - 0x38]
imul edi, ecx
ror ebx, 8
sub edi, ebx
mov ebx, dword [ebp - 0x7c]
movzx ecx, word [ebp - 0x38]
xor eax, edi
mov edi, eax
ror edi, 0xc
sub edi, dword [ebp - 0x5c]
imul edi, ecx
xor edx, edi
mov edi, dword [ebp - 0x70]
xor edi, edx
xor eax, edi
mov edi, eax
xor ecx, eax
rol ecx, 4
imul ebx, ecx
ror edi, 3
mov ecx, dword [ebp - 0x3c]
add edi, ebx
xor edx, edi
movzx edi, word [ebp - 0x38]
mov ebx, edx
sub ecx, edx
rol ecx, 0xa
imul edi, ecx
ror ebx, 8
add ebx, edi
xor eax, ebx
mov ecx, eax
sub ecx, dword [ebp - 0x5c]
xor ecx, dword [ebp - 0x38]
xor edx, ecx
movzx ecx, word [ebp - 0x38]
mov ebx, edx
mov edi, edx
sub edi, ecx
movzx ecx, word [ebp - 0x3c]
imul edi, ecx
shr ebx, 6
sub edi, ebx
xor eax, edi
mov edi, eax
xor ecx, eax
rol ecx, 3
imul ecx, dword [ebp - 0x7c]
ror edi, 0xa
xor edi, ecx
xor edx, edi
movzx edi, word [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
xor ecx, edx
rol ecx, 3
imul ecx, edi
mov edi, edx
shr edi, 1
sub ecx, edi
xor eax, ecx
mov ecx, eax
mov edi, dword [ebp - 0x7c]
xor edi, eax
imul edi, dword [ebp - 0x5c]
ror ecx, 0xd
add ecx, edi
xor edx, ecx
mov edi, edx
movzx ecx, word [ebp - 0x3c]
sub edi, dword [ebp - 0x38]
xor edx, dword [ebp - 0x78]
sub edi, ecx
xor edi, dword [ebp - 0x68]
mov cl, byte [ebp - 0x55]
xor eax, edi
xor cl, al
xor cl, dl
mov edi, dword [ebp - 0x74]
mov byte [edi + 3], al
ror eax, 8
xor cl, al
mov byte [edi + 7], dl
ror edx, 8
xor cl, dl
mov byte [edi + 2], al
ror eax, 8
mov byte [edi + 6], dl
xor cl, al
mov byte [edi + 1], al
ror edx, 8
xor cl, dl
ror eax, 8
mov byte [edi + 5], dl
ror edx, 8
mov bl, dl
xor bl, al
xor cl, bl
mov byte [ebp - 0x55], cl
mov ecx, dword [ebp - 0x60]
mov byte [edi], al
mov byte [edi + 4], dl
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0xac]
add edi, 8
dec dword [ebp - 0x64]
mov dword [ebp - 0x78], ecx
ror eax, 8
mov dword [ebp - 0x74], edi
ror edx, 8
jne 0x11ff10b
mov ebx, 0xfffffff
mov al, byte [ebp - 0x55]
mov ecx, dword [ebp - 0x88]
cmp al, byte [ecx + 8]
je 0x11ff359
call fcn.012a18fc
mov ecx, 0xfffff000
and eax, ecx
mov dword [ebp - 0x6c], eax
mov esi, 0x103a6aa
mov eax, dword [ebp - 0x100]
lea edi, [eax + 0xc]
and edi, 0xfffffffc
lea ebx, [edi + 0xfff]
mov dword [eax + 8], esi
and ebx, ecx
mov ecx, 0xffff
mov dword [ebp - 0x64], ecx
xor eax, eax
mov edx, dword [0x1427a7c]
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1427a7c], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
shr dword [ebp - 0x64], 0x10
jne 0x11ff2fe
xor edx, edx
div ecx
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, dword [ebp - 0x104]
cmp edi, ebx
mov dword [eax], edx
mov dword [eax + 0x1c], ecx
mov dword [ebp - 0x6c], 0
mov eax, edi
jae 0x11f99f0
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
add eax, 4
cmp eax, ebx
jb 0x11ff348
jmp 0x11f99f0
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x90]
mov ecx, dword [0x13ca1e8]
sub esi, ecx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x88], esi
jne 0x11ff380
test eax, eax
je 0x11fafe1
mov esi, dword [ebp - 0x90]
mov eax, dword [ebp - 0x94]
mov edi, dword [ebp - 0x84]
mov ecx, dword [0x1236cc0]
sub esi, dword [ebp - 0x8c]
add eax, edi
mov dword [ebp - 0x11c], eax
xor eax, eax
dec ecx
mov dword [ebp - 0x64], eax
js 0x11ff3d4
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1236cc4]
and edx, ebx
cmp edi, edx
jae 0x11ff3ca
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x64]
jmp 0x11ff3d0
jbe 0x11ff3d4
inc eax
mov dword [ebp - 0x64], eax
cmp ecx, eax
jge 0x11ff3ae
mov dword [ebp - 0x68], eax
jmp 0x11ff435
mov eax, dword [ebp - 0x68]
mov eax, dword [eax*4 + 0x1236cc4]
mov ecx, eax
and ecx, ebx
cmp ecx, dword [ebp - 0x11c]
jae 0x11fafe1
lea edi, [ecx + esi + 0x1000000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x11ff423
dec ecx
je 0x11ff41e
dec ecx
jne 0x11ff42c
mov edx, dword [ebp - 0x88]
jmp 0x11ff42c
mov edx, dword [ebp - 0x5c]
jmp 0x11ff42c
mov edx, dword [ebp - 0x88]
sub edx, dword [ebp - 0x5c]
dec eax
dec eax
jne 0x11ff432
add dword [edi], edx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, dword [0x1236cc0]
jb 0x11ff3d9
jmp 0x11fafe1
mov eax, 0x49299190
mov esi, section..data
mov edi, dword [ebp - 0x70]
cmp edi, esi
jb 0x11ff48d
mov eax, dword [0x129bea8]
mov ecx, dword [0x109dc84]
imul eax, ecx
lea eax, [eax + section..data]
cmp edi, eax
jae 0x11ff48d
mov eax, edi
mov ecx, dword [0x109dc84]
sub eax, esi
xor edx, edx
div ecx
mov ecx, dword [0x109dc84]
imul ecx, eax
lea ecx, [ecx + section..data]
jmp 0x11ff48f
xor ecx, ecx
test ecx, ecx
je 0x11ff4b4
mov ecx, dword [0x109dc84]
mov eax, edi
sub eax, esi
xor edx, edx
div ecx
mov ecx, dword [0x129bea8]
mov dword [eax*4 + 0x1427d38], 0x3bd7
jmp 0x11ff4d1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 0x8000
push 0
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01043035
leave
ret 0x10