Function at 0x42d3ed
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x520
push esi
push edi
mov eax, dword [0x44d800]
lea edi, [ebp - 0xd4]
mov dword [ebp - 0x5c], ecx
mov esi, 0x40280c
push 7
pop ecx
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x2c], 0x2d
xorps xmm1, xmm1
mov dword [ebp - 0x28], 0x5c
sub eax, 0x9702b76
mov dword [ebp - 0x24], 0x5e
xorps xmm2, xmm2
mov dword [ebp - 0x20], 0xffffff19
movups xmm0, xmmword [ebp - 0x2c]
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x14], eax
xor edi, edi
psubd xmm1, xmm0
mov dword [ebp - 0x54], edx
movaps xmm0, xmm1
mov dword [ebp - 0x34], 0x450ba53f
psrldq xmm0, 8
xor eax, eax
paddd xmm1, xmm0
mov dword [ebp - 0x30], 0x50d5e3b4
movups xmm0, xmm1
mov dword [ebp - 0x2c], 0xdcbe1064
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x28], 0x436b6c86
movd dword [ebp - 0x98], xmm1
mov dword [ebp - 0x24], 0x26df23c6
mov dword [ebp - 0x20], 0x64e410b2
mov byte [ebp + eax - 0x1d4], al
inc eax
cmp eax, 0x100
jb 0x42d494
xor esi, esi
xor edx, edx
mov dword [ebp - 0x18], 0x1c
mov eax, esi
mov cl, byte [ebp + esi - 0x1d4]
div dword [ebp - 0x18]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xd4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1d4]
mov byte [ebp + esi - 0x1d4], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x1d4], al
cmp esi, 0x100
jb 0x42d4a5
mov al, byte [0x44d7e0]
mov ecx, 0x44d7e0
jmp 0x42d505
sub al, 0x30
cmp al, 9
ja 0x42d50b
inc ecx
mov al, byte [ecx]
test al, al
jne 0x42d4fc
jmp 0x42d512
xor dword [ebp - 0x14], 0xd82cfc24
call fcn.0042c837
mov eax, dword [ebp - 0x14]
xor edi, edi
and dword [ebp - 0xc], 0
xor esi, esi
xor eax, 0x1c4976c9
add eax, 0xe515d75b
mov dword [ebp - 0x14], eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp + edi - 0x1d4]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0x1d4]
mov byte [ebp + edi - 0x1d4], al
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x1d4], cl
movzx eax, byte [ebp + edi - 0x1d4]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1d4]
xor al, byte [ebp + esi - 0x34]
mov byte [ebp + esi - 0x1f0], al
inc esi
mov eax, dword [ebp - 0x14]
cmp esi, 0x18
jb 0x42d527
push 7
and dword [ebp - 8], 0
lea edi, [ebp - 0xd4]
pop ecx
mov esi, 0x40282c
mov byte [ebp - 0x1d8], 0
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xc], 0x1e043879
xor eax, eax
movsw word es:[edi], word [esi]
mov byte [ebp + eax - 0x1d4], al
inc eax
cmp eax, 0x100
jb 0x42d5b0
mov esi, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x18], 0x1d
xor edx, edx
mov cl, byte [ebp + edi - 0x1d4]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x18]
movzx ecx, cl
and esi, 0x510569a6
movzx eax, byte [ebp + edx - 0xd4]
add eax, dword [ebp - 8]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x1d4]
mov byte [ebp + edi - 0x1d4], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x1d4], al
cmp edi, 0x100
jb 0x42d5cb
and dword [ebp - 0x10], 0
xor eax, eax
xor edi, edi
inc eax
and esi, 0xfa417002
movzx eax, al
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 8]
mov cl, byte [ebp + eax - 0x1d4]
mov eax, dword [ebp - 0x10]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x10], eax
mov al, byte [ebp + eax - 0x1d4]
mov byte [ebp + esi - 0x1d4], al
mov eax, dword [ebp - 0x10]
mov byte [ebp + eax - 0x1d4], cl
mov eax, esi
mov esi, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x1d4]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1d4]
xor al, byte [ebp + edi - 0xc]
mov byte [ebp + edi - 0xa8], al
inc edi
mov eax, dword [ebp - 8]
cmp edi, 4
jb 0x42d621
xor eax, eax
mov byte [ebp - 0xa4], 0
mov dword [ebp - 8], eax
xor edi, edi
mov al, byte [str.._s.mui]
mov dword [ebp - 0x30], 0x37
mov dword [ebp - 0x2c], 0x15
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x24], 0x1b
mov dword [ebp - 0x20], 0xffffff98
mov dword [ebp - 0x18], 5
mov byte [ebp - 1], al
xor ecx, ecx
test al, al
je 0x42d6fe
inc ecx
cmp ecx, 0x1208
jl 0x42d6e8
cmp byte [ecx + str.._s.mui], 0
jne 0x42d6d4
jmp 0x42d6f6
and esi, 0x89409420
cmp ecx, 0xee1
jle 0x42d6fe
xor esi, 0x4f5fe40
jmp 0x42d704
imul esi, esi, 0x9939af9f
or esi, 0x32330ff
call fcn.0042c837
mov edx, dword [ebp - 8]
sub edx, dword [ebp + edi*4 - 0x30]
inc edi
push 5
pop eax
cmp edi, eax
mov dword [ebp - 8], edx
mov al, byte [ebp - 1]
jl 0x42d6ce
mov dword [ebp - 0x2c], 0xa
movaps xmm1, xmm2
mov dword [ebp - 0x28], 0x49
mov dword [ebp - 0x24], 0x44
mov dword [ebp - 0x20], 0xffffff6f
movups xmm0, xmmword [ebp - 0x2c]
push 0x51
pop edi
psubd xmm1, xmm0
mov dword [ebp - 0x68], 0x1b
movaps xmm0, xmm1
mov dword [ebp - 0x64], 0xffffff94
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 7
mov dword [ebp - 0x10], eax
xor eax, eax
add edi, dword [ebp + eax*4 - 0x68]
inc eax
cmp eax, 2
jl 0x42d780
mov eax, dword [ebp - 0x98]
mov ecx, str.._s.mui
mov dword [ebp - 0x14], eax
mov al, byte [ebp - 1]
jmp 0x42d7a6
sub al, 0x30
cmp al, 9
ja 0x42d7ac
inc ecx
mov al, byte [ecx]
test al, al
jne 0x42d79d
jmp 0x42d7b2
xor esi, 0x81207036
xor esi, 0xfa9d85c2
mov dword [0x44d800], esi
call fcn.0042c70c
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x10]
mov eax, dword [ebp - 8]
push eax
push dword [ebp - 0x5c]
push 0x80000001
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0x1f0]
call fcn.0041e636
call eax
test eax, eax
jne 0x42e11d
mov esi, 0x401608
mov dword [ebp - 0x94], 0xae82ecad
lea edi, [ebp - 0x68]
mov dword [ebp - 0x90], 0xd0a526d8
push 0x1d
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x6c], al
mov dword [ebp - 0x8c], 0xe4a4d768
mov dword [ebp - 0x88], 0x105bbaaf
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x84], 0xda751e4a
mov dword [ebp - 0x80], 0x41a0cbd2
mov dword [ebp - 0x7c], 0x1eceb672
movsb byte es:[edi], byte [esi]
xor edi, edi
mov dword [ebp - 0x78], 0xdcbc68a
mov dword [ebp - 0x74], 0x76fec6ee
xor eax, eax
mov dword [ebp - 0x70], 0xdd2ec6ae
mov word [ebp - 0x6b], 0xf4c1
mov byte [ebp - 0x69], 0x57
mov byte [ebp + eax - 0x1d4], al
inc eax
cmp eax, 0x100
jb 0x42d875
xor esi, esi
mov dl, byte [ebp + esi - 0x1d4]
mov eax, esi
and eax, 7
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x68]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1d4]
mov byte [ebp + esi - 0x1d4], al
inc esi
mov byte [ebp + edi - 0x1d4], dl
cmp esi, 0x100
jb 0x42d886
and dword [ebp + 0xc], 0
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp + 0xc]
mov cl, byte [ebp + edi - 0x1d4]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp + 0xc], eax
mov al, byte [ebp + eax - 0x1d4]
mov byte [ebp + edi - 0x1d4], al
mov eax, dword [ebp + 0xc]
mov byte [ebp + eax - 0x1d4], cl
movzx eax, byte [ebp + edi - 0x1d4]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1d4]
xor al, byte [ebp + esi - 0x94]
mov byte [ebp + esi - 0x420], al
inc esi
cmp esi, 0x2c
jb 0x42d8c7
mov esi, 0x4016e4
mov byte [ebp - 0x3f4], 0
lea edi, [ebp - 0x68]
mov dword [ebp + 0xc], 0xf64ce14d
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x520], al
inc eax
cmp eax, 0x100
jb 0x42d93f
xor esi, esi
mov dl, byte [ebp + esi - 0x520]
mov eax, esi
and eax, 7
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x68]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x520]
mov byte [ebp + esi - 0x520], al
inc esi
mov byte [ebp + edi - 0x520], dl
cmp esi, 0x100
jb 0x42d950
and dword [ebp - 8], 0
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x520]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x520]
mov byte [ebp + edi - 0x520], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x520], cl
movzx eax, byte [ebp + edi - 0x520]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x520]
xor al, byte [ebp + esi + 0xc]
mov byte [ebp + esi - 0xb0], al
inc esi
cmp esi, 4
jb 0x42d991
mov dword [ebp - 0x2c], 0x4c
lea edi, [ebp - 0x28]
mov dword [ebp - 0x28], 0x26
mov esi, 0x40284c
mov dword [ebp - 0x24], 7
mov dword [ebp - 0x20], 0xffffff57
movups xmm1, xmmword [ebp - 0x2c]
push 0x30
pop ecx
movaps xmm0, xmm1
and dword [ebp - 0x10], 0
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x28], 0x13
movups xmm0, xmm1
mov dword [ebp - 0x24], ecx
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x20], 0xffffff67
movd eax, xmm1
push 0x1d
mov byte [ebp - 0xac], 0
add eax, ecx
mov dword [ebp - 0x4c], 0xef32435f
mov dword [ebp - 0xa0], eax
pop eax
mov dword [ebp - 0x2c], eax
movups xmm1, xmmword [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x48], 0xf81365a5
movaps xmm0, xmm1
mov dword [ebp - 0x44], 0x8fea4655
psrldq xmm0, 8
paddd xmm1, xmm0
movsd dword es:[edi], dword [esi]
movups xmm0, xmm1
mov dword [ebp - 0x40], 0x22b4ffac
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x3c], 0xe5b22b99
movsd dword es:[edi], dword [esi]
movd eax, xmm1
mov dword [ebp - 0x38], 0xa9922ecd
add eax, 0x39
movsb byte es:[edi], byte [esi]
imul esi, dword [0x44d800], 0x4caddb4c
mov dword [ebp - 0xb4], eax
xor eax, eax
mov dword [ebp + 0xc], eax
push 0x49
mov edi, 0x238a
mov ecx, 0x402db0
pop edx
add edi, edx
inc ecx
cmp edi, 0x7a8
ja 0x42dae1
movsx edx, byte [ecx]
test edx, edx
jne 0x42dacd
jmp 0x42dafb
and esi, 0x5abed2a1
mov dword [0x44d800], esi
call fcn.0042c70c
mov esi, dword [0x44d800]
mov eax, dword [ebp + 0xc]
xor esi, 0xeadf8df3
mov byte [ebp + eax - 0x2f0], al
or esi, 0x4a5685e3
inc eax
mov dword [ebp + 0xc], eax
cmp eax, 0x100
jb 0x42dac0
xor esi, 0xe0dc2c52
mov dword [ebp - 0x5c], 0xc
mov dword [ebp - 8], esi
xor edi, edi
xor edx, edx
mov cl, byte [ebp + edi - 0x2f0]
mov eax, edi
mov byte [ebp + 0xf], cl
div dword [ebp - 0x5c]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x28]
add eax, dword [ebp - 0x10]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x10], ecx
mov al, byte [ebp + ecx - 0x2f0]
mov byte [ebp + edi - 0x2f0], al
inc edi
mov al, byte [ebp + 0xf]
mov byte [ebp + ecx - 0x2f0], al
cmp edi, 0x100
jb 0x42db2b
and dword [ebp + 0xc], 0
xor esi, esi
xor edi, edi
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp + 0xc]
mov cl, byte [ebp + esi - 0x2f0]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp + 0xc], eax
mov al, byte [ebp + eax - 0x2f0]
mov byte [ebp + esi - 0x2f0], al
mov eax, dword [ebp + 0xc]
mov byte [ebp + eax - 0x2f0], cl
movzx eax, byte [ebp + esi - 0x2f0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2f0]
xor al, byte [ebp + edi - 0x4c]
mov byte [ebp + edi - 0xd0], al
inc edi
cmp edi, 0x18
jb 0x42db78
mov eax, dword [0x40285c]
sub dword [ebp - 8], 0x5b495a9c
and dword [ebp + 0xc], 0
mov dword [ebp - 0x5c], eax
mov ax, word [0x402860]
mov word [ebp - 0x58], ax
xor eax, eax
mov byte [ebp - 0xb8], 0
mov dword [ebp - 0xc], 0x1774e228
mov byte [ebp + eax - 0x3f0], al
inc eax
cmp eax, 0x100
jb 0x42dbfd
mov esi, dword [ebp + 0xc]
xor edi, edi
xor edx, edx
mov cl, byte [ebp + edi - 0x3f0]
mov eax, edi
mov byte [ebp + 0xf], cl
div dword [ebp - 0x18]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x5c]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x3f0]
mov byte [ebp + edi - 0x3f0], al
inc edi
mov al, byte [ebp + 0xf]
mov byte [ebp + esi - 0x3f0], al
cmp edi, 0x100
jb 0x42dc11
and dword [ebp + 0xc], 0
xor edi, edi
and dword [ebp - 0x10], edi
mov esi, dword [ebp - 8]
lea eax, [edi + 1]
mov ecx, str.._s.mui
movzx edi, al
mov al, byte [str.._s.mui]
jmp 0x42dc79
sub al, 0x30
cmp al, 9
ja 0x42dc7f
inc ecx
mov al, byte [ecx]
test al, al
jne 0x42dc70
jmp 0x42dc85
and esi, 0x628e5061
imul eax, esi, 0x709992f
mov dword [0x44d800], eax
call fcn.0042c70c
mov cl, byte [ebp + edi - 0x3f0]
mov eax, dword [ebp + 0xc]
movzx edx, cl
add eax, edx
movzx esi, al
mov dword [ebp + 0xc], esi
mov al, byte [ebp + esi - 0x3f0]
mov byte [ebp + edi - 0x3f0], al
mov byte [ebp + esi - 0x3f0], cl
movzx eax, byte [ebp + edi - 0x3f0]
mov ecx, dword [ebp - 0x10]
add eax, edx
imul esi, dword [0x44d800], 0xc61b2783
movzx eax, al
mov al, byte [ebp + eax - 0x3f0]
xor al, byte [ebp + ecx - 0xc]
mov byte [ebp + ecx - 0x64], al
inc ecx
mov dword [0x44d800], esi
mov dword [ebp - 0x10], ecx
cmp ecx, 4
jb 0x42dc5e
push 5
pop eax
mov dword [ebp - 0x24], eax
mov edx, 0x602
movzx eax, byte [str.timed_out]
mov ecx, str.timed_out
mov dword [ebp - 0x2c], 0x31
mov dword [ebp - 0x28], 0x46
mov dword [ebp - 0x20], 0xffffff59
movups xmm1, xmmword [ebp - 0x2c]
mov byte [ebp - 0x60], 0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd edi, xmm1
jmp 0x42dd5b
add edx, eax
inc ecx
cmp edx, 0x26e5
ja 0x42dd61
movzx eax, byte [ecx]
test eax, eax
jne 0x42dd4d
jmp 0x42dd70
call fcn.0042c70c
imul esi, dword [0x44d800], 0xead5140b
lea eax, [ebp - 0x98]
and esi, 0x4a044980
push eax
push dword [ebp + 8]
lea ecx, [ebp - 0xb0]
mov dword [0x44d800], esi
push dword [ebp - 0xb4]
push dword [ebp - 0xa0]
push dword [ebp - 0x54]
push dword [ebp - 0x14]
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0x420]
call fcn.0041e636
call eax
test eax, eax
jne 0x42e0b1
push 6
pop ecx
mov esi, 0x402864
mov dword [ebp - 0x4c], 0xdcddce9d
lea edi, [ebp - 0x34]
mov dword [ebp - 0x48], 0x9d07af2e
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x44], 0xcbe20b3c
mov dword [ebp - 0x40], 0xabd90dfe
mov dword [ebp - 0x3c], 0x8d69243e
movsw word es:[edi], word [esi]
mov dword [ebp - 0x38], 0x5d63dcd5
movsb byte es:[edi], byte [esi]
xor edi, edi
mov byte [ebp + eax - 0x3f0], al
inc eax
cmp eax, 0x100
jb 0x42ddf6
xor esi, esi
xor edx, edx
mov dword [ebp - 0x54], 0x1a
mov eax, esi
mov cl, byte [ebp + esi - 0x3f0]
div dword [ebp - 0x54]
mov byte [ebp + 0xf], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x34]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3f0]
mov byte [ebp + esi - 0x3f0], al
inc esi
mov al, byte [ebp + 0xf]
mov byte [ebp + edi - 0x3f0], al
cmp esi, 0x100
jb 0x42de07
movzx edx, byte [0x44d7e0]
xor eax, eax
and dword [ebp - 0x10], 0
xor edi, edi
mov esi, dword [0x44d800]
mov dword [ebp + 0xc], eax
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 0
mov ecx, 0x44d7e0
mov dword [ebp - 8], 0x135d
je 0x42dea0
add dword [ebp - 8], edx
inc ecx
cmp dword [ebp - 8], 0x1c44
ja 0x42de92
movzx edx, byte [ecx]
test edx, edx
jne 0x42de7c
jmp 0x42dea0
call fcn.0042c837
mov eax, dword [ebp + 0xc]
imul esi, esi, 0xf6848101
and esi, 0xc5a561cf
or esi, 0x40800048
inc eax
movzx eax, al
mov dword [ebp + 0xc], eax
mov dword [ebp - 8], esi
mov esi, dword [ebp + 0xc]
mov cl, byte [ebp + eax - 0x3f0]
mov eax, dword [ebp - 0x10]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x10], eax
mov al, byte [ebp + eax - 0x3f0]
mov byte [ebp + esi - 0x3f0], al
mov eax, dword [ebp - 0x10]
mov byte [ebp + eax - 0x3f0], cl
mov eax, esi
mov esi, dword [ebp - 8]
movzx eax, byte [ebp + eax - 0x3f0]
add eax, edx
mov edx, dword [ebp - 0xc]
movzx eax, al
mov al, byte [ebp + eax - 0x3f0]
xor al, byte [ebp + edi - 0x4c]
mov byte [ebp + edi - 0x84], al
inc edi
mov eax, dword [ebp + 0xc]
cmp edi, 0x18
jb 0x42de6a
mov eax, dword [0x402880]
and dword [ebp + 0xc], 0
mov dword [ebp - 0x54], eax
mov ax, word [0x402884]
mov word [ebp - 0x50], ax
xor eax, eax
mov byte [ebp - 0x6c], 0
mov dword [ebp - 0xc], 0xeb715e8b
mov byte [ebp + eax - 0x2f0], al
inc eax
cmp eax, 0x100
jb 0x42df3d
xor edi, edi
add esi, 0x342a5b00
mov dword [ebp - 8], esi
mov esi, dword [ebp + 0xc]
xor edx, edx
mov cl, byte [ebp + edi - 0x2f0]
mov eax, edi
mov byte [ebp + 0xf], cl
div dword [ebp - 0x18]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x54]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x2f0]
mov byte [ebp + edi - 0x2f0], al
inc edi
mov al, byte [ebp + 0xf]
mov byte [ebp + esi - 0x2f0], al
cmp edi, 0x100
jb 0x42df5a
mov esi, dword [ebp - 8]
xor edi, edi
xor esi, 0x2d4ff1b7
xor edx, edx
xor ecx, ecx
lea eax, [edx + 1]
mov dword [ebp - 0x18], str.._s.mui
movzx edx, al
mov al, byte [ebp + edx - 0x2f0]
mov byte [ebp + 0xf], al
movzx eax, al
mov dword [ebp - 0x54], eax
add eax, edi
movzx edi, al
mov al, byte [ebp + edi - 0x2f0]
mov byte [ebp + edx - 0x2f0], al
mov al, byte [str.._s.mui]
jmp 0x42dff0
sub al, 0x30
cmp al, 9
ja 0x42dff6
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
mov al, byte [eax]
test al, al
jne 0x42dfe1
jmp 0x42dffc
imul esi, esi, 0x91f11a3a
mov al, byte [ebp + 0xf]
xor esi, 0x410773a
mov byte [ebp + edi - 0x2f0], al
movzx eax, byte [ebp + edx - 0x2f0]
add eax, dword [ebp - 0x54]
movzx eax, al
mov al, byte [ebp + eax - 0x2f0]
xor al, byte [ebp + ecx - 0xc]
mov byte [ebp + ecx - 0xa0], al
inc ecx
cmp ecx, 4
jb 0x42dfaa
mov dword [ebp - 0x2c], 0x5d
lea eax, [esi + 0x2dbe355a]
mov dword [ebp - 0x28], 0x32
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x24], 8
xorps xmm1, xmm1
mov dword [ebp - 0x20], 0xffffff74
movups xmm0, xmmword [ebp - 0x2c]
push 0xc
mov dword [0x44d800], eax
psubd xmm1, xmm0
mov byte [ebp - 0x9c], 0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
pop eax
push dword [ebp - 0x14]
movd esi, xmm1
add esi, eax
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0x84]
call fcn.0041e636
call eax
mov eax, esi
jmp 0x42e11f
push dword [ebp - 0x14]
lea ecx, [ebp - 0x64]
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0xd0]
call fcn.0041e636
call eax
movzx eax, byte [str.._s.mui]
mov ecx, 0x513
test eax, eax
je 0x42e0f2
mov edx, str.._s.mui
add ecx, eax
inc edx
cmp ecx, 0x196d
ja 0x42e10f
movzx eax, byte [edx]
test eax, eax
jne 0x42e0e0
mov ecx, dword [0x44d800]
add ecx, 0xda242355
lea eax, [edi + 0x2b]
or ecx, 0x430a5352
mov dword [0x44d800], ecx
jmp 0x42e11f
mov ecx, dword [0x44d800]
and ecx, 0xe31ef636
jmp 0x42e0f8
mov eax, edi
pop edi
pop esi
leave
ret