Function at 0xdd948d
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2f4
mov dword [ebp - 0x20], 0x5a
xorps xmm1, xmm1
mov dword [ebp - 0x1c], 0x31
mov dword [ebp - 0x18], 0x2d
mov dword [ebp - 0x14], 0xffffff70
movups xmm0, xmmword [ebp - 0x20]
push ebx
push esi
psubd xmm1, xmm0
mov dword [ebp - 0xc], edx
movaps xmm0, xmm1
mov dword [ebp - 8], ecx
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x6c], 0xe
movups xmm0, xmm1
mov dword [ebp - 0x68], 0x30
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x64], 0xffffff6d
movd edx, xmm1
push edi
push 0x56
add edx, 0x2c
xor esi, esi
pop ecx
mov eax, esi
add ecx, dword [ebp + eax*4 - 0x6c]
inc eax
cmp eax, 3
jl 0xdd9501
push 5
mov ebx, esi
mov dword [ebp - 0x80], 0x21
mov eax, esi
mov dword [ebp - 0x7c], 0x27
mov dword [ebp - 0x78], 0x45
mov dword [ebp - 0x74], 0x1a
mov dword [ebp - 0x70], 0xffffff59
pop esi
sub ebx, dword [ebp + eax*4 - 0x80]
inc eax
cmp eax, esi
jl 0xdd9535
add cl, byte [0xe1bf28]
movzx eax, dl
movzx ecx, cl
imul ecx, eax
push 0x47
pop edx
movzx edi, bl
mov dword [ebp - 4], ebx
mov ebx, dword [0xe1bf24]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x10], ebx
push 0xf
pop ecx
cmp edi, ebx
jge 0xdd9ae0
push 0xffffffffffffff9a
pop eax
mov dword [ebp - 0x114], ecx
push 0x37
mov dword [ebp - 0x9c], ecx
pop ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 0x5c
mov dword [ebp - 0x18], 0x3c
mov dword [ebp - 0x14], 0xffffff1f
movups xmm2, xmmword [ebp - 0x20]
mov dword [ebp - 0x94], 0x52
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], 0x17
mov dword [ebp - 0x88], 0xffffff50
movups xmm3, xmmword [ebp - 0x94]
mov dword [ebp - 0x12c], 0x61
mov dword [ebp - 0x128], 0x40
mov dword [ebp - 0x124], 0xd
mov dword [ebp - 0x120], 0xffffff5e
movups xmm4, xmmword [ebp - 0x12c]
mov dword [ebp - 0x11c], 0x5e
mov dword [ebp - 0x118], 0x4d
mov dword [ebp - 0x110], 0xffffff72
movups xmm5, xmmword [ebp - 0x11c]
mov dword [ebp - 0xd0], esi
mov esi, dword [0xe1a0b4]
mov dword [ebp - 0x10c], 0x30
mov dword [ebp - 0x108], 0x44
mov dword [ebp - 0x104], 0x1d
mov dword [ebp - 0x100], 0xffffff59
movups xmm6, xmmword [ebp - 0x10c]
mov dword [ebp - 0xfc], 0x55
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf4], 0x5c
mov dword [ebp - 0xf0], 0xfffffeea
movups xmm7, xmmword [ebp - 0xfc]
mov dword [ebp - 0x6c], 0x28
mov dword [ebp - 0x68], 0x4b
mov dword [ebp - 0x64], 0xffffff6c
mov dword [ebp - 0xac], 0x35
mov dword [ebp - 0xa8], 0xffffffac
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xdc], 0x57
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xbc], 0xc
mov dword [ebp - 0xb8], 0xffffffbb
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xc8], 0xffffffd8
mov dword [ebp - 0xec], 0x11
mov dword [ebp - 0xe8], 0x4c
mov dword [ebp - 0xe4], 0x3b
mov dword [ebp - 0xe0], 0xffffff0a
push 0x25
xor ebx, ebx
pop ecx
mov eax, ebx
add ecx, dword [ebp + eax*4 - 0x6c]
inc eax
cmp eax, 3
jl 0xdd971b
mov dword [ebp - 0x2c], ecx
mov eax, ebx
mov ecx, ebx
mov dword [ebp - 0x80], 0x17
mov dword [ebp - 0x7c], 0x46
mov dword [ebp - 0x78], 0xd
mov dword [ebp - 0x74], 0xa
mov dword [ebp - 0x70], 0xffffff8c
sub ecx, dword [ebp + eax*4 - 0x80]
inc eax
cmp eax, 5
jl 0xdd974f
mov dword [ebp - 0x30], ecx
mov eax, ebx
inc eax
cmp eax, 0x16e5
jg 0xdd9770
cmp byte [eax + 0xdd1694], bl
jne 0xdd975e
jmp 0xdd978a
push ecx
push 0xdd1694
mov edx, 0xdd1390
mov ecx, esi
call fcn.00dd50bb
pop ecx
pop ecx
sub esi, 0x651d209f
movaps xmm1, xmm2
add esi, 0xd7d95b0d
movaps xmm0, xmm1
and esi, 0x6948b9f2
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
xorps xmm1, xmm1
psubd xmm1, xmm3
movaps xmm0, xmm1
psrldq xmm0, 8
add eax, 6
paddd xmm1, xmm0
mov dword [ebp - 0x24], eax
movups xmm0, xmm1
mov eax, ebx
psrldq xmm0, 4
paddd xmm1, xmm0
push 0x23
movd dword [ebp - 0x28], xmm1
pop ecx
add ecx, dword [ebp + eax*4 - 0xac]
inc eax
cmp eax, 2
jl 0xdd97e4
push 0x58
mov dword [ebp - 0x3c], ecx
mov eax, ebx
pop ecx
add ecx, dword [ebp + eax*4 - 0x9c]
inc eax
cmp eax, 2
jl 0xdd97f9
push 0x3c
mov dword [ebp - 0x40], ecx
mov eax, ebx
pop ecx
mov dword [ebp - 0x154], 0x1c
mov dword [ebp - 0x150], 0x2a
mov dword [ebp - 0x14c], 0x50
mov dword [ebp - 0x148], 0x3a
mov dword [ebp - 0x144], 0xffffff68
sub ecx, dword [ebp + eax*4 - 0x154]
inc eax
cmp eax, 5
jl 0xdd9840
mov dword [ebp - 0x34], ecx
mov eax, ebx
mov ecx, 0xdd1390
inc eax
lea ecx, [ecx + 2]
cmp eax, 0x1426
jl 0xdd9869
cmp word [ecx], bx
jne 0xdd9857
jmp 0xdd9876
or esi, 0x242a8a34
cmp eax, 0x6f6
jle 0xdd9883
call fcn.00dd4f60
and esi, 0xe4944786
jmp 0xdd9889
add esi, 0xa008939d
add esi, 0x5dc0e9d7
call fcn.00dd4f60
xorps xmm1, xmm1
mov edx, 0x801
psubd xmm1, xmm4
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
xorps xmm1, xmm1
psubd xmm1, xmm5
movaps xmm0, xmm1
psrldq xmm0, 8
add eax, 0xd
paddd xmm1, xmm0
mov dword [ebp - 0x38], eax
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
push 0x1e
movd eax, xmm1
pop ebx
push 0x50
add eax, 0x30
mov dword [ebp - 0x4c], eax
mov eax, 0xdd16b8
pop ecx
add edx, ecx
inc eax
cmp edx, 0x16f1
ja 0xdd990a
movsx ecx, byte [eax]
test ecx, ecx
jne 0xdd98f6
jmp 0xdd9915
call fcn.00dd4f60
add esi, 0x3eeb5ce9
add esi, 0xc2f74842
mov dword [ebp - 0x140], 0x5b
push 5
xor esi, 0x512fff6a
mov dword [ebp - 0x13c], 0x2f
pop ecx
xor edx, edx
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x134], 0x31
mov eax, edx
mov dword [ebp - 0x130], 0xffffff5c
sub ebx, dword [ebp + eax*4 - 0x140]
inc eax
cmp eax, ecx
jl 0xdd9956
push 0x2c
mov dword [ebp - 0x50], ebx
mov eax, edx
pop ecx
sub ecx, dword [ebp + eax*4 - 0xdc]
inc eax
cmp eax, 3
jl 0xdd996a
push 0x3b
mov dword [ebp - 0x44], ecx
mov eax, edx
pop ecx
add ecx, dword [ebp + eax*4 - 0xbc]
inc eax
cmp eax, 2
jl 0xdd997f
push 0x28
mov dword [ebp - 0x48], ecx
mov eax, edx
pop ecx
sub ecx, dword [ebp + eax*4 - 0xd0]
inc eax
cmp eax, 3
jl 0xdd9994
push 0x61
mov dword [ebp - 0x60], ecx
mov ecx, edx
pop ebx
mov edx, 0xdd1694
mov al, 0x74
sub al, 0x30
cmp al, 9
ja 0xdd99bf
inc edx
mov al, byte [edx]
test al, al
jne 0xdd99b0
jmp 0xdd99c5
and esi, 0x41a1bbcd
add ebx, dword [ebp + ecx*4 - 0xec]
imul esi, esi, 0x3f645cb5
inc ecx
cmp ecx, 4
jl 0xdd99a9
movaps xmm1, xmm6
mov edx, dword [ebp - 8]
movaps xmm0, xmm1
mov dword [ebp - 0x54], ebx
psrldq xmm0, 8
mov ecx, edi
paddd xmm1, xmm0
imul ecx, dword [ebp - 0x2c]
movups xmm0, xmm1
mov ebx, dword [ebp - 0xc]
psrldq xmm0, 4
and esi, 0x5beec699
paddd xmm1, xmm0
movd eax, xmm1
movaps xmm1, xmm7
add ecx, dword [ebp - 0x30]
movaps xmm0, xmm1
psrldq xmm0, 8
add eax, 0x1a
paddd xmm1, xmm0
mov dword [ebp - 0x58], eax
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x31
mov dword [ebp - 0x5c], eax
mov eax, edi
imul eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x28]
mov al, byte [eax + edx]
mov byte [ecx + ebx], al
mov eax, edi
imul eax, dword [ebp - 0x34]
mov ecx, edi
imul ecx, dword [ebp - 0x3c]
add eax, dword [ebp - 0x38]
add ecx, dword [ebp - 0x40]
mov al, byte [eax + edx]
mov byte [ecx + ebx], al
mov eax, edi
imul eax, dword [ebp - 0x44]
mov ecx, edi
imul ecx, dword [ebp - 0x4c]
add eax, dword [ebp - 0x48]
add ecx, dword [ebp - 0x50]
mov al, byte [eax + edx]
mov edx, ebx
mov ebx, dword [ebp - 0x54]
mov byte [ecx + edx], al
xor eax, eax
inc eax
cmp eax, 0xcdf
je 0xdd9a93
cmp byte [eax + 0xdd1694], 0
jne 0xdd9a80
jmp 0xdd9a99
and esi, 0xf0329516
add esi, 0xcf3505f2
xor esi, 0xe3b16281
call fcn.00dd4f60
mov ecx, dword [ebp - 8]
mov eax, edi
imul eax, dword [ebp - 0x58]
imul edi, dword [ebp - 0x60]
add eax, dword [ebp - 0x5c]
add edi, ebx
mov ebx, dword [ebp - 4]
inc bl
mov dword [ebp - 4], ebx
mov al, byte [eax + ecx]
mov ecx, dword [ebp - 0xc]
mov byte [edi + ecx], al
movzx edi, bl
mov ebx, dword [0xe1bf24]
cmp edi, ebx
jl 0xdd9714
jmp 0xdd9ae6
mov esi, dword [0xe1a0b4]
xor edx, edx
mov ecx, 0xdd1390
mov eax, edx
inc eax
lea ecx, [ecx + 2]
cmp eax, 0x7df
je 0xdd9b13
cmp word [ecx], dx
jne 0xdd9aef
cmp eax, 0x171b
jle 0xdd9b19
call fcn.00dd4f60
and esi, 0x70e5fcfa
jmp 0xdd9b1f
add esi, 0x67003aef
or esi, 0xd90d454
xor esi, 0x2b1f2149
mov dword [0xe1a0b4], esi
cmp bl, byte [ebp - 0x84]
jae 0xdda897
push 0x45
pop eax
push 0x32
pop edx
push 0x58
pop ecx
push 0x39
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x248], eax
pop eax
push 0xb
pop edi
push 0x12
mov dword [ebp - 0x24c], ecx
mov dword [ebp - 0x1b4], ecx
pop ecx
push 0x10
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x218], eax
pop eax
push 0x3e
mov dword [ebp - 0x23c], edx
mov dword [ebp - 0x25c], edx
pop edx
mov dword [ebp - 0x1c8], 7
mov dword [ebp - 0x1c4], 0x56
mov dword [ebp - 0x1c0], 0xffffffa3
mov dword [ebp - 0x22c], 6
mov dword [ebp - 0x228], 3
mov dword [ebp - 0x224], 0xffffff6b
mov dword [ebp - 0x240], 0x14
mov dword [ebp - 0x238], 0x3b
mov dword [ebp - 0x234], 0xffffff21
mov dword [ebp - 0x250], 0x43
mov dword [ebp - 0x244], 0xffffff20
mov dword [ebp - 0x260], 0x3c
mov dword [ebp - 0x258], 0x25
mov dword [ebp - 0x254], 0xffffff0a
mov dword [ebp - 0x270], 0x61
mov dword [ebp - 0x26c], 0x15
mov dword [ebp - 0x268], 0x51
mov dword [ebp - 0x264], 0xfffffedb
mov dword [ebp - 0x1ac], 0x1b
mov dword [ebp - 0x1a8], 0xffffffbb
mov dword [ebp - 0xb4], 9
mov dword [ebp - 0xb0], 0x16
mov dword [ebp - 0xa8], 0xffffff7c
mov dword [ebp - 0xa4], 0xa
mov dword [ebp - 0xa0], 0x18
mov dword [ebp - 0x9c], 0x52
mov dword [ebp - 0x98], 0xffffff69
mov dword [ebp - 0xc4], 0x4a
mov dword [ebp - 0xc0], 0x2f
mov dword [ebp - 0xbc], 0x26
mov dword [ebp - 0xb8], 0xffffff37
mov dword [ebp - 0x94], 0x27
mov dword [ebp - 0x90], 8
mov dword [ebp - 0x8c], 0x1c
mov dword [ebp - 0x88], 0xffffff75
mov dword [ebp - 0x1b0], 0xffffff87
mov dword [ebp - 0x220], edi
mov dword [ebp - 0x21c], 0x47
mov dword [ebp - 0x214], 0xffffff9f
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x278], 0x55
mov dword [ebp - 0x274], 0xffffff96
mov dword [ebp - 0x290], 0xd
mov dword [ebp - 0x28c], 0x17
mov dword [ebp - 0x288], 0x5a
mov dword [ebp - 0x284], 0xffffff46
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], 0xffffffcf
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], 0x44
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x130], 0xffffff43
mov dword [ebp - 0x1d4], 0x13
mov dword [ebp - 0x1d0], edx
mov dword [ebp - 0x1cc], 0xffffff8d
mov dword [ebp - 0x1e0], 0x4d
movups xmm5, xmmword [ebp - 0xb4]
push 0x42
movups xmm6, xmmword [ebp - 0xa4]
pop ecx
movups xmm7, xmmword [ebp - 0xc4]
push 0x4a
movups xmm2, xmmword [ebp - 0x94]
pop eax
movups xmm4, xmmword [ebp - 0x220]
mov dword [ebp - 0x18], eax
push 0x3d
mov dword [ebp - 0x150], eax
pop eax
mov dword [ebp - 0x20], 0x46
mov dword [ebp - 0x1c], 0x40
mov dword [ebp - 0x14], 0xffffff00
movups xmm3, xmmword [ebp - 0x20]
mov dword [ebp - 0x1dc], 0x21
mov dword [ebp - 0x1d8], 0xffffff40
mov dword [ebp - 0x1ec], 0x54
mov dword [ebp - 0x1e8], 0x47
mov dword [ebp - 0x1e4], 0xffffff91
mov dword [ebp - 0x1f8], 0x32
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1f0], 0xffffff4c
mov dword [ebp - 0x204], 0x26
mov dword [ebp - 0x200], edi
mov dword [ebp - 0x1fc], 0xffffffef
mov dword [ebp - 0x210], 0x18
mov dword [ebp - 0x20c], 0x5c
mov dword [ebp - 0x208], 0xffffffa8
mov dword [ebp - 0xe8], 0x5c
mov dword [ebp - 0xe4], 0x4b
mov dword [ebp - 0xe0], 0xffffff60
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], 0x4e
mov dword [ebp - 0x144], 0xfffffedd
mov dword [ebp - 0xcc], 0x2c
mov dword [ebp - 0xc8], 0xffffffc6
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xd4], 0xffffffbd
mov dword [ebp - 0x68], 0x5d
mov dword [ebp - 0x64], 0xffffff5a
mov dword [ebp - 0xf8], 0xe
mov dword [ebp - 0xf4], 0x1f
mov dword [ebp - 0xf0], 0xffffffa6
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x104], 0x5b
mov dword [ebp - 0x100], 0xffffff8b
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], 0xffffffa9
mov dword [ebp - 0x7c], 0x4f
mov dword [ebp - 0x78], 0x5f
mov dword [ebp - 0x74], 0x15
mov dword [ebp - 0x70], 0xffffff55
mov dword [ebp - 0x128], 0x1d
mov dword [ebp - 0x124], 0x41
mov dword [ebp - 0x120], 0xffffffc3
mov dword [ebp - 8], ebx
xor eax, eax
mov ebx, eax
mov ecx, eax
push 0x66
mov edx, 0xdd1390
pop edi
lea eax, [edi - 0x30]
push 9
pop edi
cmp ax, di
ja 0xdd9f90
add edx, 2
movzx eax, word [edx]
mov edi, eax
test ax, ax
jne 0xdd9f76
jmp 0xdd9f96
or esi, 0x8891ad5f
sub ebx, dword [ebp + ecx*4 - 0x1c8]
sub esi, 0x40e39780
inc ecx
cmp ecx, 3
jl 0xdd9f6e
movups xmm1, xmmword [ebp - 0x230]
push 0x2b
pop ecx
movaps xmm0, xmm1
mov dword [ebp - 0x54], ebx
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
movups xmm1, xmmword [ebp - 0x240]
push 2
add eax, 0x4b
movaps xmm0, xmm1
mov dword [ebp - 0x5c], eax
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movups xmm0, xmmword [ebp - 0x250]
pop ebx
movd eax, xmm1
xorps xmm1, xmm1
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
add eax, 0x5f
paddd xmm1, xmm0
mov dword [ebp - 0x60], eax
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x58], xmm1
movups xmm1, xmmword [ebp - 0x260]
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
movups xmm1, xmmword [ebp - 0x270]
add eax, 0x64
movaps xmm0, xmm1
mov dword [ebp - 0x44], eax
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x62
xor edi, edi
mov dword [ebp - 0x4c], eax
mov eax, edi
add ecx, dword [ebp + eax*4 - 0x1ac]
inc eax
cmp eax, ebx
jl 0xdda085
movups xmm1, xmm5
mov dword [ebp - 0x50], ecx
movaps xmm0, xmm1
xor esi, 0xdfa39b2f
psrldq xmm0, 8
mov edx, 0xdd1390
paddd xmm1, xmm0
mov ecx, edx
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
movups xmm1, xmm6
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
add eax, 0x2d
movups xmm0, xmm1
mov dword [ebp - 0x48], eax
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x25
mov dword [ebp - 0x34], eax
mov eax, edi
add ecx, ebx
inc eax
cmp eax, 0x13b1
je 0xdda10c
cmp word [ecx], di
jne 0xdda0ed
cmp eax, 0x14e1
jle 0xdda121
mov ecx, esi
call fcn.00dd512c
jmp 0xdda121
push ecx
push 0xdd1694
mov ecx, esi
call fcn.00dd50bb
pop ecx
pop ecx
and esi, 0xb685aa0b
movups xmm1, xmm7
xor esi, 0x3f7bc782
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
movups xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
add eax, 0x2e
movups xmm0, xmm1
mov dword [ebp - 0x3c], eax
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
push 0x23
pop ecx
add eax, 0x41
mov dword [ebp - 0x40], eax
mov eax, edi
add ecx, dword [ebp + eax*4 - 0x1b4]
inc eax
cmp eax, ebx
jl 0xdda176
push 0x50
mov dword [ebp - 0x38], ecx
mov edx, 0x107f
mov eax, 0xdd16b8
pop ecx
add edx, ecx
inc eax
cmp edx, 0x23fa
ja 0xdda1ac
movsx ecx, byte [eax]
test ecx, ecx
jne 0xdda192
and esi, 0x3fb3559c
jmp 0xdda1d1
push ecx
push 0xdd1694
mov edx, 0xdd1390
mov ecx, esi
call fcn.00dd50bb
pop ecx
pop ecx
and esi, 0x63e097b6
call fcn.00dd4f60
or esi, 0xb9ebe123
or esi, 0x63e7067e
call fcn.00dd513e
xorps xmm1, xmm1
mov dword [ebp - 0x2a4], 0x10
psubd xmm1, xmm4
mov dword [ebp - 0x2a0], 0x57
movaps xmm0, xmm1
mov dword [ebp - 0x29c], 0x49
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x298], 0x32
movups xmm0, xmm1
mov dword [ebp - 0x294], 0xffffff3e
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
push 0x24
pop ecx
add eax, 0x2d
mov dword [ebp - 0x24], eax
mov eax, edi
sub ecx, dword [ebp + eax*4 - 0x2a4]
inc eax
cmp eax, 5
jl 0xdda23c
movups xmm0, xmmword [ebp - 0x280]
mov dword [ebp - 0x2c], ecx
or esi, 0xc9400199
xorps xmm1, xmm1
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
movups xmm1, xmmword [ebp - 0x290]
push 0x21
add eax, 0xd
movaps xmm0, xmm1
mov dword [ebp - 0x30], eax
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop ecx
add eax, 0x3f
mov dword [ebp - 0x28], eax
mov eax, edi
add ecx, dword [ebp + eax*4 - 0x1bc]
inc eax
cmp eax, ebx
jl 0xdda2b0
push 0x3c
pop ebx
push 0x74
mov dword [ebp - 0x168], ecx
mov edx, 0x2020
mov eax, 0xdd1694
pop ecx
add edx, ecx
inc eax
cmp edx, 0x21c4
ja 0xdda2e6
movsx ecx, byte [eax]
test ecx, ecx
jne 0xdda2d2
jmp 0xdda2f1
call fcn.00dd4f60
sub esi, 0x4fa606d0
imul esi, esi, 0xa9b19e63
mov edx, 0xdd1390
push ecx
push 0xdd1694
mov ecx, esi
call fcn.00dd50bb
pop ecx
pop ecx
mov dword [ebp - 0x2b8], 0x5a
mov eax, edi
mov dword [ebp - 0x2b4], 0x44
mov dword [ebp - 0x2b0], 0x4b
mov dword [ebp - 0x2ac], 0x5c
mov dword [ebp - 0x2a8], 0xfffffef1
sub ebx, dword [ebp + eax*4 - 0x2b8]
inc eax
cmp eax, 5
jl 0xdda33f
push 0x5b
mov dword [ebp - 0x16c], ebx
mov eax, edi
pop ecx
add ecx, dword [ebp + eax*4 - 0x13c]
imul esi, esi, 0x7961b681
inc eax
cmp eax, 4
jl 0xdda357
push 0x26
mov dword [ebp - 0x170], ecx
mov eax, edi
pop ecx
push 3
pop edx
add ecx, dword [ebp + eax*4 - 0x1d4]
inc eax
cmp eax, edx
jl 0xdda378
push 0x52
mov dword [ebp - 0x180], ecx
mov eax, edi
pop ecx
add ecx, dword [ebp + eax*4 - 0x1e0]
inc eax
cmp eax, edx
jl 0xdda38f
push 0x30
pop ebx
mov dword [ebp - 0x184], ecx
mov eax, edi
mov ecx, ebx
sub ecx, dword [ebp + eax*4 - 0x1ec]
inc eax
cmp eax, edx
jl 0xdda3a8
push 0x40
mov dword [ebp - 0x174], ecx
mov eax, edi
pop ecx
add ecx, dword [ebp + eax*4 - 0x1f8]
inc eax
cmp eax, edx
jl 0xdda3bf
movups xmm1, xmm3
mov dword [ebp - 0x178], ecx
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
push 0x24
pop ecx
add eax, ebx
mov dword [ebp - 0x17c], eax
mov eax, edi
sub ecx, dword [ebp + eax*4 - 0x204]
inc eax
cmp eax, edx
jl 0xdda3fd
push 7
mov dword [ebp - 0x194], ecx
mov eax, edi
pop ecx
mov dword [ebp - 0x2cc], 0x16
mov dword [ebp - 0x2c8], 0x12
mov dword [ebp - 0x2c4], ebx
mov dword [ebp - 0x2c0], 0x37
mov dword [ebp - 0x2bc], 0xffffff77
sub ecx, dword [ebp + eax*4 - 0x2cc]
inc eax
cmp eax, 5
jl 0xdda442
push 0x20
mov dword [ebp - 0x198], ecx
mov al, 0x74
pop edx
mov ecx, 0xdd1694
sub al, 0x30
cmp al, 9
ja 0xdda46e
inc ecx
mov al, byte [ecx]
test al, al
jne 0xdda45f
jmp 0xdda474
sub esi, 0x67af54b3
imul ebx, esi, 0xcaa79107
mov eax, edi
sub edx, dword [ebp + eax*4 - 0x210]
inc eax
cmp eax, 3
jl 0xdda47c
push 8
mov dword [ebp - 0x188], edx
mov eax, edi
pop ecx
sub ecx, dword [ebp + eax*4 - 0xe8]
inc eax
cmp eax, 3
jl 0xdda494
push 0xa
mov dword [ebp - 0x18c], ecx
mov eax, edi
pop ecx
mov dword [ebp - 0x2e0], 0x47
mov dword [ebp - 0x2dc], 0x30
mov dword [ebp - 0x2d8], 0x3c
mov dword [ebp - 0x2d4], 0x21
mov dword [ebp - 0x2d0], 0xffffff35
sub ecx, dword [ebp + eax*4 - 0x2e0]
inc eax
cmp eax, 5
jl 0xdda4de
movups xmm1, xmmword [ebp - 0x150]
push 0x10
mov dword [ebp - 0x190], ecx
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop edi
add eax, 0x52
mov dword [ebp - 0x158], eax
xor eax, eax
mov esi, eax
push 0x50
mov edx, 0xdc9
mov eax, 0xdd16b8
pop ecx
add edx, ecx
inc eax
cmp edx, 0xef9
ja 0xdda545
movsx ecx, byte [eax]
test ecx, ecx
jne 0xdda531
jmp 0xdda54b
xor ebx, 0x93eb2fab
add edi, dword [ebp + esi*4 - 0xcc]
add ebx, 0xfddadb5f
and ebx, 0xa83ef175
inc esi
cmp esi, 2
jl 0xdda524
push 0x3c
xor edx, edx
mov dword [ebp - 0x15c], edi
pop ecx
mov eax, edx
add ecx, dword [ebp + eax*4 - 0xd8]
inc eax
cmp eax, 2
jl 0xdda571
push 0x10
mov dword [ebp - 0x19c], ecx
mov eax, edx
pop ecx
mov dword [ebp - 0x2f4], 0x38
mov dword [ebp - 0x2f0], 0x61
mov dword [ebp - 0x2ec], 0x52
mov dword [ebp - 0x2e8], 0x3f
mov dword [ebp - 0x2e4], 0xfffffee4
sub ecx, dword [ebp + eax*4 - 0x2f4]
inc eax
cmp eax, 5
jl 0xdda5bb
push 0x4b
mov dword [ebp - 0x1a0], ecx
mov eax, edx
pop ecx
add ecx, dword [ebp + eax*4 - 0x68]
inc eax
cmp eax, 2
jl 0xdda5d3
push 0x31
mov dword [ebp - 0x1a4], ecx
mov eax, edx
pop ecx
add ecx, dword [ebp + eax*4 - 0xf8]
inc eax
cmp eax, 3
jl 0xdda5e8
push 0x27
mov dword [ebp - 0x98], ecx
mov eax, edx
pop ecx
sub ecx, dword [ebp + eax*4 - 0x108]
inc eax
cmp eax, 3
jl 0xdda600
push 0x2c
pop edi
push 0x66
mov dword [ebp - 0xa8], ecx
mov edx, 0x18b2
mov eax, 0xdd1390
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x10ff
ja 0xdda639
movzx ecx, word [eax]
test ecx, ecx
jne 0xdda623
jmp 0xdda63f
and ebx, 0x981f2f89
xor ebx, 0xbd06f9d
mov edx, 0xdd1390
imul esi, ebx, 0xfa60fa42
push ecx
push 0xdd1694
mov ecx, esi
call fcn.00dd50bb
pop ecx
xor edx, edx
pop ecx
mov eax, edx
sub edi, dword [ebp + eax*4 - 0x118]
inc eax
cmp eax, 3
jl 0xdda663
movups xmm0, xmmword [ebp - 0x7c]
mov dword [ebp - 0x160], edi
xorps xmm1, xmm1
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
push 0x24
pop ecx
add eax, 0x1b
mov dword [ebp - 0x164], eax
mov eax, edx
sub ecx, dword [ebp + eax*4 - 0x128]
inc eax
cmp eax, 3
jl 0xdda6ab
mov eax, dword [ebp - 0x10]
mov edx, 0x4a2
mov ebx, dword [ebp - 0xc]
movzx edi, al
mov eax, edi
mov dword [ebp - 0xb8], ecx
sub eax, dword [ebp - 0x60]
imul eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x54]
push 0x50
add eax, dword [ebp - 0x58]
mov al, byte [eax + ebx]
mov byte [ebp + ecx - 4], al
mov eax, edi
sub eax, dword [ebp - 0x50]
imul eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x44]
add eax, dword [ebp - 0x48]
mov al, byte [eax + ebx]
mov byte [ebp + ecx - 4], al
mov eax, 0xdd16b8
pop ecx
add edx, ecx
inc eax
cmp edx, 0xfb6
ja 0xdda714
movsx ecx, byte [eax]
test ecx, ecx
jne 0xdda700
jmp 0xdda71a
xor esi, 0x4c9964e1
imul eax, esi, 0x704d0319
mov esi, 0xdb633381
sub esi, eax
mov ecx, esi
call fcn.00dd512c
mov ecx, dword [ebp - 0x34]
mov eax, edi
sub eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x38]
mov al, byte [eax + ebx]
mov byte [ebp + ecx - 4], al
mov eax, edi
sub eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x24]
add eax, dword [ebp - 0x28]
mov al, byte [eax + ebx]
mov byte [ebp + ecx - 4], al
mov eax, edi
mov ecx, dword [ebp - 8]
cdq
idiv ecx
mov ebx, eax
cmp edx, dword [ebp - 0x168]
jne 0xdda7a2
lea ecx, [ebp - 4]
call fcn.00dd92ac
mov edx, dword [ebp + 8]
lea ecx, [ebp - 4]
call fcn.00dd91ca
lea eax, [ebp - 4]
mov cl, bl
push eax
call fcn.00dd7077
mov edx, eax
lea ecx, [ebp - 4]
call fcn.00dd52ae
movups xmm2, xmmword [ebp - 0x94]
pop ecx
movups xmm3, xmmword [ebp - 0x20]
jmp 0xdda7bd
cmp ecx, dword [ebp - 0x16c]
jle 0xdda7c0
cmp edx, dword [ebp - 0x170]
jne 0xdda7c0
mov edx, dword [ebp + 8]
lea ecx, [ebp - 4]
call fcn.00dd91ca
mov ecx, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
mov edx, edi
sub edx, ecx
mov eax, edx
imul eax, dword [ebp - 0x174]
add eax, dword [ebp - 0x178]
mov cl, byte [eax + ebx]
mov eax, dword [ebp - 0x17c]
xor cl, byte [ebp + eax - 4]
mov eax, edi
imul eax, dword [ebp - 0x180]
add eax, dword [ebp - 0x184]
mov byte [eax + ebx], cl
mov eax, dword [ebp - 0x188]
imul eax, edx
add eax, dword [ebp - 0x18c]
mov cl, byte [eax + ebx]
mov eax, dword [ebp - 0x190]
xor cl, byte [ebp + eax - 4]
mov eax, edi
imul eax, dword [ebp - 0x194]
add eax, dword [ebp - 0x198]
mov byte [eax + ebx], cl
mov eax, dword [ebp - 0x19c]
imul eax, edx
add eax, dword [ebp - 0x1a0]
mov cl, byte [eax + ebx]
mov eax, dword [ebp - 0x1a4]
xor cl, byte [ebp + eax - 4]
mov eax, edi
imul eax, dword [ebp - 0x158]
imul edi, dword [ebp - 0x98]
add eax, dword [ebp - 0x15c]
add edi, dword [ebp - 0xa8]
mov byte [eax + ebx], cl
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0xb8]
imul eax, edx
add eax, dword [ebp - 0x164]
mov al, byte [eax + ebx]
xor al, byte [ebp + ecx - 4]
mov byte [edi + ebx], al
mov eax, dword [ebp - 0x10]
inc al
mov dword [ebp - 0x10], eax
cmp al, byte [ebp - 0x84]
jb 0xdd9f68
mov dword [0xe1a0b4], esi
pop edi
pop esi
pop ebx
leave
ret