Function at 0xde61cf
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xf2c
push ebx
push esi
push edi
push 0x55
pop esi
push 5
xor edx, edx
mov dword [esp + 0xf0], ecx
pop ebx
mov ecx, edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], 0x11
mov eax, edx
mov dword [esp + 0x20], 0x2d
mov dword [esp + 0x24], 0x58
mov dword [esp + 0x28], 0xffffff15
mov dword [esp + 0x274], ebx
sub ecx, dword [esp + eax*4 + 0x18]
inc eax
cmp eax, ebx
jl 0xde621c
mov dword [esp + 0xd0], ecx
mov eax, edx
mov ecx, edx
mov dword [esp + 0xbc], 0x38
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], 0xffffff73
sub ecx, dword [esp + eax*4 + 0xbc]
inc eax
cmp eax, 3
jl 0xde624d
push 0xe
pop eax
push 0x13
mov byte [esp + 0xfe], al
lea edi, [esp + 0x74]
pop eax
push 0xb
mov byte [esp + 0x104], al
mov esi, 0xdd1fc0
pop eax
push 6
mov byte [esp + 0x10b], al
pop eax
mov byte [esp + 0x11c], al
push 7
pop eax
mov dword [esp + 0x124], ecx
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x250], eax
mov eax, edx
mov word [esp + 0xf8], 0x9075
mov dword [esp + 0xfb], 0xc2f1a132
movsb byte es:[edi], byte [esi]
mov byte [esp + 0xff], 0x65
mov edi, edx
mov dword [esp + 0x101], 0x97ffb25e
mov word [esp + 0x105], 0x4d3c
mov dword [esp + 0x108], 0x68f33fed
mov dword [esp + 0x10c], 0x75d500b0
mov dword [esp + 0x110], 0x726b79ca
mov dword [esp + 0x114], 0xedbacb02
mov dword [esp + 0x118], 0x42908cea
mov dword [esp + 0x11d], 0x3a6e3f4e
mov word [esp + 0x121], 0x4d
mov byte [esp + 0x123], 0xc8
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde632b
push 0x1c
mov esi, edx
pop ecx
xor edx, edx
mov bl, byte [esp + esi + 0x138]
mov eax, esi
div ecx
movzx ecx, bl
push 0x1c
movzx eax, byte [esp + edx + 0x74]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], bl
cmp esi, 0x100
jb 0xde633f
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x138]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x138]
mov byte [esp + edi + 0x138], al
mov byte [esp + ebx + 0x138], cl
movzx eax, byte [esp + edi + 0x138]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + esi + 0xf8]
mov byte [esp + esi + 0x478], al
inc esi
cmp esi, 0x2c
jb 0xde6384
xor eax, eax
mov ebx, dword [0xe1a4c0]
push 7
mov byte [esp + 0x4a8], al
lea edi, [esp + 0x74]
pop eax
mov ecx, eax
mov dword [esp + 0xc], 0x31398b4f
mov esi, 0xdd1fc0
rep movsd dword es:[edi], dword [esi]
push 0x49
pop edx
push 0x3a
movsb byte es:[edi], byte [esi]
mov ecx, 0xdd2460
mov esi, ebx
xor esi, 0xf590b067
pop eax
add eax, edx
add ecx, 2
mov edi, 0xdd24f0
cmp eax, 0x2198
ja 0xde6436
movzx edx, word [ecx]
test edx, edx
jne 0xde6412
xor ebx, 0x920d4ec4
mov dword [esp + 0x68], ebx
jmp 0xde6456
push ecx
push edi
call fcn.00de5a72
mov ebx, esi
mov edx, esi
or ebx, 0x1bdc8252
mov ecx, edi
push esi
mov dword [esp + 0x74], ebx
call fcn.00de5bd6
add esp, 0xc
xor ebx, 0x4ffef41d
mov dword [esp + 0x14], ebx
call fcn.00de5af5
xor ecx, ecx
mov edi, ecx
mov eax, ecx
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde646b
mov esi, ecx
xor edx, edx
mov bl, byte [esp + esi + 0x138]
push 0x1c
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x70]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], bl
cmp esi, 0x100
jb 0xde647c
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x138]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x138]
mov byte [esp + edi + 0x138], al
mov byte [esp + ebx + 0x138], cl
movzx eax, byte [esp + edi + 0x138]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + esi + 0xc]
mov byte [esp + esi + 0x238], al
inc esi
cmp esi, 4
jb 0xde64c1
xor edx, edx
mov dword [esp + 0xbc], 0x5b
push 0x51
mov byte [esp + 0x240], dl
mov eax, edx
pop ecx
mov dword [esp + 0xc0], 0x16
mov dword [esp + 0xc4], 0xffffff40
add ecx, dword [esp + eax*4 + 0xbc]
inc eax
cmp eax, 3
jl 0xde6540
mov dword [esp + 0xdc], 0x40
mov dword [esp + 0xe0], 0x44
mov dword [esp + 0xe4], 0x60
mov dword [esp + 0xe8], 0xfffffeea
movups xmm1, xmmword [esp + 0xdc]
mov ebx, dword [esp + 0x14]
push 9
movaps xmm0, xmm1
mov dword [esp + 0xbc], ecx
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0xc8], 0xffffffe4
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x32
sub ebx, 0x4acd09be
mov dword [esp + 0x68], eax
pop eax
push 0x11
mov ecx, eax
pop eax
mov dword [esp + 0xbc], eax
push 0x13
pop eax
mov dword [esp + 0xc0], eax
mov eax, edx
sub ecx, dword [esp + eax*4 + 0xbc]
inc eax
cmp eax, 3
jl 0xde65db
mov esi, 0xdd1020
mov dword [esp + 0x44], ecx
lea edi, [esp + 0x18]
mov dword [esp + 0x48], 0xa5f8678f
push 0x11
pop eax
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x4c], 0xf1c54174
mov dword [esp + 0x50], 0x4fe1ec4f
mov dword [esp + 0x54], 0x6899d080
movsd dword es:[edi], dword [esi]
mov word [esp + 0x58], 0x77d8
mov byte [esp + 0x5a], al
mov dword [esp + 0x5b], 0x1e729f88
movsd dword es:[edi], dword [esi]
mov byte [esp + 0x5f], 0x75
mov dword [esp + 0xc8], edx
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, dword [esp + 0x68]
mov edi, edx
push 0x49
mov ecx, 0xdd2460
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0xde6665
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0xde664b
jmp 0xde66c3
mov ecx, 0xdd24f0
mov al, 0x6e
sub al, 0x30
cmp al, dl
ja 0xde667b
inc ecx
mov al, byte [ecx]
test al, al
jne 0xde666c
jmp 0xde66b6
xor edx, edx
mov eax, 0xdd2460
mov ecx, edx
inc ecx
lea eax, [eax + 2]
cmp ecx, 0x979
je 0xde6697
cmp word [eax], dx
jne 0xde6684
jmp 0xde66a4
call fcn.00de5af5
mov esi, ebx
or esi, 0x6635dd54
lea ebx, [esi + 0x67fece43]
xor ebx, 0x6c83588d
add ebx, 0x28fcaa35
push ecx
push 0xdd24f0
call fcn.00de5a72
pop ecx
pop ecx
push ecx
mov esi, ebx
push 0xdd24f0
and esi, 0x26967bc0
call fcn.00de5a72
mov eax, dword [esp + 0xd0]
pop ecx
pop ecx
mov byte [esp + eax + 0x138], al
inc eax
mov dword [esp + 0xc8], eax
cmp eax, 0x100
jb 0xde6643
xor eax, eax
mov dword [esp + 0x14], ebx
mov esi, eax
xor edx, edx
mov bl, byte [esp + esi + 0x138]
push 0x11
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x18]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], bl
cmp esi, 0x100
jb 0xde6701
xor eax, eax
mov edx, eax
mov ecx, eax
mov edi, eax
lea eax, [ecx + 1]
movzx ebx, al
mov dword [esp + 0xcc], ebx
mov bl, byte [esp + ebx + 0x138]
movzx esi, bl
lea eax, [edx + esi]
movzx eax, al
mov dword [esp + 0x6c], eax
push ecx
push 0xdd24f0
call fcn.00de5a72
mov edx, dword [esp + 0x74]
pop ecx
pop ecx
mov ecx, dword [esp + 0xcc]
mov al, byte [esp + edx + 0x138]
mov byte [esp + ecx + 0x138], al
mov byte [esp + edx + 0x138], bl
movzx eax, byte [esp + ecx + 0x138]
add eax, esi
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + edi + 0x48]
mov byte [esp + edi + 0x3b4], al
inc edi
cmp edi, 0x18
jb 0xde6746
push 5
pop eax
mov ecx, eax
mov dword [esp + 0xc], 0xe9ea3f94
mov eax, dword [esp + 0x14]
lea edi, [esp + 0x18]
xor edx, edx
mov esi, 0xdd1fe0
rep movsd dword es:[edi], dword [esi]
mov byte [esp + 0x3cc], dl
mov edi, edx
mov ecx, edx
xor eax, 0xaf633b74
mov byte [esp + ecx + 0x138], cl
inc ecx
cmp ecx, 0x100
jb 0xde67e2
mov dword [esp + 0x14], eax
mov esi, edx
xor edx, edx
mov bl, byte [esp + esi + 0x138]
push 0x13
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x18]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], bl
cmp esi, 0x100
jb 0xde67fd
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x138]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x138]
mov byte [esp + edi + 0x138], al
mov byte [esp + ebx + 0x138], cl
movzx eax, byte [esp + edi + 0x138]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + esi + 0xc]
mov byte [esp + esi + 0x240], al
inc esi
cmp esi, 4
jb 0xde6842
push 0x19
xor ecx, ecx
mov dword [esp + 0x1c], 0x5196e1ad
pop eax
mov byte [esp + 0x28], al
mov edi, ecx
mov byte [esp + 0x244], cl
mov eax, ecx
mov dword [esp + 0x1c], 0xa614fb5f
mov dword [esp + 0x20], 0xcd69635d
mov dword [esp + 0x24], 0xdd4d63c7
mov dword [esp + 0x29], 0xbd6752b8
mov word [esp + 0x2d], 0x6502
mov byte [esp + 0x2f], 0x44
mov dword [esp + 0x130], 0x73657268
mov dword [esp + 0x134], 0x746c75
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde68f0
mov esi, ecx
xor edx, edx
mov bl, byte [esp + esi + 0x138]
push 7
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x130]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], bl
cmp esi, 0x100
jb 0xde6901
mov ebx, dword [esp + 0x14]
xor ebx, 0xfbd769d4
or ebx, 0xc3c36854
mov dword [esp + 0x14], ebx
call fcn.00de5af5
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x138]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x138]
mov byte [esp + edi + 0x138], al
mov byte [esp + ebx + 0x138], cl
movzx eax, byte [esp + edi + 0x138]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + esi + 0x18]
mov byte [esp + esi + 0x45c], al
inc esi
cmp esi, 0x18
jb 0xde6962
mov ebx, dword [esp + 0x14]
lea edi, [esp + 0x130]
mov esi, 0xdd1ff4
mov dword [esp + 0x70], 0xe88c995d
xor ecx, ecx
mov dword [esp + 0x74], 0xc70a7d33
mov edx, ebx
mov byte [esp + 0x474], cl
and edx, 0xd3d0d373
mov dword [esp + 0x78], 0x948215e7
movsd dword es:[edi], dword [esi]
mov eax, ecx
mov dword [esp + 0x7c], 0x32de1f9e
mov dword [esp + 0x80], 0xd4a5d46
mov dword [esp + 0x84], 0xf93f4328
movsw word es:[edi], word [esi]
mov dword [esp + 0x88], 0xd0e79cb5
mov dword [esp + 0x8c], 0xf1d901d3
mov dword [esp + 0x90], 0x6e4daa10
movsb byte es:[edi], byte [esi]
mov dword [esp + 0x94], 0x6cd3b380
mov edi, ecx
mov dword [esp + 0x98], 0x9c83a47b
mov dword [esp + 0xc], edx
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde6a4c
lea eax, [edx - 0x4a3b89d3]
mov esi, ecx
mov dword [esp + 0x60], eax
jmp 0xde6a6d
mov edx, dword [esp + 0xc]
mov ecx, 0xdd24f0
mov al, 0x6e
sub al, 0x30
cmp al, 9
ja 0xde6a83
inc ecx
mov al, byte [ecx]
test al, al
jne 0xde6a74
jmp 0xde6a89
sub ebx, 0x627c6510
lea eax, [ebx + 0x508dc1a4]
mov ecx, 0xdd24f0
push eax
call fcn.00de5bd6
pop ecx
xor edx, edx
mov bl, byte [esp + esi + 0x138]
push 6
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x130]
mov edx, dword [esp + 0x60]
add eax, edi
add ecx, eax
mov dword [esp + 0x14], edx
movzx edi, cl
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], bl
mov ebx, edx
cmp esi, 0x100
jb 0xde6a69
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
xor edx, 0xc63ae355
movzx edi, al
mov dword [esp + 0x60], edx
mov dword [0xe1a4c0], edx
mov cl, byte [esp + edi + 0x138]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x138]
mov byte [esp + edi + 0x138], al
mov byte [esp + ebx + 0x138], cl
movzx eax, byte [esp + edi + 0x138]
add eax, edx
mov edx, dword [esp + 0x60]
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + esi + 0x70]
mov byte [esp + esi + 0x4a8], al
inc esi
cmp esi, 0x2c
jb 0xde6aed
mov esi, 0xdd1ffc
mov dword [esp + 0x70], 0x23b66261
lea edi, [esp + 0xbc]
mov byte [esp + 0x74], 0x54
push 5
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [esp + 0x75], al
push 0xb
pop eax
movsd dword es:[edi], dword [esi]
mov byte [esp + 0x94], al
mov eax, ecx
mov byte [esp + 0x4d4], cl
mov dword [esp + 0x76], 0xc373437f
movsw word es:[edi], word [esi]
mov dword [esp + 0x7a], 0x7ea4d2c7
mov edi, ecx
mov dword [esp + 0x7e], 0xf0ea0d89
mov dword [esp + 0x82], 0x6b9d16d8
mov dword [esp + 0x86], 0x9f56976a
mov dword [esp + 0x8a], 0x44ce825
mov dword [esp + 0x8e], 0x4eb3caba
mov word [esp + 0x92], 0x2648
mov dword [esp + 0x95], 0x96918be9
mov word [esp + 0x99], 0xf7b4
mov byte [esp + 0x9b], 0xca
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde6bf7
mov eax, dword [esp + 0xc]
mov esi, ecx
xor eax, 0xbb7ac771
mov bl, byte [esp + esi + 0x138]
mov dword [esp + 0xc], eax
xor edx, edx
push 9
pop ecx
mov eax, esi
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0xbc]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
mov eax, dword [esp + 0xc]
add eax, 0xb6b104b
mov byte [esp + edi + 0x138], bl
inc esi
mov dword [esp + 0xc], eax
cmp esi, 0x100
jb 0xde6c0c
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x138]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x138]
mov byte [esp + edi + 0x138], al
mov byte [esp + ebx + 0x138], cl
movzx eax, byte [esp + edi + 0x138]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + esi + 0x70]
mov byte [esp + esi + 0x4d8], al
inc esi
cmp esi, 0x2c
jb 0xde6c6a
mov esi, 0xdd2008
mov dword [esp + 0x48], 0xa4bdaf53
lea edi, [esp + 0x18]
mov dword [esp + 0x4c], 0x8221e314
xor ecx, ecx
mov dword [esp + 0x50], 0x5d028f2b
mov byte [esp + 0x504], cl
mov eax, ecx
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x54], 0x9280f48b
mov dword [esp + 0x58], 0xa1be66fc
mov dword [esp + 0x5c], 0x69bcd36c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, ecx
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde6d06
mov esi, ecx
xor edx, edx
mov bl, byte [esp + esi + 0x138]
push 0x11
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x18]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], bl
cmp esi, 0x100
jb 0xde6d17
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x138]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x138]
mov byte [esp + edi + 0x138], al
mov byte [esp + ebx + 0x138], cl
movzx eax, byte [esp + edi + 0x138]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + esi + 0x48]
mov byte [esp + esi + 0x3d0], al
inc esi
cmp esi, 0x18
jb 0xde6d5c
mov eax, dword [0xdd201c]
xor ecx, ecx
xor dword [esp + 0xc], 0x91dc7443
mov edi, ecx
mov dword [esp + 0x34], eax
mov ax, word [0xdd2020]
mov word [esp + 0x38], ax
mov eax, ecx
mov byte [esp + 0x3e8], cl
mov dword [esp + 0x18], 0xefeaf703
mov dword [esp + 0x1c], 0x685f8741
mov dword [esp + 0x20], 0xe2215686
mov dword [esp + 0x24], 0x9657366f
mov dword [esp + 0x28], 0x70783b9c
mov dword [esp + 0x2c], 0x31897608
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde6e05
mov esi, ecx
xor edx, edx
mov bl, byte [esp + esi + 0x138]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x34]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], bl
cmp esi, 0x100
jb 0xde6e16
xor eax, eax
mov edx, eax
mov ecx, eax
mov edi, eax
imul eax, dword [esp + 0xc], 0x87d0814c
mov dword [esp + 0x68], eax
lea eax, [ecx + 1]
movzx ebx, al
mov dword [esp + 0xcc], ebx
mov bl, byte [esp + ebx + 0x138]
movzx esi, bl
lea eax, [edx + esi]
movzx eax, al
mov dword [esp + 0x6c], eax
call fcn.00de5af5
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0xcc]
mov al, byte [esp + edx + 0x138]
mov byte [esp + ecx + 0x138], al
mov byte [esp + edx + 0x138], bl
movzx eax, byte [esp + ecx + 0x138]
add eax, esi
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + edi + 0x18]
mov byte [esp + edi + 0x3ec], al
inc edi
cmp edi, 0x18
jb 0xde6e67
mov eax, dword [0xdd1930]
xor ecx, ecx
mov dword [esp + 0x34], eax
mov edi, ecx
mov ax, word [0xdd1934]
mov word [esp + 0x38], ax
mov eax, dword [esp + 0x68]
add eax, 0x2dccb59d
mov byte [esp + 0x404], cl
and eax, 0xe586d00a
mov dword [esp + 0x3c], 0x8668acdc
mov dword [esp + 0x14], eax
mov eax, ecx
mov word [esp + 0x40], 0x639c
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde6f14
mov esi, ecx
xor edx, edx
mov bl, byte [esp + esi + 0x138]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x34]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], bl
cmp esi, 0x100
jb 0xde6f25
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
push 6
mov cl, byte [esp + edi + 0x13c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x13c]
mov byte [esp + edi + 0x13c], al
mov byte [esp + ebx + 0x13c], cl
movzx eax, byte [esp + edi + 0x13c]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x13c]
xor al, byte [esp + esi + 0x40]
mov byte [esp + esi + 0x284], al
inc esi
pop eax
cmp esi, eax
jb 0xde6f6a
xor ebx, ebx
mov edx, 0x9eb
push 0x49
mov byte [esp + 0x28a], bl
mov eax, 0xdd2460
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x10b6
ja 0xde6ff0
movzx ecx, word [eax]
test ecx, ecx
jne 0xde6fd2
xor dword [esp + 0x14], 0xef7aae6d
jmp 0xde6ff5
call fcn.00de5af5
push 0xe
pop eax
mov byte [esp + 0x18], al
mov edi, ebx
mov eax, dword [0xdd2024]
mov dword [esp + 0x34], eax
mov ax, word [0xdd2028]
mov word [esp + 0x38], ax
mov eax, ebx
mov dword [esp + 0x19], 0x278bec56
mov dword [esp + 0x1d], 0x5afbf85c
mov dword [esp + 0x21], 0xb4d6e251
mov dword [esp + 0x25], 0xe95df401
mov dword [esp + 0x29], 0x4bc871b3
mov word [esp + 0x2d], 0x1071
mov byte [esp + 0x2f], 0x16
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde7048
mov esi, ebx
xor edx, edx
mov bl, byte [esp + esi + 0x138]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x34]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], bl
cmp esi, 0x100
jb 0xde7059
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x138]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x138]
mov byte [esp + edi + 0x138], al
mov byte [esp + ebx + 0x138], cl
movzx eax, byte [esp + edi + 0x138]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + esi + 0x18]
mov byte [esp + esi + 0x440], al
inc esi
cmp esi, 0x18
jb 0xde709e
mov esi, 0xdd202c
mov dword [esp + 0xc], 0xef737765
lea edi, [esp + 0x18]
xor ecx, ecx
mov byte [esp + 0x458], cl
mov eax, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde7113
mov esi, ecx
push 0x12
pop ecx
xor edx, edx
mov bl, byte [esp + esi + 0x138]
mov eax, esi
div ecx
movzx ecx, bl
push 0x49
movzx eax, byte [esp + edx + 0x1c]
mov edx, 0x5c3
add eax, edi
add ecx, eax
mov eax, 0xdd2460
movzx edi, cl
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x1e09
ja 0xde716a
movzx ecx, word [eax]
test ecx, ecx
jne 0xde7150
mov eax, dword [esp + 0x14]
jmp 0xde7173
mov eax, dword [esp + 0x14]
add eax, 0x60fe183a
imul eax, eax, 0xa4c821d
mov ecx, 0x7d6816b8
sub ecx, eax
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov dword [esp + 0x14], ecx
mov byte [esp + edi + 0x138], bl
cmp esi, 0x100
jb 0xde7124
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x138]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x138]
mov byte [esp + edi + 0x138], al
mov byte [esp + ebx + 0x138], cl
movzx eax, byte [esp + edi + 0x138]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + esi + 0xc]
mov byte [esp + esi + 0x248], al
inc esi
cmp esi, 4
jb 0xde71aa
mov esi, 0xdd2040
mov word [esp + 0x18], 0xa820
lea edi, [esp + 0x2a0]
mov dword [esp + 0x1b], 0x8c7bc876
push 9
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [esp + 0x1a], al
push 0x1c
pop eax
movsd dword es:[edi], dword [esi]
mov byte [esp + 0x24], al
mov eax, ecx
mov byte [esp + 0x24c], cl
mov dword [esp + 0x1f], 0xde686603
movsd dword es:[edi], dword [esi]
mov byte [esp + 0x23], 0xfb
mov dword [esp + 0x25], 0xc95e3963
mov dword [esp + 0x29], 0xa40daa27
movsw word es:[edi], word [esi]
mov word [esp + 0x2d], 0x9c0a
mov byte [esp + 0x2f], 2
movsb byte es:[edi], byte [esi]
inc eax
cmp eax, 0xee2
jg 0xde726d
cmp byte [eax + 0xdd24f0], cl
jne 0xde725d
cmp eax, 0xda2
mov eax, dword [esp + 0x14]
jle 0xde727f
add eax, 0x2a6e4c2c
jmp 0xde7284
xor eax, 0x533f3f9
mov dword [esp + 0x14], eax
or eax, 0x942b65a5
mov edi, ecx
mov dword [esp + 0x10], eax
mov eax, ecx
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde7295
mov esi, ecx
xor edx, edx
mov bl, byte [esp + esi + 0x138]
push 0xe
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x2a0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], bl
cmp esi, 0x100
jb 0xde72a6
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x138]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x138]
mov byte [esp + edi + 0x138], al
mov byte [esp + ebx + 0x138], cl
movzx eax, byte [esp + edi + 0x138]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + esi + 0x18]
mov byte [esp + esi + 0xf8], al
inc esi
cmp esi, 0x18
jb 0xde72ee
mov esi, 0xdd2050
mov dword [esp + 0x3c], 0x5d88dff5
lea edi, [esp + 0xbc]
mov word [esp + 0x40], 0x5083
xor ebx, ebx
sub dword [esp + 0x10], 0x2ee6773e
mov byte [esp + 0x110], bl
mov eax, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde7371
push 7
mov esi, ebx
pop ebx
mov dl, byte [esp + esi + 0x138]
mov eax, esi
and eax, ebx
movzx ecx, dl
movzx eax, byte [esp + eax + 0xbc]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], dl
cmp esi, 0x100
jb 0xde7385
xor ebx, ebx
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
push 6
mov cl, byte [esp + edi + 0x13c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x13c]
mov byte [esp + edi + 0x13c], al
mov byte [esp + ebx + 0x13c], cl
movzx eax, byte [esp + edi + 0x13c]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x13c]
xor al, byte [esp + esi + 0x40]
mov byte [esp + esi + 0x134], al
inc esi
pop eax
cmp esi, eax
jb 0xde73c8
xor ebx, ebx
mov dword [esp + 0xbc], 0x2f
mov byte [esp + 0x136], bl
mov ecx, ebx
mov dword [esp + 0xc0], 0x2e
mov eax, ebx
mov dword [esp + 0xc4], 0xffffffa3
sub ecx, dword [esp + eax*4 + 0xbc]
inc eax
cmp eax, 3
jl 0xde7448
push 0x19
pop eax
mov dword [esp + 0x258], ecx
mov edx, ebx
mov dword [esp + 0xe0], eax
mov ecx, 0xdd2460
mov dword [esp + 0xdc], 0x15
mov eax, ebx
mov dword [esp + 0xe4], 0x2d
mov dword [esp + 0xe8], 0xffffffa5
add ecx, 2
inc eax
cmp eax, 0xf8a
je 0xde756d
cmp word [ecx], bx
jne 0xde7490
cmp eax, 0x214f
jle 0xde74bf
mov eax, dword [esp + 0x10]
mov ecx, 0xdd24f0
push eax
mov edx, eax
call fcn.00de5bd6
pop ecx
mov edx, ebx
mov esi, dword [esp + 0x14]
or esi, 0x51fce4c8
mov eax, ebx
imul ebx, esi, 0xc781db12
sub edx, dword [esp + eax*4 + 0xdc]
add ebx, 0x5c5d22d7
inc eax
cmp eax, 4
jl 0xde74d1
mov dword [esp + 0xdc], 0x48
xorps xmm1, xmm1
mov dword [esp + 0xe0], 0x18
mov ecx, 0xdd2460
mov dword [esp + 0xe4], 0x41
mov dword [esp + 0xe8], 0xffffff5f
movups xmm0, xmmword [esp + 0xdc]
push 0xd
pop edi
psubd xmm1, xmm0
mov dword [esp + 0x60], edx
movaps xmm0, xmm1
mov dword [esp + 0xc], ebx
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
push 0x49
movd dword [esp + 0x260], xmm1
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0xde7589
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0xde7553
jmp 0xde7593
push ecx
push 0xdd24f0
call fcn.00de5a72
imul esi, dword [esp + 0x1c], 0xfec7aebc
mov edx, ebx
pop ecx
pop ecx
jmp 0xde74c3
sub ebx, 0x1d24d57f
mov dword [esp + 0xc], ebx
sub esi, 0x60184048
mov ecx, 0xdd24f0
push ebx
mov edx, esi
mov dword [esp + 0x18], esi
call fcn.00de5bd6
xor edx, edx
mov dword [esp + 0xd8], 0x3f
pop ecx
mov dword [esp + 0xd8], 0xffffffb4
mov eax, edx
add edi, dword [esp + eax*4 + 0xd4]
inc eax
cmp eax, 2
jl 0xde75c5
mov dword [esp + 0x128], edi
mov esi, 0xdd1b04
push 6
pop eax
mov ecx, eax
mov dword [esp + 0x18], 0x81465254
lea edi, [esp + 0x70]
mov dword [esp + 0x1c], 0xe6b2df5f
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x20], 0x5dac34d0
mov eax, edx
mov dword [esp + 0x24], 0x745a4920
mov dword [esp + 0x28], 0x91c560c2
movsw word es:[edi], word [esi]
mov dword [esp + 0x2c], 0x4efd944b
mov edi, edx
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde761f
mov esi, edx
xor edx, edx
mov bl, byte [esp + esi + 0x138]
push 0x19
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x70]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], bl
cmp esi, 0x100
jb 0xde7630
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x138]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x138]
mov byte [esp + edi + 0x138], al
mov byte [esp + ebx + 0x138], cl
movzx eax, byte [esp + edi + 0x138]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + esi + 0x18]
mov byte [esp + esi + 0x70], al
inc esi
cmp esi, 0x18
jb 0xde7675
mov eax, dword [0xdd205c]
xor ecx, ecx
mov dword [esp + 0x34], eax
mov edi, ecx
mov ax, word [0xdd2060]
mov word [esp + 0x38], ax
mov eax, ecx
mov byte [esp + 0x88], cl
mov dword [esp + 0x10], 0xb5d0fcd8
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde76eb
mov esi, ecx
xor edx, edx
mov bl, byte [esp + esi + 0x138]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x34]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], bl
cmp esi, 0x100
jb 0xde76fc
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
push 0x6e
mov edx, 0xf95
mov eax, 0xdd24f0
pop ecx
add edx, ecx
inc eax
cmp edx, 0x1dd
ja 0xde7766
movsx ecx, byte [eax]
test ecx, ecx
jne 0xde774e
mov ecx, dword [esp + 0x14]
jmp 0xde7784
mov eax, dword [esp + 0x14]
mov ecx, 0xdd2460
mov edx, dword [esp + 0xc]
push eax
call fcn.00de59b0
pop ecx
mov ecx, dword [esp + 0xc]
or ecx, 0x16476e97
add ecx, 0xe2524294
mov eax, ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0xc], eax
mov dword [0xe1a4c0], eax
lea eax, [edi + 1]
xor ecx, 0xe16bee50
movzx edi, al
mov dword [esp + 0x14], ecx
mov cl, byte [esp + edi + 0x138]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x138]
mov byte [esp + edi + 0x138], al
mov byte [esp + ebx + 0x138], cl
movzx eax, byte [esp + edi + 0x138]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + esi + 0x10]
mov byte [esp + esi + 0x3c], al
inc esi
cmp esi, 4
jb 0xde7741
push dword [esp + 0x64]
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x23c]
push dword [esp + 0xbc]
add eax, 0x31bb9d81
xor ebx, ebx
mov byte [esp + 0x48], bl
mov dword [0xe1a4a0], eax
call fcn.00dee9eb
mov edx, eax
lea ecx, [esp + 0x480]
call fcn.00dee9ca
call eax
mov ecx, dword [esp + 0x44]
neg ecx
mov dword [esp + 0x68], eax
cmp eax, ecx
jne 0xde7849
mov eax, dword [esp + 0xd0]
jmp 0xde8663
lea ecx, [esp + 0x508]
mov dword [esp + 0x508], 0x22c
push ecx
push eax
lea ecx, [esp + 0x248]
call fcn.00dee9eb
mov edx, eax
lea ecx, [esp + 0x3bc]
call fcn.00dee9ca
call eax
test eax, eax
jne 0xde7a8a
push 7
pop ecx
mov dword [esp + 0x18], 0x27d0f067
mov edi, ebx
mov dword [esp + 0x1c], 0x6e7e34eb
mov eax, ebx
mov dword [esp + 0x20], 0xcbbc9b7a
mov dword [esp + 0x24], 0x1be3f1a9
mov dword [esp + 0x28], 0x8a811fee
mov byte [esp + 0x2c], 0x45
mov byte [esp + 0x2d], cl
mov word [esp + 0x2e], 0x9226
mov dword [esp + 0xd4], 0x7373656d
mov dword [esp + 0xd8], 0x656761
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde78d6
mov esi, ebx
xor edx, edx
mov bl, byte [esp + esi + 0x138]
mov eax, esi
div ecx
movzx ecx, bl
push 7
movzx eax, byte [esp + edx + 0xd8]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [esp + edi + 0x138]
mov byte [esp + esi + 0x138], al
inc esi
mov byte [esp + edi + 0x138], bl
cmp esi, 0x100
jb 0xde78e7
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x138]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x138]
mov byte [esp + edi + 0x138], al
mov byte [esp + ebx + 0x138], cl
movzx eax, byte [esp + edi + 0x138]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x138]
xor al, byte [esp + esi + 0x18]
mov byte [esp + esi + 0x9c], al
inc esi
cmp esi, 0x18
jb 0xde792f
mov esi, 0xdd2064
mov dword [esp + 0x10], 0x2b1481b6
lea edi, [esp + 0xd4]
xor ecx, ecx
mov byte [esp + 0xb4], cl
mov eax, ecx
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [esp + eax + 0x2b0], al
inc eax
cmp eax, 0x100
jb 0xde79a4
mov esi, ecx
xor edx, edx
mov bl, byte [esp + esi + 0x2b0]
push 6
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0xd4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x2b0]
mov byte [esp + esi + 0x2b0], al
inc esi
mov byte [esp + edi + 0x2b0], bl
cmp esi, 0x100
jb 0xde79b5
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
imul eax, dword [0xe1a4c0], 0x176c636e
mov dword [0xe1a4a0], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x2b0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x2b0]
mov byte [esp + edi + 0x2b0], al
mov byte [esp + ebx + 0x2b0], cl
movzx eax, byte [esp + edi + 0x2b0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x2b0]
xor al, byte [esp + esi + 0x10]
mov byte [esp + esi + 0x128], al
inc esi
cmp esi, 4
jb 0xde7a0c
push dword [esp + 0x68]
xor eax, eax
lea ecx, [esp + 0x12c]
mov byte [esp + 0x130], al
call fcn.00dee9eb
mov edx, eax
lea ecx, [esp + 0xa0]
call fcn.00dee9ca
call eax
jmp 0xde783d
lea ecx, [esp + 0x45c]
call fcn.00e0523e
mov ebx, eax
lea ecx, [esp + 0x4a8]
mov dword [esp + 0xc8], ebx
call fcn.00e0523e
lea ecx, [esp + 0x4d8]
mov dword [esp + 0x6c], eax
call fcn.00e0523e
lea ecx, [esp + 0x3d0]
mov dword [esp + 0xcc], eax
call fcn.00e0523e
push ebx
push dword [esp + 0xf0]
lea ecx, [esp + 0x288]
mov dword [esp + 0x25c], eax
call fcn.00dee9eb
mov edx, eax
lea ecx, [esp + 0x3f4]
call fcn.00dee9ca
call eax
pop ecx
pop ecx
call fcn.00de6150
push 5
mov dword [esp + 0x274], eax
xor ebx, ebx
pop eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], 0x31
mov dword [esp + 0xe4], 0x58
mov dword [esp + 0xe8], 0xffffff35
movups xmm0, xmmword [esp + 0xdc]
mov dword [esp + 0x288], 0x3f
mov dword [esp + 0x28c], 0x2a
mov dword [esp + 0x290], 0xffffff97
mov dword [esp + 0x48], 0x36
mov dword [esp + 0x4c], 4
mov dword [esp + 0x50], 0x10
mov dword [esp + 0x54], 0xffffff81
mov dword [esp + 0x294], 0x4d
mov dword [esp + 0x298], 0x24
mov dword [esp + 0x29c], 0xffffff6a
mov ecx, ebx
mov eax, ebx
sub ecx, dword [esp + eax*4 + 0x288]
inc eax
cmp eax, 3
jl 0xde7ba2
mov esi, dword [0xe1a4a0]
movups xmm1, xmm0
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0xb8], ecx
movups xmm0, xmm1
mov ecx, ebx
psrldq xmm0, 4
lea edi, [esi + 0x1f5ff56]
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x3e
mov dword [esp + 0x10], eax
mov eax, 0xdd2460
inc ecx
lea eax, [eax + 2]
cmp ecx, 0x7c4
jl 0xde7bff
cmp word [eax], bx
jne 0xde7bec
jmp 0xde7c07
mov edi, esi
and edi, 0xac763a7d
or edi, 0x3b7755de
mov edx, esi
push esi
mov ecx, 0xdd2460
add edi, 0x69fffdcc
call fcn.00de59b0
pop ecx
push 0x35
pop eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x64], ebx
mov eax, 0xdd2460
add eax, 2
inc ebx
mov dword [esp + 0x44], eax
cmp ebx, 0x12b7
je 0xde7ccd
mov edx, 0xdd24f0
mov al, 0x6e
mov ecx, edx
sub al, 0x30
cmp al, 9
ja 0xde7c5d
inc ecx
mov al, byte [ecx]
test al, al
jne 0xde7c4e
jmp 0xde7c63
or esi, 0x3ec6237b
push ecx
push edx
xor esi, 0x9670a97c
call fcn.00de5a72
mov eax, dword [esp + 0x4c]
pop ecx
pop ecx
xor ecx, ecx
cmp word [eax], cx
jne 0xde7c31
cmp ebx, 0x1cf5
jle 0xde7cd3
mov ebx, 0xdd24f0
mov edx, 0x9a5
push 0x6e
mov eax, ebx
pop ecx
add edx, ecx
inc eax
cmp edx, 0x1580
ja 0xde7ca8
movsx ecx, byte [eax]
test ecx, ecx
jne 0xde7c94
jmp 0xde7cb1
push ecx
push ebx
call fcn.00de5a72
pop ecx
pop ecx
lea esi, [edi + 0x33e6e527]
mov ecx, 0xdd2460
xor esi, 0x4c8c9c54
push esi
mov edx, esi
call fcn.00de59b0
pop ecx
jmp 0xde7cd3
sub esi, 0x4a9880e1
or esi, 0xd5009621
call fcn.00de5af5
mov edi, esi
and edi, 0x1d781321
mov ecx, dword [esp + 0x64]
add esi, 0x81c15bbd
mov edx, dword [esp + 0xc]
xor ebx, ebx
add edx, dword [esp + ecx*4 + 0x48]
inc ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x64], ecx
cmp ecx, 4
jl 0xde7c2c
push 0x25
mov dword [0xe1a4c0], edi
mov eax, ebx
mov dword [0xe1a4a0], esi
pop edi
add edi, dword [esp + eax*4 + 0x294]
inc eax
cmp eax, 3
jl 0xde7d1d
mov eax, dword [esp + 0xb8]
lea edx, [esp + 0xd0]
mov ecx, dword [esp + 0x510]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
push eax
call fcn.00de5c32
mov eax, dword [esp + 0x274]
pop ecx
cmp eax, dword [esp + 0x510]
jne 0xde7dfb
mov dword [esp + 0x18], 0x5e
mov ecx, ebx
mov dword [esp + 0x1c], 0x23
mov eax, 0xdd2460
mov dword [esp + 0x20], 0x40
mov dword [esp + 0x24], 0xfffffef6
inc ecx
lea eax, [eax + 2]
cmp ecx, 0xfb4
jg 0xde7dad
cmp word [eax], bx
jne 0xde7d94
mov ebx, dword [0xe1a4a0]
jmp 0xde7db9
mov ebx, dword [0xe1a4c0]
add ebx, 0x1cb18466
mov dword [esp + 0x10], ebx
lea esi, [ebx + 0x51cf401c]
mov ecx, 0xdd2460
push ebx
mov edx, esi
call fcn.00de59b0
movups xmm1, xmmword [esp + 0x1c]
pop ecx
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x4a
mov dword [esp + 0xc], eax
jmp 0xde7e0b
mov ebx, dword [0xe1a4a0]
mov esi, dword [0xe1a4c0]
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x124], edi
jne 0xde8144
mov esi, 0xdd1eac
mov dword [esp + 0x9c], 0xd8476b7d
lea edi, [esp + 0x2a0]
mov byte [esp + 0xa0], 0x91
push 5
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [esp + 0xa1], al
mov byte [esp + 0xa8], al
mov eax, ecx
mov dword [esp + 0xa2], 0x35548884
movsd dword es:[edi], dword [esi]
mov word [esp + 0xa6], 0x8916
mov dword [esp + 0xa9], 0xa87e440d
mov dword [esp + 0xad], 0xe273a003
movsd dword es:[edi], dword [esi]
mov word [esp + 0xb1], 0xb240
mov edi, ecx
mov byte [esp + 0xb3], 0x1f
mov byte [esp + eax + 0x2b0], al
inc eax
cmp eax, 0x100
jb 0xde7e8e
mov esi, ecx
xor edx, edx
mov bl, byte [esp + esi + 0x2b0]
push 0xb
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x2a0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x2b0]
mov byte [esp + esi + 0x2b0], al
inc esi
mov byte [esp + edi + 0x2b0], bl
cmp esi, 0x100
jb 0xde7e9f
mov edi, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x14], eax
mov ebx, eax
or edi, 0x368fc5c4
mov esi, eax
lea eax, [esi + 1]
and edi, 0x2dc3e22
movzx esi, al
mov eax, dword [esp + 0x14]
mov cl, byte [esp + esi + 0x2b0]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x14], eax
mov al, byte [esp + eax + 0x2b0]
mov byte [esp + esi + 0x2b0], al
mov eax, dword [esp + 0x14]
mov byte [esp + eax + 0x2b0], cl
movzx eax, byte [esp + esi + 0x2b0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x2b0]
xor al, byte [esp + ebx + 0x9c]
mov byte [esp + ebx + 0x408], al
inc ebx
cmp ebx, 0x18
jb 0xde7ef3
mov esi, dword [esp + 0x10]
xor eax, eax
mov ebx, 0xdd24f0
mov byte [esp + 0x420], al
push 0x6e
mov edx, 0x1afb
mov eax, ebx
pop ecx
add edx, ecx
inc eax
cmp edx, 0x26aa
ja 0xde7f8d
movsx ecx, byte [eax]
test ecx, ecx
jne 0xde7f73
lea eax, [esi - 0x507473f]
jmp 0xde7fb0
push ecx
push ebx
call fcn.00de5a72
push edi
mov edx, edi
lea esi, [edi - 0x2fcac3d1]
mov ecx, 0xdd2460
call fcn.00de59b0
add esp, 0xc
imul eax, edi, 0xd489451c
mov dword [esp + 0x10], eax
mov dword [0xe1a4c0], eax
and esi, 0xcccba30
mov eax, dword [0xdd206c]
xor ecx, ecx
mov dword [esp + 0x260], eax
mov ebx, ecx
mov ax, word [0xdd2070]
mov word [esp + 0x264], ax
mov eax, ecx
mov dword [esp + 0xf0], 0x701ab747
mov word [esp + 0xf4], 0xd362
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde7ff4
mov edi, ecx
xor edx, edx
mov cl, byte [esp + edi + 0x138]
mov eax, edi
mov byte [esp + 0x33], cl
div dword [esp + 0x274]
movzx ecx, cl
push 9
movzx eax, byte [esp + edx + 0x264]
add eax, ebx
add ecx, eax
movzx ebx, cl
mov ecx, 0xdd24f0
pop edx
mov al, byte [esp + ebx + 0x138]
mov byte [esp + edi + 0x138], al
mov al, 0x6e
sub al, 0x30
cmp al, dl
ja 0xde8054
inc ecx
mov al, byte [ecx]
test al, al
jne 0xde8045
jmp 0xde805c
imul esi, dword [esp + 0x10], 0x8da9d26
mov al, byte [esp + 0x33]
add esi, 0x547d6076
inc edi
mov byte [esp + ebx + 0x138], al
cmp edi, 0x100
jb 0xde8005
xor eax, eax
mov dword [0xe1a4a0], esi
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
push 6
mov cl, byte [esp + edi + 0x13c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x13c]
mov byte [esp + edi + 0x13c], al
mov byte [esp + ebx + 0x13c], cl
movzx eax, byte [esp + edi + 0x13c]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x13c]
xor al, byte [esp + esi + 0xf4]
mov byte [esp + esi + 0x27c], al
inc esi
pop eax
cmp esi, eax
jb 0xde8084
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x278]
mov esi, dword [esp + 0x6c]
xor ebx, ebx
push eax
push dword [esp + 0x68]
lea eax, [esp + 0x534]
mov byte [esp + 0x286], bl
push dword [esp + 0xd8]
push dword [esp + 0x530]
push dword [esp + 0x530]
push dword [esp + 0x524]
push eax
lea eax, [esp + 0x754]
push esi
push eax
call fcn.00dee9eb
mov edx, eax
lea ecx, [esp + 0x42c]
call fcn.00dee9ca
call eax
mov edi, dword [esp + 0xf0]
jmp 0xde8520
push 0x49
mov ecx, 0xdd2460
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0xde8166
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0xde814c
jmp 0xde816e
mov esi, ebx
xor esi, 0x302a0c1a
add esi, 0x41b2d85
mov ecx, 0xdd24f0
push esi
mov edx, esi
call fcn.00de5bd6
pop ecx
push 0xe
pop eax
mov byte [esp + 0xa2], al
xor ecx, ecx
push 0xb
pop eax
mov byte [esp + 0xaa], al
mov eax, ecx
mov dword [esp + 0x9c], 0x43adc2b0
mov word [esp + 0xa0], 0xd543
mov dword [esp + 0xa3], 0x47f69be
mov word [esp + 0xa7], 0xa5cc
mov byte [esp + 0xa9], 0x7e
mov dword [esp + 0xab], 0x48ff17c0
mov dword [esp + 0xaf], 0x6502ad4d
mov byte [esp + 0xb3], 0x44
mov dword [esp + 0xbc], 0x73657268
mov dword [esp + 0xc0], 0x746c75
mov dword [esp + 0x10], ecx
mov byte [esp + eax + 0x2b0], al
inc eax
cmp eax, 0x100
jb 0xde8204
mov edi, ecx
xor edx, edx
mov cl, byte [esp + edi + 0x2b0]
mov eax, edi
mov byte [esp + 0x33], cl
div dword [esp + 0x250]
movzx ecx, cl
push 0x49
movzx eax, byte [esp + edx + 0xc0]
mov edx, 0x1f1f
add eax, dword [esp + 0x14]
add ecx, eax
movzx eax, cl
mov dword [esp + 0x14], eax
pop ecx
mov al, byte [esp + eax + 0x2b0]
mov byte [esp + edi + 0x2b0], al
mov eax, 0xdd2460
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x778
ja 0xde8274
movzx ecx, word [eax]
test ecx, ecx
jne 0xde825e
jmp 0xde8282
push esi
mov edx, ebx
mov ecx, 0xdd2460
call fcn.00de59b0
pop ecx
sub ebx, 0x66744fdc
mov eax, dword [esp + 0x10]
lea esi, [ebx - 0x5795217c]
mov cl, byte [esp + 0x33]
inc edi
mov byte [esp + eax + 0x2b0], cl
cmp edi, 0x100
jb 0xde8215
xor eax, eax
mov edx, eax
mov ecx, eax
mov edi, eax
lea eax, [ecx + 1]
movzx ecx, al
mov dword [esp + 0xb8], ecx
mov al, byte [esp + ecx + 0x2b0]
mov byte [esp + 0x33], al
movzx eax, al
mov dword [esp + 0x10], eax
add eax, edx
movzx eax, al
mov dword [esp + 0x44], eax
mov al, byte [esp + eax + 0x2b0]
mov byte [esp + ecx + 0x2b0], al
xor eax, eax
inc eax
cmp eax, 0xa96
je 0xde82fd
cmp byte [eax + 0xdd24f0], 0
jne 0xde82ea
jmp 0xde8312
push ecx
push 0xdd24f0
call fcn.00de5a72
pop ecx
mov esi, ebx
pop ecx
and esi, 0xafc97768
imul ebx, esi, 0x9bbb0d01
imul esi, esi, 0xe7be5a66
call fcn.00de5af5
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0xb8]
mov al, byte [esp + 0x33]
mov byte [esp + edx + 0x2b0], al
movzx eax, byte [esp + ecx + 0x2b0]
add eax, dword [esp + 0x10]
movzx eax, al
mov al, byte [esp + eax + 0x2b0]
xor al, byte [esp + edi + 0x9c]
mov byte [esp + edi + 0x424], al
inc edi
cmp edi, 0x18
jb 0xde82b2
xor eax, eax
mov dword [esp + 0x34], 0x4b47f5c2
mov edi, 0xdd24f0
mov byte [esp + 0x43c], al
push 0x6e
mov word [esp + 0x3c], 0xf9b5
mov edx, 0x9c0
mov eax, edi
pop ecx
add edx, ecx
inc eax
cmp edx, 0x1957
ja 0xde83a2
movsx ecx, byte [eax]
test ecx, ecx
jne 0xde838e
jmp 0xde83aa
mov esi, ebx
xor esi, 0x2ea22a59
add esi, 0x7da70f8b
mov dword [esp + 0xb8], esi
push ecx
add ebx, 0x42e9238b
push edi
mov dword [0xe1a4a0], ebx
call fcn.00de5a72
mov eax, dword [0xdd2074]
pop ecx
mov dword [esp + 0x26c], eax
mov ax, word [0xdd2078]
pop ecx
xor ecx, ecx
mov word [esp + 0x26c], ax
mov eax, ecx
mov byte [esp + eax + 0x138], al
inc eax
cmp eax, 0x100
jb 0xde83ea
mov edi, ecx
mov esi, ecx
xor edx, edx
mov bl, byte [esp + edi + 0x138]
push 5
mov eax, edi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x268]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [esp + esi + 0x138]
mov byte [esp + edi + 0x138], al
inc edi
mov byte [esp + esi + 0x138], bl
cmp edi, 0x100
jb 0xde83fd
mov esi, dword [esp + 0xb8]
xor eax, eax
mov dword [esp + 0x10], eax
mov ebx, eax
mov edi, eax
lea eax, [ebx + 1]
sub esi, 0x7970d2e
movzx ebx, al
mov eax, dword [esp + 0x10]
push 6
mov cl, byte [esp + ebx + 0x13c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x14], eax
mov al, byte [esp + eax + 0x13c]
mov byte [esp + ebx + 0x13c], al
mov eax, dword [esp + 0x14]
mov byte [esp + eax + 0x13c], cl
movzx eax, byte [esp + ebx + 0x13c]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x13c]
xor al, byte [esp + edi + 0x38]
mov byte [esp + edi + 0xd8], al
inc edi
pop eax
cmp edi, eax
jb 0xde844e
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0xd4]
mov edi, dword [esp + 0xcc]
xor ebx, ebx
push eax
push dword [esp + 0x68]
lea eax, [esp + 0x534]
mov dword [0xe1a4c0], esi
push dword [esp + 0xd8]
mov byte [esp + 0xe6], bl
push dword [esp + 0x530]
push dword [esp + 0x530]
push dword [esp + 0x524]
push eax
lea eax, [esp + 0x754]
push edi
push eax
call fcn.00dee9eb
mov edx, eax
lea ecx, [esp + 0x448]
call fcn.00dee9ca
call eax
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x110]
lea edx, [esp + 0x75c]
add esp, 0x24
call fcn.00e05d45
inc dword [esp + 0x124]
lea eax, [esp + 0x508]
push eax
push dword [esp + 0x6c]
lea ecx, [esp + 0x250]
call fcn.00dee9eb
mov edx, eax
lea ecx, [esp + 0x448]
call fcn.00dee9ca
call eax
movups xmm0, xmmword [esp + 0xdc]
test eax, eax
jne 0xde7b9e
mov ebx, dword [esp + 0x254]
lea eax, [esp + 0x738]
push ebx
push eax
lea ecx, [esp + 0x138]
call fcn.00dee9eb
mov edx, eax
lea ecx, [esp + 0x100]
call fcn.00dee9ca
call eax
mov ecx, dword [esp + 0xf4]
lea edx, [esp + 0x740]
call fcn.00e05d45
mov ecx, dword [esp + 0xd0]
call fcn.00e05897
push eax
push dword [esp + 0x264]
push dword [esp + 0xd8]
call fcn.00e05117
add esp, 0x14
mov ecx, esi
call fcn.00e05897
push eax
push dword [esp + 0x64]
push esi
call fcn.00e05117
add esp, 0xc
mov ecx, edi
call fcn.00e05897
push eax
push dword [esp + 0x260]
push edi
call fcn.00e05117
add esp, 0xc
mov ecx, ebx
call fcn.00e05897
push eax
push dword [esp + 0x12c]
push ebx
call fcn.00e05117
mov ecx, dword [esp + 0xd4]
add esp, 0xc
call fcn.00dee98d
mov ecx, esi
call fcn.00dee98d
mov ecx, edi
call fcn.00dee98d
mov ecx, ebx
call fcn.00dee98d
push dword [esp + 0x68]
lea ecx, [esp + 0x40]
call fcn.00dee9eb
mov edx, eax
lea ecx, [esp + 0x74]
call fcn.00dee9ca
call eax
mov ecx, dword [esp + 0xec]
call fcn.00e05897
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret