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

Disassembly:
push ebp
mov edi, edi
mov ebp, esp
sub esp, 0x188
mov eax, dword [0x13912f4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
push ebx
mov ebx, 0xfffffff
push esi
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x94], ecx
mov esi, 0x1000000
cmp ecx, esi
jb 0x1233c31
mov eax, dword [0x100003c]
mov eax, dword [eax + 0x1000050]
add eax, esi
cmp ecx, eax
jae 0x1233230
mov eax, dword [0x12ff2c8]
and dword [ebp - 0x64], 0
sub ecx, esi
dec eax
mov dword [ebp - 0x5c], eax
js 0x1232833
mov edx, dword [ebp - 0x64]
add eax, edx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax*8 + 0x109e3a8]
mov dword [ebp - 0x80], edx
mov edx, dword [edx]
shr edx, 1
and edx, ebx
cmp ecx, edx
jae 0x1232821
dec eax
mov dword [ebp - 0x5c], eax
jmp 0x123282e
jbe 0x1232997
inc eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x64]
jge 0x12327fd
xor eax, eax
test eax, eax
je 0x123322a
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 - 0x9c], eax
mov eax, dword [0x10fb370]
mov dword [ebp - 0x88], edx
sub eax, ecx
sub dword [ebp - 0x88], esi
mov dword [ebp - 0x94], edx
lea edx, [eax + 1]
xor eax, eax
mov dword [ebp - 0x68], ecx
test edx, edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x64], edx
je 0x12328ac
mov edx, dword [0x138b4cc]
shr dword [ebp - 0x64], 0x10
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x138b4cc], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
cmp dword [ebp - 0x64], 0
jne 0x1232882
xor edx, edx
div dword [ebp - 0x5c]
lea eax, [edi + edx]
push eax
push ecx
push dword [ebp - 0x88]
mov dword [ebp - 0x90], eax
mov eax, 0xcd280f6f
mov eax, dword [ebp - 0x9c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x188]
push eax
mov dword [ebp - 0x188], edi
mov byte [ebp - 0x55], 0
mov eax, 0xf165dfa8
mov ecx, dword [0x102c94c]
mov eax, dword [ebp - 0x184]
and dword [ebp - 0xf0], 0
and dword [ebp - 0xec], 0
and eax, ebx
mov dword [ebp - 0x7c], eax
mov eax, esi
and edi, ebx
add edi, esi
add esp, 0x10
mov dword [ebp - 0x78], edi
sub eax, ecx
mov dword [ebp - 0xa0], eax
jne 0x12329b2
and dword [ebp - 0x6c], 0
cmp dword [ebp - 0x7c], 0
jbe 0x1232c6a
mov edi, 0x72d985af
mov ecx, 0x7fffffff
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x78]
movzx eax, byte [eax + edx]
mov edx, edi
add eax, edi
add dword [ebp - 0xf0], eax
add eax, dword [ebp - 0xec]
imul eax, eax, 0x72d985af
ror eax, 9
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 - 0xf0], eax
inc dword [ebp - 0x6c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x7c]
jb 0x123293f
jmp 0x1232c6a
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shr ecx, 1
and ecx, ebx
and eax, 0x3f
lea eax, [eax + ecx + 0x1000000]
jmp 0x1232835
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
add eax, ecx
sub ecx, esi
mov edx, dword [0x100003c]
mov edi, ecx
lea edx, [edx + 0x10000a0]
and edi, 0xfffff000
mov dword [ebp - 0x64], edi
mov edi, ecx
sub edi, dword [ebp - 0x64]
mov dword [ebp - 0x5c], edi
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 0x8c], eax
add ecx, edi
mov eax, dword [edx]
mov edi, ecx
mov edx, dword [edx + 4]
and edi, 0xfffff000
add eax, esi
sub ecx, edi
add edx, eax
cmp eax, edx
mov dword [ebp - 0xb4], ecx
mov ecx, eax
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xb0], edx
jmp 0x1232a1d
mov eax, dword [ebp - 0x64]
cmp dword [ecx], eax
jae 0x1232a25
add ecx, dword [ecx + 4]
cmp ecx, edx
mov dword [ebp - 0xac], ecx
jne 0x1232a11
and dword [ebp - 0xa8], 0
cmp ecx, edx
je 0x1232a62
mov eax, dword [ebp - 0x64]
cmp dword [ecx], eax
jne 0x1232a62
mov eax, dword [ecx + 4]
sub eax, 8
shr eax, 1
je 0x1232a62
add ecx, 8
movzx edx, word [ecx]
and edx, 0xfff
cmp edx, dword [ebp - 0x5c]
jae 0x1232a62
inc dword [ebp - 0xa8]
inc ecx
inc ecx
cmp dword [ebp - 0xa8], eax
jne 0x1232a44
mov ecx, 0x7fffffff
mov edi, 0x72d985af
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0xb0]
je 0x1232c05
mov edx, dword [ebp - 0xb8]
cmp dword [eax], edx
ja 0x1232c05
mov eax, dword [eax + 4]
add eax, 0xfffffff8
shr eax, 1
cmp dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xac]
jne 0x1232ace
add eax, dword [eax + 4]
mov dword [ebp - 0xac], eax
cmp eax, dword [ebp - 0xb0]
je 0x1232c05
mov edx, dword [ebp - 0xb8]
cmp dword [eax], edx
ja 0x1232c05
and dword [ebp - 0xa8], 0
jmp 0x1232a8c
mov edx, dword [ebp - 0xb8]
cmp dword [eax], edx
jne 0x1232af5
mov edx, dword [ebp - 0xa8]
movzx edx, word [eax + edx*2 + 8]
and edx, 0xfff
cmp edx, dword [ebp - 0xb4]
jae 0x1232c05
mov edx, dword [ebp - 0xa8]
inc dword [ebp - 0xa8]
mov edi, 0xf000
test word [eax + edx*2 + 8], di
mov edi, 0x72d985af
je 0x1232a72
and dword [ebp - 0x6c], 0
lea edx, [eax + edx*2 + 8]
mov eax, dword [eax]
movzx edx, word [edx]
and edx, 0xfff
lea eax, [eax + edx + 0x1000000]
mov edx, eax
sub edx, dword [ebp - 0x78]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x80], edx
je 0x1232b93
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
movzx eax, byte [eax + edx]
add eax, edi
mov edx, edi
add dword [ebp - 0xf0], eax
add eax, dword [ebp - 0xec]
imul eax, eax, 0x72d985af
ror eax, 9
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 - 0xf0], eax
inc dword [ebp - 0x6c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x80]
jb 0x1232b3d
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
sub eax, dword [ebp - 0xa0]
and dword [ebp - 0x6c], 0
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x6c]
movzx eax, byte [ebp + eax - 0x138]
add eax, edi
add dword [ebp - 0xf0], eax
mov edx, edi
add eax, dword [ebp - 0xec]
imul eax, eax, 0x72d985af
ror eax, 9
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 - 0xf0], eax
inc dword [ebp - 0x6c]
cmp dword [ebp - 0x6c], 4
mov dword [ebp - 0xec], eax
jb 0x1232ba5
mov eax, dword [ebp - 0x5c]
add eax, 4
mov dword [ebp - 0x78], eax
jmp 0x1232a6c
mov eax, dword [ebp - 0x8c]
and dword [ebp - 0x6c], 0
sub eax, dword [ebp - 0x78]
mov dword [ebp - 0x5c], eax
je 0x1232c6a
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x78]
movzx eax, byte [eax + edx]
add eax, edi
add dword [ebp - 0xf0], eax
add eax, dword [ebp - 0xec]
mov edx, edi
imul eax, eax, 0x72d985af
ror eax, 9
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 - 0xf0], eax
inc dword [ebp - 0x6c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x5c]
jb 0x1232c17
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0xf0]
mov byte [ebp + eax - 0x1c], cl
inc eax
cmp eax, 8
jb 0x1232c6c
mov eax, 0x33c5cc6
mov eax, dword [ebp - 0x90]
mov edi, dword [ebp - 0x94]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x68]
and eax, 7
mov dword [ebp - 0x5c], eax
je 0x1232eae
mov edx, dword [ebp - 0x88]
not edx
xor ecx, ecx
mov dword [ebp - 0x8c], ecx
cmp eax, ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x60], ecx
jle 0x1232cf1
mov dword [ebp - 0x6c], 0x38
movzx ebx, byte [edi]
mov ecx, dword [ebp - 0x6c]
cmp dword [ebp - 0x60], 4
jge 0x1232cdc
add ecx, 0xffffffe0
shl ebx, cl
or dword [ebp - 0x70], ebx
jmp 0x1232ce4
shl ebx, cl
or dword [ebp - 0x8c], ebx
sub dword [ebp - 0x6c], 8
inc edi
inc dword [ebp - 0x60]
cmp dword [ebp - 0x60], eax
jl 0x1232cc6
mov eax, edx
movzx ecx, word [ebp - 0x1c]
sub eax, dword [ebp - 0x18]
sub eax, ecx
xor eax, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 0x18]
xor ecx, eax
sub ebx, ecx
xor edx, ebx
movzx ecx, word [ebp - 0x18]
mov dword [ebp - 0x60], edx
sub edx, ecx
xor edx, dword [ebp - 0x1c]
xor eax, edx
mov ebx, eax
movzx ecx, word [ebp - 0x16]
movzx edx, word [ebp - 0x1a]
xor ecx, eax
rol ecx, 7
imul edx, ecx
mov ecx, dword [ebp - 0x18]
rol ebx, 0xf
add ebx, edx
xor dword [ebp - 0x60], ebx
mov edx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x6c]
sub ecx, dword [ebp - 0x60]
rol ecx, 6
imul ebx, ecx
ror edx, 9
mov ecx, dword [ebp - 0x6c]
sub ebx, edx
xor eax, ebx
movzx edx, word [ebp - 0x16]
mov ebx, eax
xor ecx, eax
rol ecx, 5
imul edx, ecx
ror ebx, 1
movzx ecx, word [ebp - 0x18]
sub edx, ebx
xor dword [ebp - 0x60], edx
mov ebx, dword [ebp - 0x60]
movzx edx, word [ebp - 0x16]
ror ebx, 2
sub ebx, ecx
imul ebx, edx
mov edx, ecx
movzx ecx, word [ebp - 0x1a]
xor eax, ebx
xor edx, eax
imul edx, ecx
mov ebx, dword [ebp - 0x6c]
mov ecx, eax
shr ecx, 0xc
xor edx, ecx
xor dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x60]
ror ecx, 6
imul ebx, ecx
rol edx, 4
movzx ecx, word [ebp - 0x16]
add edx, ebx
mov ebx, dword [ebp - 0x6c]
xor eax, edx
mov edx, eax
xor ebx, eax
imul ebx, ecx
ror edx, 3
add edx, ebx
xor dword [ebp - 0x60], edx
movzx edx, word [ebp - 0x18]
mov ecx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x1c]
rol ecx, 4
ror ebx, 0xc
imul edx, ecx
add ebx, edx
mov edx, dword [ebp - 0x18]
xor eax, ebx
mov ebx, eax
movzx ecx, dx
sub ebx, ecx
movzx ecx, word [ebp - 0x1a]
imul ebx, ecx
mov ecx, eax
shr ecx, 0xe
sub ebx, ecx
xor dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
sub edx, dword [ebp - 0x60]
ror edx, 0xc
mov ecx, dword [ebp - 0x6c]
imul ecx, edx
mov edx, dword [ebp - 0x60]
xor edx, dword [ebp - 0x8c]
and dword [ebp - 0x60], 0
rol ebx, 7
add ebx, ecx
xor ebx, dword [ebp - 0x70]
xor eax, ebx
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x78], eax
test ecx, ecx
mov dword [ebp - 0x98], edx
jle 0x1232e62
mov ebx, dword [ebp - 0x74]
inc dword [ebp - 0x74]
cmp dword [ebp - 0x60], 4
jge 0x1232e45
rol dword [ebp - 0x78], 8
mov cl, byte [ebp - 0x78]
mov byte [ebx], cl
jmp 0x1232e54
rol dword [ebp - 0x98], 8
mov cl, byte [ebp - 0x98]
mov byte [ebx], cl
xor byte [ebp - 0x55], cl
inc dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
cmp dword [ebp - 0x60], ecx
jl 0x1232e2e
lea ebx, [ecx - 4]
test ebx, ebx
jle 0x1232e9b
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr edx, cl
shl edx, cl
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x68]
shr ecx, 3
test ecx, ecx
jbe 0x123308e
movzx ebx, word [ebp - 0x16]
mov dword [ebp - 0x6c], ebx
movzx ebx, word [ebp - 0x1a]
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x5c], ecx
jmp 0x1232ec8
xor edx, edx
test ebx, ebx
jge 0x1232e75
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x1232e75
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x70], eax
not eax
mov dword [ebp - 0x8c], eax
xor edx, edx
xor eax, eax
jmp 0x1232e7a
mov edi, dword [ebp - 0x80]
movzx ecx, byte [edi]
shl ecx, 8
movzx ebx, byte [edi + 1]
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi + 2]
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi + 3]
or ecx, ebx
movzx ebx, byte [edi + 5]
mov dword [ebp - 0x78], ecx
movzx ecx, byte [edi + 4]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi + 6]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi + 7]
add edi, 8
shl ecx, 8
or ecx, ebx
xor edx, ecx
mov dword [ebp - 0x80], edi
mov edi, edx
mov dword [ebp - 0x98], ecx
mov ebx, dword [ebp - 0x64]
movzx ecx, word [ebp - 0x1c]
sub edi, dword [ebp - 0x18]
sub edi, ecx
xor edi, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x18]
xor eax, edi
mov edi, dword [ebp - 0x1c]
xor ecx, eax
sub edi, ecx
movzx ecx, word [ebp - 0x18]
xor edx, edi
mov edi, edx
sub edi, ecx
xor edi, dword [ebp - 0x1c]
xor eax, edi
mov edi, eax
mov ecx, dword [ebp - 0x6c]
xor ecx, eax
rol ecx, 7
imul ebx, ecx
mov ecx, dword [ebp - 0x18]
rol edi, 0xf
add edi, ebx
xor edx, edi
sub ecx, edx
mov ebx, edx
movzx edi, word [ebp - 0x1c]
rol ecx, 6
imul edi, ecx
ror ebx, 9
movzx ecx, word [ebp - 0x1c]
sub edi, ebx
mov ebx, dword [ebp - 0x6c]
xor eax, edi
xor ecx, eax
rol ecx, 5
mov edi, eax
imul ebx, ecx
ror edi, 1
sub ebx, edi
movzx ecx, word [ebp - 0x18]
xor edx, ebx
mov edi, edx
ror edi, 2
sub edi, ecx
imul edi, dword [ebp - 0x6c]
xor eax, edi
xor ecx, eax
imul ecx, dword [ebp - 0x64]
mov edi, eax
shr edi, 0xc
xor ecx, edi
movzx edi, word [ebp - 0x1c]
xor edx, ecx
mov ebx, edx
mov ecx, dword [ebp - 0x18]
xor ecx, edx
ror ecx, 6
imul edi, ecx
rol ebx, 4
add ebx, edi
xor eax, ebx
movzx ecx, word [ebp - 0x1c]
xor ecx, eax
imul ecx, dword [ebp - 0x6c]
mov edi, eax
ror edi, 3
add edi, ecx
xor edx, edi
mov ebx, edx
mov ecx, edx
sub ecx, dword [ebp - 0x1c]
rol ecx, 4
movzx edi, word [ebp - 0x18]
imul edi, ecx
ror ebx, 0xc
movzx ecx, word [ebp - 0x18]
add ebx, edi
xor eax, ebx
mov edi, eax
sub edi, ecx
imul edi, dword [ebp - 0x64]
mov ecx, eax
shr ecx, 0xe
sub edi, ecx
mov ecx, dword [ebp - 0x18]
xor edx, edi
movzx edi, word [ebp - 0x1c]
mov ebx, edx
sub ecx, edx
ror ecx, 0xc
imul edi, ecx
xor edx, dword [ebp - 0x8c]
rol ebx, 7
mov cl, byte [ebp - 0x55]
add ebx, edi
mov edi, dword [ebp - 0x74]
xor ebx, dword [ebp - 0x70]
xor eax, ebx
xor cl, al
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
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 - 0x78]
mov byte [edi], al
mov byte [edi + 4], dl
add edi, 8
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x98]
dec dword [ebp - 0x5c]
mov dword [ebp - 0x8c], ecx
ror eax, 8
ror edx, 8
mov dword [ebp - 0x74], edi
jne 0x1232ec5
mov ebx, 0xfffffff
mov eax, dword [ebp - 0x9c]
mov al, byte [eax + 8]
xor al, byte [ebp - 0x55]
je 0x1233132
call fcn.010bfbea
mov esi, 0x12e07d9
mov ecx, 0xfffff000
and eax, ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x10c]
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 [0x138b4cc]
shr dword [ebp - 0x64], 0x10
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x138b4cc], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
cmp dword [ebp - 0x64], 0
jne 0x12330d5
xor edx, edx
div ecx
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x5c]
inc edx
mov dword [eax], edx
cmp edi, ebx
mov dword [eax + 0x1c], ecx
mov dword [ebp - 0x5c], 0
mov eax, edi
jae 0x123312b
mov ecx, dword [ebp - 0x5c]
mov dword [eax], ecx
add eax, 4
cmp eax, ebx
jb 0x123311f
mov eax, esi
jmp 0x1238e48
mov ecx, dword [0x102c94c]
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0x90]
sub esi, ecx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x80], esi
jne 0x1233156
test eax, eax
je 0x1233215
mov esi, dword [ebp - 0x90]
mov eax, dword [ebp - 0x68]
mov ecx, dword [0x1069ab8]
sub esi, dword [ebp - 0x94]
mov edi, dword [ebp - 0x88]
add eax, edi
mov dword [ebp - 0x138], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
dec ecx
js 0x12331a7
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1069abc]
and edx, ebx
cmp edi, edx
jae 0x123319d
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x5c]
jmp 0x12331a3
jbe 0x12331a7
inc eax
mov dword [ebp - 0x5c], eax
cmp ecx, eax
jge 0x1233181
mov dword [ebp - 0x8c], eax
jmp 0x1233207
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax*4 + 0x1069abc]
mov ecx, eax
and ecx, ebx
cmp ecx, dword [ebp - 0x138]
jae 0x1233215
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 0x12331f5
dec ecx
je 0x12331f0
dec ecx
jne 0x12331fb
mov edx, dword [ebp - 0x80]
jmp 0x12331fb
mov edx, dword [ebp - 0x64]
jmp 0x12331fb
mov edx, dword [ebp - 0x80]
sub edx, dword [ebp - 0x64]
dec eax
dec eax
jne 0x1233201
add dword [edi], edx
inc dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
cmp eax, dword [0x1069ab8]
jb 0x12331af
mov eax, dword [0x10fb370]
mov eax, 0x1370a55f
mov eax, dword [ebp - 0x90]
jmp 0x1238e48
mov ecx, dword [ebp - 0x94]
cmp ecx, esi
jb 0x1233c31
mov eax, dword [0x100003c]
mov eax, dword [eax + 0x1000050]
add eax, esi
cmp dword [ebp - 0x94], eax
jae 0x1233c31
mov ecx, dword [ebp - 0x94]
mov eax, dword [0x12e5030]
and dword [ebp - 0x64], 0
sub ecx, esi
dec eax
mov dword [ebp - 0x5c], eax
js 0x123329d
mov edx, dword [ebp - 0x64]
add eax, edx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax*8 + 0x101e728]
mov dword [ebp - 0x80], edx
mov edx, dword [edx + 4]
and edx, ebx
cmp ecx, edx
jae 0x123328b
dec eax
mov dword [ebp - 0x5c], eax
jmp 0x1233298
jbe 0x12333eb
inc eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x64]
jge 0x1233268
xor ecx, ecx
test ecx, ecx
je 0x1233c31
mov eax, dword [ecx]
mov edx, eax
shr eax, 1
and eax, ebx
shr edx, 0x1d
lea ecx, [edx + ecx + 8]
mov edx, eax
lea eax, [ecx + edx]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x10fb370]
sub eax, edx
mov dword [ebp - 0x88], ecx
sub dword [ebp - 0x88], esi
mov dword [ebp - 0x94], ecx
lea ecx, [eax + 1]
xor eax, eax
mov dword [ebp - 0x6c], edx
test ecx, ecx
mov dword [ebp - 0x64], ecx
je 0x1233313
mov edx, dword [0x138b4cc]
shr dword [ebp - 0x64], 0x10
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x138b4cc], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
cmp dword [ebp - 0x64], 0
jne 0x12332e9
xor edx, edx
div ecx
lea eax, [edi + edx]
push eax
push dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
push dword [ebp - 0x88]
mov eax, 0xc8d5c0fe
mov eax, dword [ebp - 0x9c]
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, 0x58874561
mov ecx, dword [0x102c94c]
mov eax, dword [ebp - 0x13c]
and dword [ebp - 0xc0], 0
and dword [ebp - 0xbc], 0
and eax, ebx
mov dword [ebp - 0x90], eax
mov eax, esi
and edi, ebx
add edi, esi
add esp, 0x10
mov dword [ebp - 0x78], edi
sub eax, ecx
mov dword [ebp - 0x68], eax
jne 0x1233406
xor edi, edi
cmp dword [ebp - 0x90], edi
jbe 0x1233694
mov ecx, 0x7fffffff
mov edx, 0xaba54d66
mov eax, dword [ebp - 0x78]
movzx eax, byte [eax + edi]
sub eax, 0x545ab29a
add dword [ebp - 0xc0], eax
add eax, dword [ebp - 0xbc]
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 - 0xc0], eax
mov dword [ebp - 0xbc], eax
inc edi
cmp edi, dword [ebp - 0x90]
jb 0x123339b
jmp 0x1233694
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shr ecx, 1
and ecx, 0x3f
and eax, ebx
lea ecx, [eax + ecx + 0x1000000]
jmp 0x123329f
mov edx, dword [0x100003c]
lea edx, [edx + 0x10000a0]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x78]
add eax, ecx
sub ecx, esi
mov edi, ecx
and edi, 0xfffff000
mov dword [ebp - 0x64], edi
mov edi, ecx
sub edi, dword [ebp - 0x64]
mov dword [ebp - 0x5c], edi
mov edi, dword [ebp - 0x90]
mov dword [ebp - 0xa0], eax
mov eax, dword [edx]
mov edx, dword [edx + 4]
add ecx, edi
add eax, esi
mov edi, ecx
and edi, 0xfffff000
sub ecx, edi
add edx, eax
mov dword [ebp - 0xb8], edi
mov edi, eax
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb0], edx
cmp eax, edx
je 0x1233479
mov eax, dword [ebp - 0x64]
cmp dword [edi], eax
jae 0x1233479
add edi, dword [edi + 4]
cmp edi, edx
jne 0x123346b
and dword [ebp - 0xa8], 0
cmp edi, edx
je 0x12334b6
mov eax, dword [ebp - 0x64]
cmp dword [edi], eax
jne 0x12334b6
mov eax, dword [edi + 4]
sub eax, 8
shr eax, 1
je 0x12334b6
lea ecx, [edi + 8]
movzx edx, word [ecx]
and edx, 0xfff
cmp edx, dword [ebp - 0x5c]
jae 0x12334b6
inc dword [ebp - 0xa8]
inc ecx
inc ecx
cmp dword [ebp - 0xa8], eax
jne 0x1233498
mov ecx, 0x7fffffff
cmp edi, dword [ebp - 0xb0]
je 0x123363c
mov eax, dword [ebp - 0xb8]
cmp dword [edi], eax
ja 0x123363c
mov edx, dword [ebp - 0xa8]
mov eax, dword [edi + 4]
add eax, 0xfffffff8
shr eax, 1
cmp edx, eax
jne 0x1233508
add edi, dword [edi + 4]
cmp edi, dword [ebp - 0xb0]
je 0x123363c
mov eax, dword [ebp - 0xb8]
cmp dword [edi], eax
ja 0x123363c
xor edx, edx
jmp 0x12334db
mov eax, dword [ebp - 0xb8]
cmp dword [edi], eax
jne 0x1233528
movzx eax, word [edi + edx*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0xb4]
jae 0x123363c
mov eax, edx
inc edx
mov dword [ebp - 0xa8], edx
mov edx, 0xf000
test word [edi + eax*2 + 8], dx
je 0x12334bb
mov edx, dword [edi]
lea eax, [edi + eax*2 + 8]
and dword [ebp - 0x90], 0
movzx eax, word [eax]
and eax, 0xfff
lea eax, [eax + edx + 0x1000000]
mov dword [ebp - 0x5c], eax
sub eax, dword [ebp - 0x78]
mov dword [ebp - 0x80], eax
je 0x12335c1
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x90]
movzx eax, byte [eax + edx]
sub eax, 0x545ab29a
mov edx, 0xaba54d66
add dword [ebp - 0xc0], eax
add eax, dword [ebp - 0xbc]
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 - 0xc0], eax
inc dword [ebp - 0x90]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp - 0x80]
jb 0x1233568
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
sub eax, dword [ebp - 0x68]
and dword [ebp - 0x90], 0
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x90]
mov edx, 0xaba54d66
movzx eax, byte [ebp + eax - 0x12c]
sub eax, 0x545ab29a
add dword [ebp - 0xc0], eax
add eax, dword [ebp - 0xbc]
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 - 0xc0], eax
inc dword [ebp - 0x90]
cmp dword [ebp - 0x90], 4
mov dword [ebp - 0xbc], eax
jb 0x12335d6
mov eax, dword [ebp - 0x5c]
add eax, 4
mov dword [ebp - 0x78], eax
jmp 0x12334bb
mov eax, dword [ebp - 0xa0]
xor edi, edi
sub eax, dword [ebp - 0x78]
mov dword [ebp - 0x5c], eax
je 0x1233694
mov eax, dword [ebp - 0x78]
mov edx, 0xaba54d66
movzx eax, byte [eax + edi]
sub eax, 0x545ab29a
add dword [ebp - 0xc0], eax
add eax, dword [ebp - 0xbc]
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 - 0xc0], eax
mov dword [ebp - 0xbc], eax
inc edi
cmp edi, dword [ebp - 0x5c]
jb 0x123364c
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0xc0]
mov byte [ebp + eax - 0x4c], cl
inc eax
cmp eax, 8
jb 0x1233696
mov eax, 0xa32046fc
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x94]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x8c], edi
and eax, 7
mov dword [ebp - 0x5c], eax
je 0x12338cd
xor ecx, ecx
cmp eax, ecx
mov edx, dword [ebp - 0x88]
not edx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x60], ecx
jle 0x123372d
mov dword [ebp - 0x90], 0x38
movzx ebx, byte [edi]
cmp dword [ebp - 0x60], 4
mov ecx, dword [ebp - 0x90]
jge 0x123370f
add ecx, 0xffffffe0
shl ebx, cl
or dword [ebp - 0x70], ebx
jmp 0x1233717
shl ebx, cl
or dword [ebp - 0x98], ebx
sub dword [ebp - 0x90], 8
inc edi
inc dword [ebp - 0x60]
cmp dword [ebp - 0x60], eax
jl 0x12336f6
mov dword [ebp - 0x8c], edi
mov edi, dword [ebp - 0x88]
movzx ecx, word [ebp - 0x46]
sub edi, ecx
xor edi, edx
xor edi, dword [ebp - 0x4c]
movzx edx, word [ebp - 0x48]
mov eax, edi
not eax
ror eax, 5
add eax, edx
imul eax, ecx
xor eax, dword [ebp - 0x88]
mov dword [ebp - 0x60], ecx
mov ecx, eax
mov dword [ebp - 0x64], edx
xor ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
sub edx, ecx
mov ecx, dword [ebp - 0x48]
xor edi, edx
mov ebx, edi
sub ecx, edi
movzx edx, word [ebp - 0x4c]
rol ecx, 0xe
imul edx, ecx
ror ebx, 0xb
add ebx, edx
xor eax, ebx
mov ebx, dword [ebp - 0x60]
mov edx, eax
mov ecx, eax
xor ecx, dword [ebp - 0x4c]
rol ecx, 7
imul ebx, ecx
rol edx, 0xd
mov ecx, dword [ebp - 0x60]
xor edx, ebx
xor edi, edx
xor ecx, edi
mov edx, dword [ebp - 0x64]
rol ecx, 2
imul edx, ecx
mov ecx, edi
shr ecx, 0xc
add edx, ecx
xor eax, edx
mov ebx, eax
movzx edx, word [ebp - 0x4a]
mov ecx, eax
sub ecx, dword [ebp - 0x48]
rol ecx, 5
imul edx, ecx
ror ebx, 0xb
mov ecx, dword [ebp - 0x64]
xor ebx, edx
xor edi, ebx
xor ecx, edi
movzx edx, word [ebp - 0x4c]
mov ebx, edi
rol ecx, 1
imul edx, ecx
rol ebx, 1
sub edx, ebx
xor eax, edx
mov edx, eax
mov ebx, eax
mov ecx, dword [ebp - 0x64]
sub edx, ecx
imul edx, dword [ebp - 0x60]
shr ebx, 1
sub edx, ebx
xor edi, edx
mov ebx, edi
mov edx, dword [ebp - 0x4c]
sub edx, edi
rol edx, 0xe
imul ecx, edx
rol ebx, 7
sub ecx, ebx
mov ebx, dword [ebp - 0x5c]
xor eax, ecx
movzx ecx, word [ebp - 0x4a]
mov edx, eax
ror edx, 6
sub edx, ecx
mov ecx, dword [ebp - 0x60]
imul edx, ecx
and dword [ebp - 0x60], 0
xor edi, edx
movzx edx, word [ebp - 0x4c]
xor ecx, edi
imul ecx, edx
mov edx, edi
xor edi, dword [ebp - 0x98]
shr edx, 7
add ecx, edx
xor ecx, dword [ebp - 0x70]
xor eax, ecx
test ebx, ebx
mov dword [ebp - 0x78], eax
mov ecx, edi
jle 0x1233872
cmp dword [ebp - 0x60], 4
jge 0x1233859
rol dword [ebp - 0x78], 8
mov ebx, dword [ebp - 0x74]
mov dl, byte [ebp - 0x78]
inc dword [ebp - 0x74]
xor byte [ebp - 0x55], dl
mov byte [ebx], dl
jmp 0x1233867
mov edx, dword [ebp - 0x74]
inc dword [ebp - 0x74]
rol ecx, 8
xor byte [ebp - 0x55], cl
mov byte [edx], cl
inc dword [ebp - 0x60]
mov ebx, dword [ebp - 0x5c]
cmp dword [ebp - 0x60], ebx
jl 0x123383f
add ebx, 0xfffffffc
test ebx, ebx
jle 0x12338ba
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr edi, cl
shl edi, cl
mov edx, edi
mov ebx, 0xfffffff
mov edi, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x6c]
shr ecx, 3
test ecx, ecx
jbe 0x1233a9c
movzx ebx, word [ebp - 0x4a]
mov dword [ebp - 0x5c], ebx
movzx ebx, word [ebp - 0x46]
mov dword [ebp - 0x60], ebx
movzx ebx, word [ebp - 0x4c]
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x64], ecx
jmp 0x12338ea
xor edx, edx
test ebx, ebx
jge 0x1233887
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x1233887
xor edx, edx
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x70], eax
not eax
mov dword [ebp - 0x98], eax
xor eax, eax
jmp 0x1233892
mov edi, dword [ebp - 0x8c]
movzx ecx, byte [edi + 1]
movzx ebx, byte [edi]
shl ebx, 8
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi + 2]
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi + 3]
or ecx, ebx
movzx ebx, byte [edi + 5]
mov dword [ebp - 0x78], ecx
xor eax, dword [ebp - 0x78]
movzx ecx, byte [edi + 4]
shl ecx, 8
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi + 6]
or ecx, ebx
movzx ebx, byte [edi + 7]
add edi, 8
shl ecx, 8
or ecx, ebx
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x68], ecx
mov ebx, dword [ebp - 0x80]
mov edi, eax
sub edi, dword [ebp - 0x60]
xor edi, ecx
movzx ecx, word [ebp - 0x48]
xor edi, edx
xor edi, dword [ebp - 0x4c]
mov edx, edi
not edi
ror edi, 5
add edi, ecx
imul edi, dword [ebp - 0x60]
xor eax, edi
mov edi, dword [ebp - 0x4c]
mov ecx, eax
xor ecx, dword [ebp - 0x48]
sub edi, ecx
mov ecx, dword [ebp - 0x48]
xor edx, edi
sub ecx, edx
mov edi, edx
rol ecx, 0xe
imul ebx, ecx
ror edi, 0xb
add edi, ebx
xor eax, edi
mov ebx, dword [ebp - 0x60]
mov ecx, eax
xor ecx, dword [ebp - 0x4c]
rol ecx, 7
mov edi, eax
imul ebx, ecx
mov ecx, dword [ebp - 0x60]
rol edi, 0xd
xor edi, ebx
mov ebx, dword [ebp - 0x5c]
xor edx, edi
movzx edi, word [ebp - 0x48]
xor ecx, edx
rol ecx, 2
imul edi, ecx
mov ecx, edx
shr ecx, 0xc
add edi, ecx
xor eax, edi
mov ecx, eax
sub ecx, dword [ebp - 0x48]
mov edi, eax
rol ecx, 5
imul ebx, ecx
ror edi, 0xb
movzx ecx, word [ebp - 0x48]
xor edi, ebx
xor edx, edi
xor ecx, edx
mov ebx, edx
movzx edi, word [ebp - 0x4c]
rol ecx, 1
imul edi, ecx
rol ebx, 1
sub edi, ebx
xor eax, edi
mov ebx, eax
mov ecx, eax
movzx edi, word [ebp - 0x48]
sub ecx, edi
imul ecx, dword [ebp - 0x60]
shr ebx, 1
sub ecx, ebx
xor edx, ecx
mov ebx, edx
mov ecx, dword [ebp - 0x4c]
sub ecx, edx
rol ecx, 0xe
imul edi, ecx
rol ebx, 7
sub edi, ebx
xor eax, edi
mov edi, dword [ebp - 0x60]
mov ecx, eax
ror ecx, 6
sub ecx, dword [ebp - 0x5c]
imul ecx, dword [ebp - 0x60]
xor edx, ecx
movzx ecx, word [ebp - 0x4c]
mov dword [ebp - 0x80], ecx
xor edi, edx
imul edi, ecx
mov ecx, edx
xor edx, dword [ebp - 0x98]
shr ecx, 7
add edi, ecx
xor edi, dword [ebp - 0x70]
mov cl, byte [ebp - 0x55]
xor eax, edi
mov edi, dword [ebp - 0x74]
xor cl, al
xor cl, dl
mov byte [edi + 3], al
mov byte [edi + 7], dl
ror eax, 8
xor cl, al
ror edx, 8
mov byte [edi + 2], al
xor cl, dl
ror eax, 8
xor cl, al
mov byte [edi + 6], dl
ror edx, 8
xor cl, dl
mov byte [edi + 1], al
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 - 0x78]
mov byte [edi], al
mov byte [edi + 4], dl
mov dword [ebp - 0x70], ecx
add edi, 8
mov ecx, dword [ebp - 0x68]
dec dword [ebp - 0x64]
mov dword [ebp - 0x98], ecx
ror eax, 8
ror edx, 8
mov dword [ebp - 0x74], edi
jne 0x12338e4
mov ebx, 0xfffffff
mov eax, dword [ebp - 0x9c]
mov al, byte [eax + 8]
xor al, byte [ebp - 0x55]
je 0x1233b42
call fcn.010bfbea
mov esi, 0x12e07d9
mov ecx, 0xfffff000
and eax, ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x10c]
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 [0x138b4cc]
shr dword [ebp - 0x64], 0x10
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x138b4cc], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
cmp dword [ebp - 0x64], 0
jne 0x1233ae3
xor edx, edx
div ecx
mov eax, dword [ebp - 0x110]
inc edx
cmp edi, ebx
mov ecx, dword [ebp - 0x5c]
mov dword [eax], edx
mov dword [eax + 0x1c], ecx
mov eax, edi
mov dword [ebp - 0x5c], 0
jae 0x123312b
mov ecx, dword [ebp - 0x5c]
mov dword [eax], ecx
add eax, 4
cmp eax, ebx
jb 0x1233b31
jmp 0x123312b
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0x7c]
mov ecx, dword [0x102c94c]
sub esi, ecx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x80], esi
jne 0x1233b63
test eax, eax
je 0x1233c1f
mov eax, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x88]
mov ecx, dword [0x1069ab8]
mov esi, dword [ebp - 0x7c]
sub esi, dword [ebp - 0x94]
add eax, edi
mov dword [ebp - 0x12c], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
dec ecx
js 0x1233bb1
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1069abc]
and edx, ebx
cmp edi, edx
jae 0x1233ba7
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x5c]
jmp 0x1233bad
jbe 0x1233bb1
inc eax
mov dword [ebp - 0x5c], eax
cmp ecx, eax
jge 0x1233b8b
mov dword [ebp - 0x8c], eax
jmp 0x1233c11
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax*4 + 0x1069abc]
mov ecx, eax
and ecx, ebx
cmp ecx, dword [ebp - 0x12c]
jae 0x1233c1f
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 0x1233bff
dec ecx
je 0x1233bfa
dec ecx
jne 0x1233c05
mov edx, dword [ebp - 0x80]
jmp 0x1233c05
mov edx, dword [ebp - 0x64]
jmp 0x1233c05
mov edx, dword [ebp - 0x80]
sub edx, dword [ebp - 0x64]
dec eax
dec eax
jne 0x1233c0b
add dword [edi], edx
inc dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
cmp eax, dword [0x1069ab8]
jb 0x1233bb9
mov eax, dword [0x10fb370]
mov eax, 0xc9ee81b8
mov eax, dword [ebp - 0x7c]
jmp 0x1238e48
cmp dword [ebp - 0x94], esi
jb 0x12346a2
mov eax, dword [0x100003c]
mov eax, dword [eax + 0x1000050]
add eax, esi
cmp dword [ebp - 0x94], eax
jae 0x12346a2
mov ecx, dword [ebp - 0x94]
mov eax, dword [0x1345138]
and dword [ebp - 0x64], 0
sub ecx, esi
dec eax
mov dword [ebp - 0x5c], eax
js 0x1233ca1
mov edx, dword [ebp - 0x64]
add eax, edx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax*8 + 0x10556c0]
mov dword [ebp - 0x80], edx
mov edx, dword [edx]
and edx, ebx
cmp ecx, edx
jae 0x1233c8f
dec eax
mov dword [ebp - 0x5c], eax
jmp 0x1233c9c
jbe 0x1233e08
inc eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x64]
jge 0x1233c6d
xor eax, eax
test eax, eax
je 0x12346a2
mov ecx, dword [eax + 4]
and ecx, 7
lea edx, [ecx + eax + 8]
mov ecx, dword [eax]
shr ecx, 2
and ecx, ebx
lea eax, [ecx + edx]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x10fb370]
sub eax, ecx
mov dword [ebp - 0x88], edx
sub dword [ebp - 0x88], esi
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x68], ecx
lea edx, [eax + 1]
xor eax, eax
test edx, edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x64], edx
je 0x1233d1a
mov edx, dword [0x138b4cc]
shr dword [ebp - 0x64], 0x10
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x138b4cc], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
cmp dword [ebp - 0x64], 0
jne 0x1233cf0
xor edx, edx
div dword [ebp - 0x5c]
lea eax, [edi + edx]
push eax
push ecx
push dword [ebp - 0x88]
mov dword [ebp - 0x6c], eax
mov eax, 0x53b46a13
mov eax, dword [ebp - 0x9c]
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, 0x239a3624
mov eax, dword [ebp - 0x14c]
mov ecx, dword [0x102c94c]
and dword [ebp - 0xd0], 0
and dword [ebp - 0xcc], 0
and eax, ebx
and edi, ebx
add esp, 0x10
mov edx, eax
add edi, esi
mov dword [ebp - 0x5c], edx
mov eax, esi
sub eax, ecx
mov dword [ebp - 0x7c], eax
jne 0x1233e21
and dword [ebp - 0x90], 0
test edx, edx
jbe 0x12340ea
mov eax, dword [ebp - 0x90]
movzx ecx, byte [eax + edi]
sub ecx, 0x1279a1d2
add dword [ebp - 0xd0], ecx
add ecx, dword [ebp - 0xcc]
mov eax, ecx
imul eax, eax, 0x2a75
rol eax, 0xe
ror ecx, 0xe
xor eax, ecx
mov ecx, eax
imul ecx, ecx, 0x2a75
rol ecx, 0xe
ror eax, 0xe
xor ecx, eax
mov eax, ecx
imul eax, eax, 0x2a75
rol eax, 0xe
ror ecx, 0xe
xor eax, ecx
add dword [ebp - 0xd0], eax
inc dword [ebp - 0x90]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0x90], edx
jb 0x1233d9d
jmp 0x12340ea
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
and ecx, 0x3f
and eax, ebx
lea eax, [eax + ecx + 0x1000000]
jmp 0x1233ca3
lea eax, [edi + edx]
mov edx, dword [0x100003c]
mov dword [ebp - 0x8c], eax
lea edx, [edx + 0x10000a0]
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov dword [ebp - 0x80], edx
mov ecx, edi
sub ecx, esi
mov edx, ecx
and edx, 0xfffff000
mov dword [ebp - 0x64], edx
mov edx, ecx
sub edx, dword [ebp - 0x64]
mov dword [ebp - 0xa0], edx
mov edx, dword [ebp - 0x5c]
add eax, esi
add ecx, edx
mov edx, ecx
and edx, 0xfffff000
sub ecx, edx
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0x80]
add ecx, eax
cmp eax, ecx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb0], ecx
je 0x1233e96
mov ecx, dword [ebp - 0x64]
cmp dword [eax], ecx
jae 0x1233e96
add eax, dword [eax + 4]
cmp eax, dword [ebp - 0xb0]
jne 0x1233e84
and dword [ebp - 0xa8], 0
cmp eax, dword [ebp - 0xb0]
je 0x1234083
mov ecx, dword [ebp - 0x64]
cmp dword [eax], ecx
jne 0x1233eec
mov ecx, dword [eax + 4]
sub ecx, 8
shr ecx, 1
mov dword [ebp - 0x5c], ecx
je 0x1233eec
lea ecx, [eax + 8]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
movzx ecx, word [ecx]
and ecx, 0xfff
cmp ecx, dword [ebp - 0xa0]
jae 0x1233eec
inc dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xa8]
add dword [ebp - 0x64], 2
cmp ecx, dword [ebp - 0x5c]
jne 0x1233ec3
cmp eax, dword [ebp - 0xb0]
je 0x1234083
mov ecx, dword [ebp - 0xb8]
cmp dword [eax], ecx
ja 0x1234083
mov ecx, dword [eax + 4]
lea edx, [ecx - 8]
mov ecx, dword [ebp - 0xa8]
shr edx, 1
cmp ecx, edx
jne 0x1233f3e
add eax, dword [eax + 4]
cmp eax, dword [ebp - 0xb0]
je 0x1234083
mov ecx, dword [ebp - 0xb8]
cmp dword [eax], ecx
ja 0x1234083
and dword [ebp - 0xa8], 0
jmp 0x1233f06
mov edx, dword [ebp - 0xb8]
cmp dword [eax], edx
jne 0x1233f5f
movzx ecx, word [eax + ecx*2 + 8]
and ecx, 0xfff
cmp ecx, dword [ebp - 0xb4]
jae 0x1234083
mov ecx, dword [ebp - 0xa8]
inc dword [ebp - 0xa8]
mov edx, 0xf000
test word [eax + ecx*2 + 8], dx
je 0x1233eec
mov edx, dword [eax]
and dword [ebp - 0x90], 0
lea ecx, [eax + ecx*2 + 8]
movzx ecx, word [ecx]
and ecx, 0xfff
lea ecx, [ecx + edx + 0x1000000]
mov dword [ebp - 0x64], ecx
sub dword [ebp - 0x64], edi
mov dword [ebp - 0x5c], ecx
je 0x123400c
mov ecx, dword [ebp - 0x90]
movzx edx, byte [edi + ecx]
sub edx, 0x1279a1d2
add dword [ebp - 0xd0], edx
add edx, dword [ebp - 0xcc]
mov ecx, edx
imul ecx, ecx, 0x2a75
rol ecx, 0xe
ror edx, 0xe
xor ecx, edx
mov edx, ecx
imul edx, edx, 0x2a75
rol edx, 0xe
ror ecx, 0xe
xor edx, ecx
mov ecx, edx
imul ecx, ecx, 0x2a75
rol ecx, 0xe
ror edx, 0xe
xor ecx, edx
add dword [ebp - 0xd0], ecx
inc dword [ebp - 0x90]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebp - 0x90]
cmp ecx, dword [ebp - 0x64]
jb 0x1233fa3
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx]
sub ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x120], ecx
xor edi, edi
movzx edx, byte [ebp + edi - 0x120]
sub edx, 0x1279a1d2
add dword [ebp - 0xd0], edx
add edx, dword [ebp - 0xcc]
mov ecx, edx
imul ecx, ecx, 0x2a75
rol ecx, 0xe
ror edx, 0xe
xor ecx, edx
mov edx, ecx
imul edx, edx, 0x2a75
rol edx, 0xe
ror ecx, 0xe
xor edx, ecx
mov ecx, edx
imul ecx, ecx, 0x2a75
rol ecx, 0xe
ror edx, 0xe
xor ecx, edx
add dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], ecx
inc edi
cmp edi, 4
jb 0x123401c
mov edi, dword [ebp - 0x5c]
add edi, 4
jmp 0x1233eec
mov eax, dword [ebp - 0x8c]
xor edx, edx
sub eax, edi
mov dword [ebp - 0x5c], eax
je 0x12340ea
movzx ecx, byte [edx + edi]
sub ecx, 0x1279a1d2
add dword [ebp - 0xd0], ecx
add ecx, dword [ebp - 0xcc]
mov eax, ecx
imul eax, eax, 0x2a75
rol eax, 0xe
ror ecx, 0xe
xor eax, ecx
mov ecx, eax
imul ecx, ecx, 0x2a75
rol ecx, 0xe
ror eax, 0xe
xor ecx, eax
mov eax, ecx
imul eax, eax, 0x2a75
rol eax, 0xe
ror ecx, 0xe
xor eax, ecx
add dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
inc edx
cmp edx, dword [ebp - 0x5c]
jb 0x1234092
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0xd0]
mov byte [ebp + eax - 0x54], cl
inc eax
cmp eax, 8
jb 0x12340ec
mov eax, 0x1eb32c79
mov edi, dword [ebp - 0x94]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x68]
and eax, 7
mov dword [ebp - 0x5c], eax
je 0x1234336
mov ecx, dword [ebp - 0x88]
not ecx
mov dword [ebp - 0x60], ecx
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
cmp eax, ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x74], ecx
jle 0x123416b
push 0x38
pop edx
movzx ebx, byte [edi]
cmp dword [ebp - 0x74], 4
jge 0x1234158
lea ecx, [edx - 0x20]
shl ebx, cl
or dword [ebp - 0x8c], ebx
jmp 0x123415f
mov ecx, edx
shl ebx, cl
or dword [ebp - 0x7c], ebx
inc edi
inc dword [ebp - 0x74]
sub edx, 8
cmp dword [ebp - 0x74], eax
jl 0x1234142
movzx eax, word [ebp - 0x4e]
movzx edx, word [ebp - 0x50]
mov ebx, dword [ebp - 0x88]
mov ecx, edx
xor ecx, dword [ebp - 0x88]
rol ecx, 3
imul eax, ecx
rol ebx, 8
sub eax, ebx
xor dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x60]
movzx eax, word [ebp - 0x4e]
xor eax, dword [ebp - 0x60]
imul eax, edx
shr ecx, 7
add eax, ecx
xor eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x50]
add ecx, eax
mov dword [ebp - 0x98], edx
ror ecx, 1
mov ebx, eax
movzx edx, word [ebp - 0x52]
mov dword [ebp - 0x74], edx
imul edx, ecx
movzx ecx, word [ebp - 0x54]
rol ebx, 7
add ebx, edx
xor dword [ebp - 0x60], ebx
mov edx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x98]
ror edx, 8
sub edx, ecx
imul edx, dword [ebp - 0x98]
xor eax, edx
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
xor ecx, eax
sub edx, ecx
xor dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x60]
rol ecx, 3
imul ebx, ecx
ror edx, 0xf
xor edx, ebx
xor eax, edx
mov ecx, eax
sub ecx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x50]
xor dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x60]
movzx ecx, word [ebp - 0x4e]
xor ecx, dword [ebp - 0x60]
imul ecx, dword [ebp - 0x64]
ror edx, 9
xor edx, ecx
mov ecx, dword [ebp - 0x74]
xor eax, edx
mov ebx, eax
movzx edx, word [ebp - 0x4e]
xor ecx, eax
rol ecx, 3
imul edx, ecx
mov ecx, dword [ebp - 0x64]
rol ebx, 0xb
xor ebx, edx
mov edx, dword [ebp - 0x60]
xor edx, ebx
xor ecx, edx
mov ebx, edx
imul ecx, dword [ebp - 0x98]
shr ebx, 7
xor ecx, ebx
xor eax, ecx
mov ebx, eax
movzx ecx, word [ebp - 0x4e]
sub ebx, ecx
mov ecx, dword [ebp - 0x74]
rol ebx, 6
imul ecx, ebx
mov ebx, eax
shr ebx, 9
xor ecx, ebx
xor edx, ecx
mov ecx, dword [ebp - 0x98]
xor ecx, edx
and dword [ebp - 0x74], 0
rol ecx, 4
mov ebx, ecx
mov ecx, dword [ebp - 0x64]
imul ecx, ebx
mov ebx, edx
xor edx, dword [ebp - 0x7c]
shr ebx, 7
add ecx, ebx
xor ecx, dword [ebp - 0x8c]
xor eax, ecx
mov dword [ebp - 0x70], edx
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
mov dword [ebp - 0x60], eax
jle 0x12342d7
mov ebx, dword [ebp - 0x78]
inc dword [ebp - 0x78]
cmp dword [ebp - 0x74], 4
jge 0x12342c0
rol dword [ebp - 0x60], 8
mov cl, byte [ebp - 0x60]
mov byte [ebx], cl
jmp 0x12342c9
rol dword [ebp - 0x70], 8
mov cl, byte [ebp - 0x70]
mov byte [ebx], cl
xor byte [ebp - 0x55], cl
inc dword [ebp - 0x74]
mov ecx, dword [ebp - 0x5c]
cmp dword [ebp - 0x74], ecx
jl 0x12342a9
lea ebx, [ecx - 4]
test ebx, ebx
jle 0x1234323
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr edx, cl
shl edx, cl
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x68]
shr ecx, 3
test ecx, ecx
jbe 0x1234519
movzx ebx, word [ebp - 0x4e]
mov dword [ebp - 0x64], ebx
neg dword [ebp - 0x64]
mov dword [ebp - 0x90], ebx
movzx ebx, word [ebp - 0x52]
mov dword [ebp - 0x74], ebx
movzx ebx, word [ebp - 0x50]
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x5c], ecx
jmp 0x1234350
xor edx, edx
test ebx, ebx
jge 0x12342ea
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x12342ea
xor edx, edx
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x8c], eax
not eax
mov dword [ebp - 0x7c], eax
xor eax, eax
jmp 0x12342ef
mov edi, dword [ebp - 0x80]
movzx ecx, byte [edi + 1]
movzx ebx, byte [edi]
shl ebx, 8
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi + 2]
or ecx, ebx
movzx ebx, byte [edi + 3]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi + 5]
mov dword [ebp - 0x60], ecx
xor eax, dword [ebp - 0x60]
movzx ecx, byte [edi + 4]
shl ecx, 8
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi + 6]
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi + 7]
or ecx, ebx
mov ebx, dword [ebp - 0x90]
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x98]
xor ecx, eax
add edi, 8
rol ecx, 3
imul ebx, ecx
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x80], edi
mov edi, eax
rol edi, 8
sub ebx, edi
movzx edi, cx
xor ebx, dword [ebp - 0x70]
xor edx, ebx
mov ebx, dword [ebp - 0x90]
xor ebx, edx
imul ebx, edi
mov edi, edx
shr edi, 7
add ebx, edi
xor eax, ebx
mov ebx, dword [ebp - 0x74]
add ecx, eax
ror ecx, 1
mov edi, eax
imul ebx, ecx
movzx ecx, word [ebp - 0x54]
rol edi, 7
add edi, ebx
xor edx, edi
movzx edi, word [ebp - 0x50]
mov ebx, edx
ror ebx, 8
sub ebx, ecx
mov ecx, dword [ebp - 0x50]
imul ebx, edi
xor eax, ebx
xor ecx, eax
mov ebx, dword [ebp - 0x54]
sub ebx, ecx
mov ecx, dword [ebp - 0x54]
xor edx, ebx
mov ebx, edx
sub ecx, edx
rol ecx, 3
imul edi, ecx
ror ebx, 0xf
xor ebx, edi
xor eax, ebx
mov ebx, dword [ebp - 0x90]
mov ecx, eax
sub ecx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x50]
xor edx, ecx
movzx ecx, word [ebp - 0x54]
mov edi, edx
ror edi, 9
xor ebx, edx
imul ebx, ecx
xor edi, ebx
mov ecx, dword [ebp - 0x74]
xor eax, edi
mov edi, eax
xor ecx, eax
rol ecx, 3
mov ebx, dword [ebp - 0x90]
imul ebx, ecx
rol edi, 0xb
movzx ecx, word [ebp - 0x54]
xor edi, ebx
xor edx, edi
mov ebx, edx
xor ecx, edx
movzx edi, word [ebp - 0x50]
imul ecx, edi
shr ebx, 7
xor ecx, ebx
xor eax, ecx
mov ecx, dword [ebp - 0x64]
add ecx, eax
rol ecx, 6
mov ebx, dword [ebp - 0x74]
imul ebx, ecx
mov ecx, eax
shr ecx, 9
mov dword [ebp - 0x98], edi
xor ebx, ecx
mov ecx, edi
xor edx, ebx
xor ecx, edx
rol ecx, 4
movzx edi, word [ebp - 0x54]
imul edi, ecx
mov ecx, edx
xor edx, dword [ebp - 0x7c]
shr ecx, 7
add edi, ecx
mov cl, byte [ebp - 0x55]
xor edi, dword [ebp - 0x8c]
xor eax, edi
xor cl, al
xor cl, dl
mov edi, dword [ebp - 0x78]
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
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 - 0x60]
mov byte [edi], al
mov byte [edi + 4], dl
mov dword [ebp - 0x8c], ecx
add edi, 8
mov ecx, dword [ebp - 0x70]
dec dword [ebp - 0x5c]
ror eax, 8
mov dword [ebp - 0x7c], ecx
ror edx, 8
mov dword [ebp - 0x78], edi
jne 0x123434d
mov ebx, 0xfffffff
mov eax, dword [ebp - 0x9c]
mov al, byte [eax + 8]
xor al, byte [ebp - 0x55]
je 0x12345bf
call fcn.010bfbea
mov ecx, 0xfffff000
mov esi, 0x12e07d9
and eax, ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x10c]
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 [0x138b4cc]
shr dword [ebp - 0x64], 0x10
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x138b4cc], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
cmp dword [ebp - 0x64], 0
jne 0x1234560
xor edx, edx
div ecx
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x110]
inc edx
cmp edi, ebx
mov dword [eax], edx
mov dword [eax + 0x1c], ecx
mov dword [ebp - 0x5c], 0
mov eax, edi
jae 0x123312b
mov ecx, dword [ebp - 0x5c]
mov dword [eax], ecx
add eax, 4
cmp eax, ebx
jb 0x12345ae
jmp 0x123312b
mov eax, dword [ebp - 0x94]
mov ecx, dword [0x102c94c]
sub eax, dword [ebp - 0x6c]
mov dword [ebp - 0x64], eax
sub esi, ecx
mov dword [ebp - 0x80], esi
jne 0x12345e0
test eax, eax
je 0x1234690
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
sub esi, dword [ebp - 0x94]
mov ecx, dword [0x1069ab8]
add eax, edi
mov dword [ebp - 0x120], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
dec ecx
js 0x123462e
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1069abc]
and edx, ebx
cmp edi, edx
jae 0x1234624
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x5c]
jmp 0x123462a
jbe 0x123462e
inc eax
mov dword [ebp - 0x5c], eax
cmp ecx, eax
jge 0x1234608
mov dword [ebp - 0x7c], eax
jmp 0x1234685
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax*4 + 0x1069abc]
mov ecx, eax
and ecx, ebx
cmp ecx, dword [ebp - 0x120]
jae 0x1234690
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 0x1234676
dec ecx
je 0x1234671
dec ecx
jne 0x123467c
mov edx, dword [ebp - 0x80]
jmp 0x123467c
mov edx, dword [ebp - 0x64]
jmp 0x123467c
mov edx, dword [ebp - 0x80]
sub edx, dword [ebp - 0x64]
dec eax
dec eax
jne 0x1234682
add dword [edi], edx
inc dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
cmp eax, dword [0x1069ab8]
jb 0x1234633
mov eax, dword [0x10fb370]
mov eax, 0x1eab27a1
mov eax, dword [ebp - 0x6c]
jmp 0x1238e48
mov ecx, dword [ebp - 0x94]
cmp ecx, esi
jb 0x123511d
mov eax, dword [0x100003c]
mov eax, dword [eax + 0x1000050]
add eax, esi
cmp ecx, eax
jae 0x123511d
mov eax, dword [0x1347fdc]
and dword [ebp - 0x64], 0
sub ecx, esi
dec eax
mov dword [ebp - 0x5c], eax
js 0x123470b
mov edx, dword [ebp - 0x64]
add eax, edx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax*8 + 0x127b3d8]
mov dword [ebp - 0x80], edx
mov edx, dword [edx + 4]
and edx, ebx
cmp ecx, edx
jae 0x12346f9
dec eax
mov dword [ebp - 0x5c], eax
jmp 0x1234706
jbe 0x1234882
inc eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x64]
jge 0x12346d6
xor eax, eax
test eax, eax
je 0x123511d
mov ecx, dword [eax + 4]
and ecx, 7
lea edx, [ecx + eax + 8]
mov ecx, dword [eax]
shr ecx, 1
and ecx, ebx
lea eax, [ecx + edx]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x10fb370]
sub eax, ecx
mov dword [ebp - 0x88], edx
sub dword [ebp - 0x88], esi
mov dword [ebp - 0x94], edx
lea edx, [eax + 1]
xor eax, eax
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x64], edx
test edx, edx
je 0x1234783
mov edx, dword [0x138b4cc]
shr dword [ebp - 0x64], 0x10
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x138b4cc], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
cmp dword [ebp - 0x64], 0
jne 0x1234759
xor edx, edx
div dword [ebp - 0x5c]
lea eax, [edi + edx]
push eax
push ecx
push dword [ebp - 0x88]
mov dword [ebp - 0xa0], eax
mov eax, 0x2c96fa06
mov eax, dword [ebp - 0x9c]
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, 0xae53ddfd
mov eax, dword [ebp - 0x16c]
and dword [ebp - 0xd8], 0
and dword [ebp - 0xd4], 0
and edi, ebx
and eax, ebx
mov edx, eax
mov eax, esi
add edi, esi
mov ecx, edi
mov edi, dword [0x102c94c]
add esp, 0x10
sub eax, edi
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x90], eax
jne 0x123489d
and dword [ebp - 0x90], 0
test edx, edx
jbe 0x1234b56
mov ecx, 0x7fffffff
mov edi, 0xb0d52e05
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x90]
movzx eax, byte [eax + edx]
sub eax, 0x4f2ad1fb
mov edx, edi
add dword [ebp - 0xd8], eax
add eax, dword [ebp - 0xd4]
mul edx
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
mov edx, edi
mul edx
add eax, edx
add dword [ebp - 0xd8], eax
inc dword [ebp - 0x90]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp - 0x5c]
jb 0x123481b
jmp 0x1234b56
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
shr ecx, 1
and ecx, 0x3f
mov eax, dword [eax + 4]
and eax, ebx
lea eax, [eax + ecx + 0x1000000]
jmp 0x123470d
mov edi, dword [0x100003c]
lea edi, [edi + 0x10000a0]
lea eax, [ecx + edx]
sub ecx, esi
mov dword [ebp - 0x6c], eax
mov eax, dword [edi]
mov edi, dword [edi + 4]
mov dword [ebp - 0x5c], 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 - 0xb4], ecx
mov ecx, dword [ebp - 0x5c]
add ecx, eax
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb0], ecx
jmp 0x12348fa
mov edx, dword [ebp - 0x64]
cmp dword [eax], edx
jae 0x1234904
add eax, dword [eax + 4]
cmp eax, ecx
mov dword [ebp - 0xac], eax
jne 0x12348f0
and dword [ebp - 0xa8], 0
cmp eax, ecx
je 0x1234940
mov ecx, dword [ebp - 0x64]
cmp dword [eax], ecx
jne 0x1234940
mov ecx, dword [eax + 4]
sub ecx, 8
shr ecx, 1
je 0x1234940
add eax, 8
movzx edx, word [eax]
and edx, 0xfff
cmp edx, edi
jae 0x1234940
inc dword [ebp - 0xa8]
inc eax
inc eax
cmp dword [ebp - 0xa8], ecx
jne 0x1234923
mov ecx, 0x7fffffff
mov edi, 0xb0d52e05
mov eax, dword [ebp - 0xac]
jmp 0x1234957
mov ebx, 0xfffffff
cmp eax, dword [ebp - 0xb0]
je 0x1234ae2
mov edx, dword [ebp - 0xb8]
cmp dword [eax], edx
ja 0x1234ae2
mov eax, dword [eax + 4]
add eax, 0xfffffff8
shr eax, 1
cmp dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xac]
jne 0x12349b3
add eax, dword [eax + 4]
mov dword [ebp - 0xac], eax
cmp eax, dword [ebp - 0xb0]
je 0x1234ae2
mov edx, dword [ebp - 0xb8]
cmp dword [eax], edx
ja 0x1234ae2
and dword [ebp - 0xa8], 0
jmp 0x1234971
mov edx, dword [ebp - 0xb8]
cmp dword [eax], edx
jne 0x12349da
mov edx, dword [ebp - 0xa8]
movzx edx, word [eax + edx*2 + 8]
and edx, 0xfff
cmp edx, dword [ebp - 0xb4]
jae 0x1234ae2
mov edx, dword [ebp - 0xa8]
mov ebx, 0xf000
inc dword [ebp - 0xa8]
test word [eax + edx*2 + 8], bx
je 0x1234952
lea edx, [eax + edx*2 + 8]
movzx edx, word [edx]
and edx, 0xfff
xor ebx, ebx
mov eax, dword [eax]
lea eax, [eax + edx + 0x1000000]
mov dword [ebp - 0x5c], eax
sub eax, dword [ebp - 0x7c]
mov dword [ebp - 0x80], eax
je 0x1234a6a
mov edx, edi
mov eax, dword [ebp - 0x7c]
movzx eax, byte [eax + ebx]
sub eax, 0x4f2ad1fb
add dword [ebp - 0xd8], eax
add eax, dword [ebp - 0xd4]
mul edx
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
mov edx, edi
mul edx
add eax, edx
add dword [ebp - 0xd8], eax
inc ebx
mov dword [ebp - 0xd4], eax
cmp ebx, dword [ebp - 0x80]
jb 0x1234a19
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
sub eax, dword [ebp - 0x90]
mov dword [ebp - 0x130], eax
xor ebx, ebx
mov edx, edi
movzx eax, byte [ebp + ebx - 0x130]
sub eax, 0x4f2ad1fb
add dword [ebp - 0xd8], eax
add eax, dword [ebp - 0xd4]
mul edx
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
mov edx, edi
mul edx
add eax, edx
add dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
inc ebx
cmp ebx, 4
jb 0x1234a7d
mov ebx, 0xfffffff
mov eax, dword [ebp - 0x5c]
add eax, 4
mov dword [ebp - 0x7c], eax
jmp 0x123494a
mov eax, dword [ebp - 0x6c]
and dword [ebp - 0x90], 0
sub eax, dword [ebp - 0x7c]
mov dword [ebp - 0x5c], eax
je 0x1234b56
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x90]
movzx eax, byte [eax + edx]
sub eax, 0x4f2ad1fb
mov edx, edi
add dword [ebp - 0xd8], eax
add eax, dword [ebp - 0xd4]
mul edx
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
mov edx, edi
mul edx
add eax, edx
add dword [ebp - 0xd8], eax
inc dword [ebp - 0x90]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp - 0x5c]
jb 0x1234af4
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0xd8]
mov byte [ebp + eax - 0xc], cl
inc eax
cmp eax, 8
jb 0x1234b58
mov eax, 0x7ee8711d
mov edi, dword [ebp - 0x94]
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x68]
and eax, 7
mov dword [ebp - 0x90], eax
je 0x1234db3
mov ecx, dword [ebp - 0x88]
not ecx
mov dword [ebp - 0x60], ecx
xor ecx, ecx
cmp eax, ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x74], ecx
jle 0x1234bdd
push 0x38
pop edx
movzx ebx, byte [edi]
cmp dword [ebp - 0x74], 4
jge 0x1234bc7
lea ecx, [edx - 0x20]
shl ebx, cl
or dword [ebp - 0x7c], ebx
jmp 0x1234bd1
mov ecx, edx
shl ebx, cl
or dword [ebp - 0x8c], ebx
inc edi
inc dword [ebp - 0x74]
sub edx, 8
cmp dword [ebp - 0x74], eax
jl 0x1234bb4
movzx edx, word [ebp - 8]
movzx eax, word [ebp - 6]
mov ecx, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x88]
xor ecx, edx
rol ecx, 4
imul ecx, eax
ror ebx, 8
sub ecx, ebx
xor dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0xc]
rol ecx, 8
imul ecx, edx
mov eax, dword [ebp - 0x60]
movzx edx, word [ebp - 0xa]
rol eax, 3
add eax, ecx
mov ecx, dword [ebp - 8]
xor eax, dword [ebp - 0x88]
mov ebx, eax
add ecx, eax
ror ecx, 4
imul ecx, edx
ror ebx, 0xf
movzx edx, word [ebp - 0xc]
sub ecx, ebx
xor dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 8]
mov ebx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x60]
ror ecx, 2
imul ecx, edx
movzx edx, word [ebp - 6]
rol ebx, 7
xor ebx, ecx
xor eax, ebx
mov ecx, dword [ebp - 0xc]
sub ecx, eax
rol ecx, 0xc
mov ebx, eax
imul ecx, edx
ror ebx, 4
movzx edx, word [ebp - 8]
add ebx, ecx
xor dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x60]
rol ecx, 0xb
imul ecx, edx
ror ebx, 8
xor ebx, ecx
xor eax, ebx
mov edx, eax
mov ebx, eax
movzx ecx, word [ebp - 0xc]
xor ebx, ecx
movzx ecx, word [ebp - 0xa]
imul ebx, ecx
ror edx, 4
sub ebx, edx
movzx ecx, word [ebp - 0xc]
xor dword [ebp - 0x60], ebx
mov edx, dword [ebp - 0x60]
sub edx, dword [ebp - 8]
sub edx, ecx
mov ecx, dword [ebp - 0xc]
xor eax, edx
sub ecx, eax
movzx edx, word [ebp - 6]
mov ebx, eax
ror ecx, 1
imul ecx, edx
ror ebx, 6
sub ecx, ebx
xor dword [ebp - 0x60], ecx
movzx ecx, word [ebp - 8]
mov ebx, dword [ebp - 0x60]
not ebx
ror ebx, 0xe
add ebx, ecx
imul ebx, edx
mov edx, dword [ebp - 8]
mov ecx, edx
xor ecx, dword [ebp - 0xc]
xor eax, ebx
xor ecx, dword [ebp - 0x60]
and dword [ebp - 0x74], 0
xor ecx, eax
mov ebx, ecx
mov dword [ebp - 0x60], ecx
xor edx, ecx
movzx ecx, word [ebp - 0xc]
rol edx, 0xf
imul edx, ecx
ror ebx, 8
mov ecx, dword [ebp - 0x90]
add ebx, edx
xor ebx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x60]
xor edx, dword [ebp - 0x8c]
xor eax, ebx
test ecx, ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x98], edx
jle 0x1234d52
mov ebx, dword [ebp - 0x78]
inc dword [ebp - 0x78]
cmp dword [ebp - 0x74], 4
jge 0x1234d32
rol dword [ebp - 0x70], 8
mov cl, byte [ebp - 0x70]
mov byte [ebx], cl
jmp 0x1234d41
rol dword [ebp - 0x98], 8
mov cl, byte [ebp - 0x98]
mov byte [ebx], cl
xor byte [ebp - 0x55], cl
inc dword [ebp - 0x74]
mov ecx, dword [ebp - 0x90]
cmp dword [ebp - 0x74], ecx
jl 0x1234d1b
lea ebx, [ecx - 4]
test ebx, ebx
jle 0x1234da0
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr edx, cl
shl edx, cl
mov ebx, 0xfffffff
mov ecx, dword [ebp - 0x68]
shr ecx, 3
mov dword [ebp - 0x90], ecx
test ecx, ecx
jbe 0x1234f8b
movzx ecx, word [ebp - 0xa]
mov dword [ebp - 0x5c], ecx
movzx ecx, word [ebp - 6]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0xc]
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x80], ecx
jmp 0x1234dcd
xor edx, edx
test ebx, ebx
jge 0x1234d65
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x1234d65
xor edx, edx
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x7c], eax
not eax
mov dword [ebp - 0x8c], eax
xor eax, eax
jmp 0x1234d6a
mov edi, dword [ebp - 0x64]
movzx ecx, byte [edi]
movzx ebx, byte [edi + 1]
shl ecx, 8
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi + 2]
or ecx, ebx
movzx ebx, byte [edi + 3]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi + 5]
mov dword [ebp - 0x70], ecx
movzx ecx, byte [edi + 4]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edi + 6]
xor eax, dword [ebp - 0x70]
shl ecx, 8
or ecx, ebx
shl ecx, 8
movzx ebx, byte [edi + 7]
or ecx, ebx
add edi, 8
mov dword [ebp - 0x98], ecx
mov ecx, eax
mov dword [ebp - 0x64], edi
movzx edi, word [ebp - 8]
xor ecx, edi
mov edi, eax
rol ecx, 4
imul ecx, dword [ebp - 0x6c]
ror edi, 8
sub ecx, edi
xor ecx, dword [ebp - 0x98]
movzx edi, word [ebp - 8]
xor edx, ecx
mov ebx, edx
mov ecx, edx
sub ecx, dword [ebp - 0xc]
rol ecx, 8
imul ecx, edi
rol ebx, 3
add ebx, ecx
mov ecx, dword [ebp - 8]
xor eax, ebx
add ecx, eax
mov edi, eax
ror ecx, 4
imul ecx, dword [ebp - 0x5c]
ror edi, 0xf
sub ecx, edi
movzx edi, word [ebp - 0xc]
xor edx, ecx
mov ecx, dword [ebp - 8]
sub ecx, edx
ror ecx, 2
imul ecx, edi
mov ebx, edx
rol ebx, 7
xor ebx, ecx
xor eax, ebx
mov ecx, dword [ebp - 0xc]
mov edi, eax
sub ecx, eax
rol ecx, 0xc
imul ecx, dword [ebp - 0x6c]
ror edi, 4
add edi, ecx
mov ecx, dword [ebp - 0xc]
xor edx, edi
mov ebx, edx
movzx edi, word [ebp - 8]
xor ecx, edx
rol ecx, 0xb
imul ecx, edi
ror ebx, 8
xor ebx, ecx
movzx ecx, word [ebp - 0xc]
xor eax, ebx
mov edi, eax
ror edi, 4
mov ebx, eax
xor ebx, ecx
imul ebx, dword [ebp - 0x5c]
movzx ecx, word [ebp - 0xc]
sub ebx, edi
xor edx, ebx
mov edi, edx
sub edi, dword [ebp - 8]
sub edi, ecx
mov ecx, dword [ebp - 0xc]
xor eax, edi
sub ecx, eax
ror ecx, 1
mov edi, eax
imul ecx, dword [ebp - 0x6c]
ror edi, 6
sub ecx, edi
xor edx, ecx
movzx ecx, word [ebp - 8]
mov edi, edx
not edi
ror edi, 0xe
add edi, ecx
mov ecx, dword [ebp - 8]
imul edi, dword [ebp - 0x6c]
xor eax, edi
xor edx, eax
xor edx, dword [ebp - 0x74]
mov ebx, edx
xor ecx, edx
rol ecx, 0xf
movzx edi, word [ebp - 0xc]
imul ecx, edi
xor edx, dword [ebp - 0x8c]
ror ebx, 8
add ebx, ecx
mov cl, byte [ebp - 0x55]
xor ebx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x78]
xor eax, ebx
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
xor cl, dl
mov byte [edi + 2], al
ror eax, 8
xor cl, al
mov byte [edi + 6], dl
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 - 0x70]
mov byte [edi], al
mov byte [edi + 4], dl
add edi, 8
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x98]
dec dword [ebp - 0x80]
ror eax, 8
mov dword [ebp - 0x8c], ecx
ror edx, 8
mov dword [ebp - 0x78], edi
jne 0x1234dca
mov ebx, 0xfffffff
mov eax, dword [ebp - 0x9c]
mov al, byte [eax + 8]
xor al, byte [ebp - 0x55]
je 0x1235031
call fcn.010bfbea
mov ecx, 0xfffff000
mov esi, 0x12e07d9
and eax, ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x10c]
lea edi, [eax + 0xc]
mov dword [eax + 8], esi
and edi, 0xfffffffc
lea ebx, [edi + 0xfff]
and ebx, ecx
xor eax, eax
mov ecx, 0xffff
mov dword [ebp - 0x64], ecx
mov edx, dword [0x138b4cc]
shr dword [ebp - 0x64], 0x10
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x138b4cc], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
cmp dword [ebp - 0x64], 0
jne 0x1234fd2
xor edx, edx
div ecx
mov eax, dword [ebp - 0x110]
inc edx
mov ecx, dword [ebp - 0x5c]
cmp edi, ebx
mov dword [eax], edx
mov dword [eax + 0x1c], ecx
mov eax, edi
mov dword [ebp - 0x5c], 0
jae 0x123312b
mov ecx, dword [ebp - 0x5c]
mov dword [eax], ecx
add eax, 4
cmp eax, ebx
jb 0x1235020
jmp 0x123312b
invalid
invalid
dec esp
leave
invalid