Function at 0xe00670
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x290
mov dword [ebp - 0xb8], 7
xorps xmm1, xmm1
mov dword [ebp - 0xb4], 0x14
xorps xmm2, xmm2
mov dword [ebp - 0xb0], 0xb
mov dword [ebp - 0xac], 0xffffffe2
movups xmm0, xmmword [ebp - 0xb8]
push esi
push edi
psubd xmm1, xmm0
mov dword [ebp - 0xbc], ecx
movaps xmm0, xmm1
mov dword [ebp - 0xf8], edx
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x70], 0x1c
movups xmm0, xmm1
mov dword [ebp - 0x6c], 0x2c
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x68], 0xffffffb8
push 9
pop ecx
movd eax, xmm1
push 3
pop esi
add eax, ecx
mov dword [ebp - 0xf4], eax
xor eax, eax
mov edx, eax
mov ecx, eax
sub edx, dword [ebp + ecx*4 - 0x70]
inc ecx
cmp ecx, esi
jl 0xe00705
push 0x55
pop edi
mov dword [ebp - 0x30], 0x54
movaps xmm1, xmm2
mov dword [ebp - 0x2c], 0x30
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], 0x2da
movups xmm0, xmmword [ebp - 0x30]
mov dword [ebp - 0x74], edx
mov edx, 0x10e
mov dword [ebp - 0x70], 0x2d
paddd xmm1, xmm0
mov dword [ebp - 0x6c], edi
movaps xmm0, xmm1
mov dword [ebp - 0x68], 0x6e
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, 0x4d
mov dword [ebp - 0x58], ecx
mov ecx, dword [0xe1a840]
or ecx, 0x245e463b
mov dword [ebp - 0x4c], ecx
mov ecx, eax
sub edx, dword [ebp + ecx*4 - 0x70]
inc ecx
cmp ecx, esi
jl 0xe00780
mov dword [ebp - 0x30], 0x2d
movaps xmm1, xmm2
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], 0x4b
mov dword [ebp - 0x24], 0x1787
movups xmm0, xmmword [ebp - 0x30]
push 0x58
mov dword [ebp - 0x5c], edx
psubd xmm1, xmm0
mov dword [ebp - 0x6c], 0x27
movaps xmm0, xmm1
mov dword [ebp - 0x68], 0xffffff9f
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
pop edx
add ecx, 0x1c00
mov dword [ebp - 0xec], ecx
mov ecx, eax
add edx, dword [ebp + ecx*4 - 0x6c]
inc ecx
cmp ecx, 2
jl 0xe007ee
push 5
mov dword [ebp - 0x34], esi
mov ecx, eax
pop esi
mov dword [ebp - 0xe8], edx
mov edx, 0xb2c
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], 0x22
mov dword [ebp - 0x28], 0x2a
mov dword [ebp - 0x24], 0x984
mov dword [ebp - 0x64], esi
sub edx, dword [ebp + ecx*4 - 0x34]
inc ecx
cmp ecx, esi
jl 0xe00826
push 6
pop ecx
mov dword [ebp - 0x54], ecx
lea edi, [ebp - 0x90]
mov esi, 0xdd1b04
mov dword [ebp - 0xf0], edx
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x20], 0xd5597e6d
mov ecx, eax
mov dword [ebp - 0x1c], 0xf38cea65
mov dword [ebp - 0x18], 0x49f47d7
movsw word es:[edi], word [esi]
mov dword [ebp - 0x14], 0x6b424e7d
mov edi, eax
mov dword [ebp - 0x10], 0xbdbf56aa
mov dword [ebp - 0xc], 0x4efd9468
mov byte [ebp + ecx - 0x20c], cl
inc ecx
cmp ecx, 0x100
jb 0xe00878
mov esi, eax
mov dword [ebp - 0x50], 0x19
xor edx, edx
mov cl, byte [ebp + esi - 0x20c]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x50]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x90]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x20c]
mov byte [ebp + esi - 0x20c], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x20c], al
cmp esi, 0x100
jb 0xe00891
xor edi, edi
mov dword [ebp - 8], edi
mov esi, edi
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + esi - 0x20c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x20c]
mov byte [ebp + esi - 0x20c], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x20c], cl
movzx eax, byte [ebp + esi - 0x20c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + edi - 0x20]
mov byte [ebp + edi - 0x228], al
inc edi
cmp edi, 0x18
jb 0xe008dc
mov esi, 0xdd228c
mov dword [ebp - 0xa0], 0x6bcfe533
lea edi, [ebp - 0x70]
mov dword [ebp - 0x9c], 0x1d07b0f5
push 0x14
pop ecx
movsd dword es:[edi], dword [esi]
xor eax, eax
push 9
mov byte [ebp - 0x96], cl
pop ecx
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x82], cl
push 5
pop ecx
movsw word es:[edi], word [esi]
mov byte [ebp - 0x76], cl
mov ecx, eax
mov byte [ebp - 0x210], al
mov word [ebp - 0x98], 0xb37b
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x95], 0x65991e2d
mov edi, eax
mov dword [ebp - 0x91], 0x6cb164d5
mov dword [ebp - 0x8d], 0x68f6f1bd
mov dword [ebp - 0x89], 0xb46f641e
mov word [ebp - 0x85], 0x22b2
mov byte [ebp - 0x83], 0x46
mov dword [ebp - 0x81], 0xc35c4e39
mov dword [ebp - 0x7d], 0x466bf7fb
mov word [ebp - 0x79], 0x60c5
mov byte [ebp - 0x77], 0xa5
mov byte [ebp - 0x75], 0xeb
mov byte [ebp + ecx - 0x20c], cl
inc ecx
cmp ecx, 0x100
jb 0xe009d9
mov esi, eax
xor edx, edx
mov dword [ebp - 0x50], 0xa
mov eax, esi
mov cl, byte [ebp + esi - 0x20c]
div dword [ebp - 0x50]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x70]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x20c]
mov byte [ebp + esi - 0x20c], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x20c], al
cmp esi, 0x100
jb 0xe009eb
xor edi, edi
mov dword [ebp - 8], edi
mov esi, edi
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + esi - 0x20c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x20c]
mov byte [ebp + esi - 0x20c], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x20c], cl
movzx eax, byte [ebp + esi - 0x20c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + edi - 0xa0]
mov byte [ebp + edi - 0x290], al
inc edi
cmp edi, 0x2c
jb 0xe00a3a
mov esi, 0xdd1a68
mov dword [ebp - 0x20], 0x1a8f95fe
lea edi, [ebp - 0x6c]
mov dword [ebp - 0x1c], 0x54a4289d
push 0x16
pop ecx
movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [ebp - 0x60], ecx
mov byte [ebp - 0x15], cl
mov ecx, eax
mov byte [ebp - 0x264], al
movsw word es:[edi], word [esi]
mov word [ebp - 0x18], 0xbfec
mov byte [ebp - 0x16], 0xf6
mov dword [ebp - 0x14], 0xd76f6e3a
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x10], 0xaec160e9
mov edi, eax
mov dword [ebp - 0xc], 0x4c03c1b4
mov byte [ebp + ecx - 0x20c], cl
inc ecx
cmp ecx, 0x100
jb 0xe00ae3
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x20c]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x54]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x6c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x20c]
mov byte [ebp + esi - 0x20c], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x20c], al
cmp esi, 0x100
jb 0xe00af5
xor edi, edi
mov ecx, edi
mov esi, edi
lea eax, [esi + 1]
mov edx, 0xdfe
movzx esi, al
push 0x68
mov al, byte [ebp + esi - 0x20c]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x54], eax
add eax, ecx
movzx eax, al
mov dword [ebp - 0x50], eax
mov eax, 0xdd3330
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x1d0e
ja 0xe00b7d
movzx ecx, word [eax]
test ecx, ecx
jne 0xe00b67
jmp 0xe00b82
call fcn.00dfb5df
mov ecx, dword [ebp - 0x50]
mov al, byte [ebp + ecx - 0x20c]
mov byte [ebp + esi - 0x20c], al
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x20c], al
movzx eax, byte [ebp + esi - 0x20c]
add eax, dword [ebp - 0x54]
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + edi - 0x20]
mov byte [ebp + edi - 0x244], al
inc edi
cmp edi, 0x18
jb 0xe00b3c
mov edx, dword [ebp - 0x4c]
xor ecx, ecx
imul eax, edx, 0xbff13309
mov edi, ecx
push 5
and edx, 0x57788b9
mov byte [ebp - 0x22c], cl
mov dword [ebp - 0x20], 0x4bc2962b
mov dword [ebp - 0x1c], 0x56213812
mov dword [ebp - 0x3c], eax
pop eax
mov byte [ebp - 0x10], al
mov eax, dword [0xdd2120]
mov dword [ebp - 0x44], eax
mov ax, word [0xdd2124]
mov word [ebp - 0x40], ax
mov eax, ecx
mov dword [ebp - 0x18], 0x2f9d674c
mov dword [ebp - 0x14], 0xc2e0edb6
mov dword [ebp - 0xf], 0x4f5ef2b1
mov word [ebp - 0xb], 0xf868
mov byte [ebp - 9], 0x8c
mov dword [ebp - 0x4c], edx
mov byte [ebp + eax - 0x20c], al
inc eax
cmp eax, 0x100
jb 0xe00c2d
mov esi, ecx
xor edx, edx
mov cl, byte [ebp + esi - 0x20c]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x64]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x44]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x20c]
mov byte [ebp + esi - 0x20c], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x20c], al
cmp esi, 0x100
jb 0xe00c3e
xor edi, edi
mov dword [ebp - 8], edi
mov esi, edi
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + esi - 0x20c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x20c]
mov byte [ebp + esi - 0x20c], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x20c], cl
movzx eax, byte [ebp + esi - 0x20c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + edi - 0x20]
mov byte [ebp + edi - 0x260], al
inc edi
cmp edi, 0x18
jb 0xe00c86
push 5
pop ecx
mov byte [ebp - 0x36], cl
lea edi, [ebp - 0x20]
mov esi, 0xdd1b94
mov word [ebp - 0x38], 0xb9b6
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [ebp - 0x35], 0x6a178e75
mov byte [ebp - 0x248], al
mov ecx, eax
mov dword [ebp - 0x31], 0xf96b387
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x2d], 0x38d84307
mov edi, eax
mov dword [ebp - 0x29], 0x274f44b1
mov dword [ebp - 0x25], 0x993bef65
mov byte [ebp - 0x21], 0xb7
mov byte [ebp + ecx - 0x20c], cl
inc ecx
cmp ecx, 0x100
jb 0xe00d28
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x20c]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0xb4]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x20]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x20c]
mov byte [ebp + esi - 0x20c], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x20c], al
cmp esi, 0x100
jb 0xe00d3a
xor edi, edi
mov dword [ebp - 8], edi
mov esi, edi
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + esi - 0x20c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x20c]
mov byte [ebp + esi - 0x20c], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x20c], cl
movzx eax, byte [ebp + esi - 0x20c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + edi - 0x38]
mov byte [ebp + edi - 0x90], al
inc edi
cmp edi, 0x18
jb 0xe00d85
push 5
pop ecx
mov esi, 0xdd1060
mov dword [ebp - 0x44], 0xa2a1a1fc
lea edi, [ebp - 0x20]
mov word [ebp - 0x40], 0xf764
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov byte [ebp - 0x78], al
mov ecx, eax
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, eax
mov byte [ebp + ecx - 0x20c], cl
inc ecx
cmp ecx, 0x100
jb 0xe00e03
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x20c]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x60]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x20]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x20c]
mov byte [ebp + esi - 0x20c], al
imul eax, dword [ebp - 0x3c], 0x28979777
inc esi
mov dword [ebp - 0x3c], eax
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x20c], al
cmp esi, 0x100
jb 0xe00e15
xor edi, edi
mov dword [ebp - 8], edi
mov esi, edi
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 8]
push 6
mov cl, byte [ebp + esi - 0x20c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x20c]
mov byte [ebp + esi - 0x20c], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x20c], cl
movzx eax, byte [ebp + esi - 0x20c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + edi - 0x44]
mov byte [ebp + edi - 0x6c], al
inc edi
pop eax
cmp edi, eax
jb 0xe00e67
xor ecx, ecx
mov dword [ebp - 0x44], 0x37
push 0x4c
mov byte [ebp - 0x66], cl
mov eax, ecx
pop edx
mov dword [ebp - 0x40], 0x37d
add edx, dword [ebp + eax*4 - 0x44]
inc eax
cmp eax, 2
jl 0xe00ed6
push 0x25
pop esi
mov dword [ebp - 0x30], 0x5d
movaps xmm1, xmm2
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], 0x5f
mov dword [ebp - 0x24], 0xfffffff1
movups xmm0, xmmword [ebp - 0x30]
mov dword [ebp - 0xa8], edx
mov edx, ecx
mov dword [ebp - 0x48], 0x41
psubd xmm1, xmm0
mov dword [ebp - 0x44], 0x5a
movaps xmm0, xmm1
mov dword [ebp - 0x40], 0xffffff65
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0xf0
mov dword [ebp - 0xcc], eax
mov eax, ecx
sub edx, dword [ebp + eax*4 - 0x48]
inc eax
cmp eax, 3
jl 0xe00f4c
push 0xd
mov dword [ebp - 8], edx
mov eax, ecx
pop edx
mov dword [ebp - 0x44], 0x53
mov dword [ebp - 0x40], 0xffffffbe
add edx, dword [ebp + eax*4 - 0x44]
inc eax
cmp eax, 2
jl 0xe00f6c
mov dword [ebp - 0x54], edx
mov edx, ecx
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], 0x39
mov dword [ebp - 0x28], 0x3c
mov dword [ebp - 0x24], 0xffffff66
push 0x68
mov esi, 0xdd3330
pop edi
lea eax, [edi - 0x30]
push 9
pop edi
cmp ax, di
ja 0xe00fc1
add esi, 2
movzx eax, word [esi]
mov edi, eax
test ax, ax
jne 0xe00fa4
mov eax, dword [ebp - 0x4c]
jmp 0xe00fc7
imul eax, ecx, 0x3840929c
or eax, 0xefea5d8
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xa4]
sub eax, dword [ebp + edx*4 - 0x30]
inc edx
mov dword [ebp - 0xa4], eax
cmp edx, 4
jl 0xe00f9c
push 0x45
xor ecx, ecx
mov dword [ebp - 0x44], 0x4d
pop edx
mov dword [ebp - 0x40], 0xffffff6e
mov eax, ecx
add edx, dword [ebp + eax*4 - 0x44]
inc eax
cmp eax, 2
jl 0xe00ffa
mov dword [ebp - 0x30], 0x11
movaps xmm1, xmm2
mov dword [ebp - 0x2c], 0x5c
mov dword [ebp - 0x28], 0x22
mov dword [ebp - 0x24], 0xffffff71
movups xmm0, xmmword [ebp - 0x30]
push 9
pop eax
psubd xmm1, xmm0
mov dword [ebp - 0xfc], edx
movaps xmm0, xmm1
mov dword [ebp - 0x44], eax
psrldq xmm0, 8
mov edx, ecx
paddd xmm1, xmm0
mov dword [ebp - 0x48], 0x1d
movups xmm0, xmm1
mov dword [ebp - 0x40], 0xffffffda
psrldq xmm0, 4
mov eax, ecx
paddd xmm1, xmm0
movd dword [ebp - 0x100], xmm1
sub edx, dword [ebp + eax*4 - 0x48]
inc eax
cmp eax, 3
jl 0xe01069
push 0x1f
mov dword [ebp - 0xd4], edx
mov eax, ecx
pop edx
mov dword [ebp - 0x44], 0x44
mov dword [ebp - 0x40], 0xffffff9d
add edx, dword [ebp + eax*4 - 0x44]
inc eax
cmp eax, 2
jl 0xe0108c
mov edi, dword [ebp - 0x3c]
movaps xmm1, xmm2
push 0x19
pop eax
mov dword [ebp - 0x28], eax
xor edi, 0xbe477e2f
mov dword [ebp - 0x30], 0x61
mov esi, 0x14a
mov dword [ebp - 0x2c], 0x34
mov dword [ebp - 0x24], 0x3352
movups xmm0, xmmword [ebp - 0x30]
mov dword [ebp - 0xe0], edx
mov edx, esi
mov dword [0xe1a8a8], edi
psubd xmm1, xmm0
mov dword [ebp - 0x34], 3
movaps xmm0, xmm1
mov dword [ebp - 0x30], 0x10
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x2c], 0x37
movups xmm0, xmm1
mov dword [ebp - 0x28], 0xf
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x24], 0xd3
movd eax, xmm1
add eax, 0x3800
mov dword [ebp - 0xdc], eax
mov eax, ecx
sub edx, dword [ebp + eax*4 - 0x34]
inc eax
cmp eax, 5
jl 0xe01124
push 0x34
mov dword [ebp - 0xd8], edx
mov eax, ecx
mov dword [ebp - 0x44], 0x33
mov dword [ebp - 0x40], 0xffffff99
pop edx
add edx, dword [ebp + eax*4 - 0x44]
inc eax
cmp eax, 2
jl 0xe01147
push 0x5b
mov dword [ebp - 0x40], edx
mov eax, ecx
pop edx
mov dword [ebp - 0xc8], 0xf
mov dword [ebp - 0xc4], 0x1e
mov dword [ebp - 0xc0], 0x7c
add edx, dword [ebp + eax*4 - 0xc8]
inc eax
cmp eax, 3
jl 0xe01177
mov dword [ebp - 0xe4], edx
cmp byte [0xe1a8b8], cl
je 0xe011bb
inc ecx
cmp ecx, 0xaec
jl 0xe011b6
cmp byte [ecx + 0xe1a8b8], 0
jne 0xe01192
cmp ecx, 0xdae
jle 0xe011bb
mov eax, dword [ebp - 0x3c]
xor eax, 0x5f65d8a2
jmp 0xe011c3
call fcn.00dfb5df
mov eax, dword [ebp - 0x3c]
or eax, 0xfd6fe867
imul edx, edi, 0xa7af84b3
push ecx
mov dword [0xe1a840], eax
mov dword [0xe1a6cc], edx
call fcn.00dfb572
pop ecx
mov ecx, dword [ebp - 0x5c]
imul ecx, dword [ebp - 0x58]
add ecx, ecx
call fcn.00dee8ce
mov ecx, dword [ebp - 0xe8]
imul ecx, dword [ebp - 0xec]
mov dword [ebp - 0x3c], eax
call fcn.00dee8ce
mov ecx, dword [ebp - 0xf0]
mov edi, eax
add ecx, ecx
mov dword [ebp - 0x50], edi
call fcn.00dee8ce
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x64], eax
call fcn.00e0520f
lea ecx, [ebp - 0x290]
mov dword [ebp - 0x4c], eax
call fcn.00e0523e
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x58], eax
call fcn.00e0523e
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x5c], eax
call fcn.00e0523e
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x60], eax
push dword [ebp - 0x58]
push dword [ebp - 0x64]
call fcn.00dee9eb
mov edx, eax
lea ecx, [ebp - 0x90]
call fcn.00dee9ca
call eax
mov eax, dword [ebp - 0xcc]
imul eax, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
add eax, eax
push eax
push dword [ebp - 0x3c]
call fcn.00dfc4fb
add esp, 0x14
test eax, eax
je 0xe01474
mov ecx, dword [ebp - 0x3c]
call fcn.00e05897
mov edx, dword [ebp - 0x3c]
mov ecx, edi
push eax
call fcn.00e05378
mov eax, dword [ebp - 0x54]
pop ecx
cmp dword [ebp - 8], eax
jge 0xe01469
mov dword [ebp - 0x30], 0x61
xor edi, edi
mov dword [ebp - 0x2c], 0x3a
mov dword [ebp - 0x28], 0x3f
mov dword [ebp - 0x24], 0xffffff1f
movups xmm0, xmmword [ebp - 0x30]
mov dword [ebp - 0xc8], 0x48
mov dword [ebp - 0xc4], 0x2a
mov dword [ebp - 0xc0], 0x33d
push 0x51
pop ecx
mov eax, edi
add ecx, dword [ebp + eax*4 - 0xc8]
inc eax
cmp eax, 3
jl 0xe012f9
movaps xmm1, xmm0
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd esi, xmm1
add esi, 8
call fcn.00dee8ce
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xbc]
mov dword [edx + ecx*4], eax
cmp dword [ebp - 0xf4], esi
jne 0xe0144d
push 0x5d
pop ecx
mov dword [ebp - 0x10c], 0x2c
mov eax, edi
mov dword [ebp - 0x108], 0x4a
mov dword [ebp - 0x104], 0xffffff2d
add ecx, dword [ebp + eax*4 - 0x10c]
inc eax
cmp eax, 3
jl 0xe01365
push 0x37
pop edx
mov dword [ebp - 0xd0], 0x43
mov eax, edi
mov dword [ebp - 0xcc], 0xffffff86
add edx, dword [ebp + eax*4 - 0xd0]
inc eax
cmp eax, 2
jl 0xe0138b
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0x74], ecx
jbe 0xe013d5
push 0x48
pop ecx
mov dword [ebp - 0xb4], 0x5a
mov eax, edi
mov dword [ebp - 0xb0], 0x50
mov dword [ebp - 0xac], 0xffffff0e
add ecx, dword [ebp + eax*4 - 0xb4]
inc eax
cmp eax, 3
jl 0xe013c6
jmp 0xe013d8
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
call fcn.00e05f0d
mov esi, eax
cmp esi, dword [ebp - 0xa8]
je 0xe01461
imul eax, dword [0xe1a6cc], 0x8a1b4ae8
push 0xd
pop ecx
push 5
mov dword [ebp - 0x1c], 0x50
mov dword [0xe1a8a8], eax
mov eax, edi
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x14], 0x61
mov dword [ebp - 0x10], 0x2c
mov dword [ebp - 0xc], 0xffffff2b
pop edx
sub ecx, dword [ebp + eax*4 - 0x1c]
inc eax
cmp eax, edx
jl 0xe01424
add dword [ebp - 0x74], ecx
mov ecx, esi
call fcn.00e05863
mov ecx, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp - 8]
push esi
push dword [ecx + eax*4]
call fcn.00e05084
add esp, 0xc
mov eax, dword [ebp - 8]
movups xmm0, xmmword [ebp - 0x30]
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [ebp - 0x54]
jl 0xe012f4
mov edi, dword [ebp - 0x50]
mov esi, 0x14a
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x74]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x4c]
call fcn.00e05863
push eax
mov eax, dword [ebp - 0xa4]
push eax
push ecx
call fcn.00e05117
mov ecx, dword [ebp - 0x58]
call fcn.00e05863
push eax
push dword [ebp - 0xfc]
push ecx
call fcn.00e05117
mov ecx, dword [ebp - 0x5c]
call fcn.00e05863
push eax
push dword [ebp - 0x100]
push ecx
call fcn.00e05117
mov ecx, dword [ebp - 0x60]
call fcn.00e05863
push eax
push dword [ebp - 0xd4]
push ecx
call fcn.00e05117
mov ecx, dword [ebp - 0x4c]
call fcn.00dee98d
mov ecx, dword [ebp - 0x58]
call fcn.00dee98d
mov ecx, dword [ebp - 0x5c]
call fcn.00dee98d
mov ecx, dword [ebp - 0x60]
call fcn.00dee98d
mov eax, dword [ebp - 0xd8]
imul eax, dword [ebp - 0xdc]
add eax, eax
push eax
push dword [ebp - 0xe0]
push dword [ebp - 0x3c]
call fcn.00e05117
add esp, 0x3c
test edi, edi
je 0xe015cf
mov dword [ebp - 0x30], 0x55
xorps xmm1, xmm1
mov dword [ebp - 0x2c], 0x15
mov dword [ebp - 0x28], 0x2d
mov dword [ebp - 0x24], 0xffffff69
movups xmm0, xmmword [ebp - 0x30]
mov dword [ebp - 0x30], 0x4c
mov dword [ebp - 0x2c], 0x51
psubd xmm1, xmm0
mov dword [ebp - 0x28], 0x5c
movaps xmm0, xmm1
mov dword [ebp - 0x24], 0x2e4
movups xmm2, xmmword [ebp - 0x30]
mov dword [ebp - 0xb4], 0x4a
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0xb0], 0x38
movups xmm0, xmm1
mov dword [ebp - 0xac], 0xaa
psrldq xmm0, 4
paddd xmm1, xmm0
movaps xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movd edx, xmm1
movups xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd ecx, xmm2
add ecx, 0x23
xor eax, eax
sub esi, dword [ebp + eax*4 - 0xb4]
inc eax
cmp eax, 3
jl 0xe015b4
imul esi, ecx
push esi
push edx
push edi
call fcn.00e05117
add esp, 0xc
mov eax, dword [0xe1a840]
mov esi, dword [ebp - 0x64]
or eax, 0x59fa91d1
mov dword [0xe1a6cc], eax
mov eax, dword [ebp - 0xe4]
add eax, eax
push eax
push dword [ebp - 0x40]
push esi
call fcn.00e05117
mov ecx, dword [ebp - 0x3c]
add esp, 0xc
call fcn.00dee98d
mov ecx, edi
call fcn.00dee98d
mov ecx, esi
call fcn.00dee98d
pop edi
pop esi
leave
ret