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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44c
push esi
push edi
push 0x6f
pop edi
push 9
mov dword [ebp - 0x180], ecx
mov esi, 0x403410
pop ecx
mov dword [ebp - 0x17c], edx
mov dword [ebp - 8], ecx
lea eax, [edi - 0x30]
cmp ax, cx
ja 0x43ab7c
add esi, 2
movzx eax, word [esi]
mov edi, eax
test ax, ax
jne 0x43ab5f
mov esi, dword [0x44db10]
jmp 0x43ab88
mov esi, dword [0x44db10]
add esi, 0x34e23109
call fcn.0043a82f
mov dword [ebp - 0x50], 0xb
lea eax, [esi + 0x6b5a4ea7]
mov dword [ebp - 0x4c], 0x14
xorps xmm1, xmm1
mov dword [ebp - 0x48], 0x45
or eax, 0x4cc6ded7
mov dword [ebp - 0x44], 0xffffff9c
mov edx, 0x403348
movups xmm0, xmmword [ebp - 0x50]
mov cl, 0x78
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x2c], xmm1
sub cl, 0x30
cmp cl, 9
ja 0x43abf4
inc edx
mov cl, byte [edx]
test cl, cl
jne 0x43abe3
jmp 0x43abf9
add eax, 0x79345e47
add eax, 0x50f5609c
mov dword [ebp - 0x24], eax
call fcn.0043a82f
push 5
pop ecx
mov esi, 0x4029c0
mov dword [ebp - 0x20], 0xd99da203
lea edi, [ebp - 0x58]
mov dword [ebp - 0x1c], 0x7a4484d1
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [ebp - 0x18], 0x4ed6120
mov dword [ebp - 0x14], 0x5bd362c3
mov eax, ecx
mov dword [ebp - 0x10], 0xb21cc27c
movsw word es:[edi], word [esi]
mov dword [ebp - 0xc], 0x21b8a56e
mov edi, ecx
mov byte [ebp + eax - 0x28c], al
inc eax
cmp eax, 0x100
jb 0x43ac45
mov esi, ecx
mov dword [ebp - 0x3c], 0x15
xor edx, edx
mov cl, byte [ebp + esi - 0x28c]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x3c]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x58]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x28c]
mov byte [ebp + esi - 0x28c], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x28c], al
cmp esi, 0x100
jb 0x43ac5d
xor eax, eax
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x28]
mov cl, byte [ebp + edi - 0x28c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x28], eax
mov al, byte [ebp + eax - 0x28c]
mov byte [ebp + edi - 0x28c], al
mov eax, dword [ebp - 0x28]
mov byte [ebp + eax - 0x28c], cl
movzx eax, byte [ebp + edi - 0x28c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x28c]
xor al, byte [ebp + esi - 0x20]
mov byte [ebp + esi - 0x2a8], al
inc esi
cmp esi, 0x18
jb 0x43aca7
mov eax, dword [ebp - 0x24]
xor ecx, ecx
push 0x17
pop edx
push 0xa
mov dword [ebp - 0x28], edx
sub eax, 0x64cbf9fa
mov byte [ebp - 0x137], dl
mov byte [ebp - 0x124], dl
pop edx
push 0x17
mov dword [ebp - 0x174], edx
mov byte [ebp - 0x10e], dl
pop edx
push 9
mov byte [ebp - 0xdb], dl
pop edx
push 0x15
mov byte [ebp - 0xd4], dl
pop edx
push 0x17
mov byte [ebp - 0xbf], dl
pop edx
mov byte [ebp - 0x290], cl
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x170], 0x262e699b
mov dword [ebp - 0x16c], 0xda284075
mov dword [ebp - 0x168], 0xec49bd0c
mov dword [ebp - 0x164], 0xedb767d0
mov dword [ebp - 0x160], 0x52bd704d
mov dword [ebp - 0x15c], 0x947f9411
mov dword [ebp - 0x158], 0x8f74cb7e
mov dword [ebp - 0x154], 0x2a851824
mov dword [ebp - 0x150], 0x71ea7295
mov dword [ebp - 0x14c], 0xc10b77aa
mov dword [ebp - 0x148], 0x848150a6
mov dword [ebp - 0x144], 0x484259fb
mov dword [ebp - 0x140], 0xa5c3714f
mov dword [ebp - 0x13c], 0x9d88aaaa
mov byte [ebp - 0x138], 0xc8
mov dword [ebp - 0x136], 0xd413acbd
mov dword [ebp - 0x132], 0xf17fc655
mov dword [ebp - 0x12e], 0xdc1c3c2e
mov dword [ebp - 0x12a], 0xb2be8c89
mov word [ebp - 0x126], 0xbd5c
mov dword [ebp - 0x123], 0x3af84e79
mov dword [ebp - 0x11f], 0x6e1255df
mov dword [ebp - 0x11b], 0x858a3ddc
mov dword [ebp - 0x117], 0x66fc7291
mov dword [ebp - 0x113], 0xb765d0f2
mov byte [ebp - 0x10f], 0xd1
mov dword [ebp - 0x10d], 0xb1148c1b
mov dword [ebp - 0x109], 0x78a2c729
mov dword [ebp - 0x105], 0x9c939c29
mov dword [ebp - 0x101], 0x213a3ffe
mov dword [ebp - 0xfd], 0x1b41f6b2
mov dword [ebp - 0xf9], 0x66164ff7
mov dword [ebp - 0xf5], 0x87348e2d
mov dword [ebp - 0xf1], 0xa20d30e3
mov dword [ebp - 0xed], 0xbd1e7adb
mov dword [ebp - 0xe9], 0xe152cb19
mov dword [ebp - 0xe5], 0x7381e7bf
mov dword [ebp - 0xe1], 0xed710c75
mov word [ebp - 0xdd], 0x3fdc
mov dword [ebp - 0xda], 0xeb630397
mov word [ebp - 0xd6], 0x5172
mov dword [ebp - 0xd3], 0xdcdb6c8f
mov dword [ebp - 0xcf], 0xae6caaf4
mov dword [ebp - 0xcb], 0x2b9e19c6
mov dword [ebp - 0xc7], 0xaea010c4
mov dword [ebp - 0xc3], 0x673b24e7
mov dword [ebp - 0xbe], 0x52c6479c
mov dword [ebp - 0xba], 0xe0b23ef0
mov byte [ebp - 0xb6], dl
mov dword [ebp - 0xb5], 0x4cb6115e
mov dword [ebp - 0xb1], 0x9a3c0845
mov dword [ebp - 0xad], 0x7d2b305
mov dword [ebp - 0xa9], 0x7a27cf0c
mov dword [ebp - 0xa5], 0x8ba76c03
mov dword [ebp - 0xa1], 0x876a5db
mov dword [ebp - 0x9d], 0xb63c49a3
mov esi, 0x4032dc
mov dword [ebp - 0x99], 0xd120879b
lea edi, [ebp - 0x38]
mov dword [ebp - 0x95], 0xb70361c7
mov dword [ebp - 0x91], 0x1e83f513
mov dword [ebp - 0x8d], 0x93304a75
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x89], 0x1f7ef961
mov dword [ebp - 0x85], 0xa3f8542c
mov dword [ebp - 0x81], 0x455bc08d
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x7d], 0xaa9101e4
mov dword [ebp - 0x79], 0xbc70ab0f
mov dword [ebp - 0x75], 0x241da079
mov dword [ebp - 0x71], 0xc2c11207
mov dword [ebp - 0x6d], 0x9bda6293
mov dword [ebp - 0x69], 0x8d888c05
mov dword [ebp - 0x65], 0x4f107b34
mov dword [ebp - 0x61], 0x4a9e9df4
mov dword [ebp - 0x5d], 0xfc1ddcc8
mov byte [ebp - 0x59], 0x65
movsw word es:[edi], word [esi]
inc ecx
cmp ecx, 0x1908
je 0x43b02a
cmp byte [ecx + 0x403348], 0
jne 0x43b009
cmp ecx, 0x24c0
jle 0x43b037
and eax, 0xe0f8e085
jmp 0x43b03c
call fcn.0043a82f
mov eax, dword [ebp - 0x24]
xor eax, 0x51df4f1a
and eax, 0x1ac8405b
add eax, 0x98efaab4
mov edx, 0x403410
mov dword [0x44db10], eax
call fcn.0043a975
xor ecx, ecx
mov edi, ecx
mov eax, ecx
mov byte [ebp + eax - 0x28c], al
inc eax
cmp eax, 0x100
jb 0x43b056
mov esi, ecx
xor edx, edx
mov cl, byte [ebp + esi - 0x28c]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 8]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x38]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x28c]
mov byte [ebp + esi - 0x28c], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x28c], al
cmp esi, 0x100
jb 0x43b067
mov edx, dword [0x44db10]
xor eax, eax
mov edi, eax
mov esi, eax
mov ecx, eax
lea eax, [esi + 1]
movzx esi, al
mov al, byte [ebp + esi - 0x28c]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x24], eax
add eax, edi
movzx eax, al
mov edi, 0x403348
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x28c]
mov byte [ebp + esi - 0x28c], al
mov al, 0x78
sub al, 0x30
cmp al, 9
ja 0x43b0f8
inc edi
mov al, byte [edi]
test al, al
jne 0x43b0e9
jmp 0x43b0fe
sub edx, 0x7f4e41e6
mov edi, dword [ebp - 8]
or edx, 0xaaa14d6d
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x28c], al
movzx eax, byte [ebp + esi - 0x28c]
add eax, dword [ebp - 0x24]
movzx eax, al
mov al, byte [ebp + eax - 0x28c]
xor al, byte [ebp + ecx - 0x170]
mov byte [ebp + ecx - 0x44c], al
inc ecx
cmp ecx, 0x118
jb 0x43b0b6
push 6
xor eax, eax
mov dword [ebp - 0x20], 0xacda57fd
pop ecx
mov esi, 0x4032e8
mov byte [ebp - 0x334], al
lea edi, [ebp - 0x58]
mov dword [ebp - 0x1c], 0x9652ffe9
mov dword [ebp - 0x18], 0x25c2e46f
mov dword [ebp - 0x14], 0x688b9af7
mov dword [ebp - 0x10], 0x9ea301d3
mov dword [ebp - 0xc], 0xce15234
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 8], eax
mov byte [ebp + eax - 0x28c], al
inc eax
cmp eax, 0x100
jb 0x43b183
xor eax, eax
imul esi, edx, 0x7681dcb2
mov edi, eax
xor edx, edx
mov cl, byte [ebp + edi - 0x28c]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x28]
movzx ecx, cl
add esi, 0x562409ca
movzx eax, byte [ebp + edx - 0x58]
add eax, dword [ebp - 8]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x28c]
mov byte [ebp + edi - 0x28c], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x28c], al
cmp edi, 0x100
jb 0x43b19c
xor eax, eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x24]
mov cl, byte [ebp + edi - 0x28c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x24], eax
mov al, byte [ebp + eax - 0x28c]
mov byte [ebp + edi - 0x28c], al
mov eax, dword [ebp - 0x24]
mov byte [ebp + eax - 0x28c], cl
movzx eax, byte [ebp + edi - 0x28c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x28c]
xor al, byte [ebp + esi - 0x20]
mov byte [ebp + esi - 0x2c4], al
inc esi
cmp esi, 0x18
jb 0x43b1f3
mov esi, 0x401608
mov dword [ebp - 0x20], 0xb390c5e7
lea edi, [ebp - 0x38]
mov byte [ebp - 0x1c], 0xde
push 0x15
xor eax, eax
mov dword [ebp - 0x1a], 0xdf4defc4
movsd dword es:[edi], dword [esi]
pop ecx
mov byte [ebp - 0x2ac], al
mov byte [ebp - 0x1b], cl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x16], 0xfc8c909d
mov dword [ebp - 0x12], 0x7b61273a
mov dword [ebp - 0xe], 0xd9c4f053
mov word [ebp - 0xa], 0x28ca
movsb byte es:[edi], byte [esi]
mov dword [ebp - 8], eax
mov byte [ebp + eax - 0x28c], al
inc eax
cmp eax, 0x100
jb 0x43b294
push 0x6f
mov ecx, 0x403410
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x43b2c8
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x43b2ab
mov esi, dword [ebp - 0x28]
jmp 0x43b2d1
mov esi, dword [ebp - 0x28]
xor esi, 0x206cf72a
call fcn.0043aa9a
xor eax, eax
or esi, 0xfec15610
mov edi, eax
mov dl, byte [ebp + edi - 0x28c]
mov eax, edi
and eax, 7
movzx ecx, dl
xor esi, 0x445e4c8b
movzx eax, byte [ebp + eax - 0x38]
add eax, dword [ebp - 8]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x28c]
mov byte [ebp + edi - 0x28c], al
inc edi
mov byte [ebp + ecx - 0x28c], dl
cmp edi, 0x100
jb 0x43b2e0
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov eax, ecx
mov edi, ecx
inc eax
and esi, 0x3096991d
movzx eax, al
mov dword [ebp - 8], eax
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 8]
mov cl, byte [ebp + eax - 0x28c]
mov eax, dword [ebp - 0x24]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x24], eax
mov al, byte [ebp + eax - 0x28c]
mov byte [ebp + esi - 0x28c], al
mov eax, dword [ebp - 0x24]
mov byte [ebp + eax - 0x28c], cl
mov eax, esi
mov esi, dword [ebp - 0x28]
movzx eax, byte [ebp + eax - 0x28c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x28c]
xor al, byte [ebp + edi - 0x20]
mov byte [ebp + edi - 0x2e0], al
inc edi
mov eax, dword [ebp - 8]
cmp edi, 0x18
jb 0x43b32c
push 0x6f
mov ecx, 0x403410
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x43b3bb
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x43b3a1
jmp 0x43b3c4
and esi, 0x7d29ac58
mov dword [ebp - 0x28], esi
mov esi, 0x402e98
mov dword [ebp - 0x34], 0x74777960
lea edi, [ebp - 0x4c]
mov byte [ebp - 0x30], 0xa7
xor ecx, ecx
mov byte [ebp - 0x2c8], cl
mov eax, ecx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 8], ecx
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x28]
add esi, 0xf8aee12f
or esi, 0x98f2491
mov byte [ebp + eax - 0x28c], al
inc eax
cmp eax, 0x100
jb 0x43b3f8
mov edi, ecx
xor edx, edx
mov cl, byte [ebp + edi - 0x28c]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x174]
movzx ecx, cl
xor esi, 0x680c9483
movzx eax, byte [ebp + edx - 0x4c]
add eax, dword [ebp - 8]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x28c]
mov byte [ebp + edi - 0x28c], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x28c], al
cmp edi, 0x100
jb 0x43b409
xor eax, eax
mov dword [0x44db10], esi
push 0x6f
mov dword [ebp - 8], eax
mov edi, eax
mov edx, 0xd2d
mov eax, 0x403410
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x1083
ja 0x43b487
movzx ecx, word [eax]
test ecx, ecx
jne 0x43b471
jmp 0x43b498
call fcn.0043a915
mov esi, dword [0x44db10]
xor esi, 0xf94dcd14
and esi, 0xdc259241
add esi, 0x54d65c16
mov dword [0x44db10], esi
call fcn.0043a915
xor eax, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x28c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x28c]
mov byte [ebp + edi - 0x28c], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x28c], cl
movzx eax, byte [ebp + edi - 0x28c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x28c]
xor al, byte [ebp + esi - 0x34]
mov byte [ebp + esi - 0x18c], al
inc esi
cmp esi, 5
jb 0x43b4b3
xor edx, edx
mov dword [ebp - 0x38], 0x38
push 0x21
mov byte [ebp - 0x187], dl
mov eax, edx
pop ecx
mov dword [ebp - 0x34], 0xffffffa7
add ecx, dword [ebp + eax*4 - 0x38]
inc eax
cmp eax, 2
jl 0x43b526
mov dword [ebp - 0x50], 0x39
xorps xmm1, xmm1
mov dword [ebp - 0x4c], 0x4a
mov dword [ebp - 0x48], 0x16
mov dword [ebp - 0x44], 0xffffff67
movups xmm0, xmmword [ebp - 0x50]
mov dword [ebp - 0x50], 0x14
mov dword [ebp - 0x4c], 0x57
psubd xmm1, xmm0
mov dword [ebp - 0x48], 0xf
movaps xmm0, xmm1
mov dword [ebp - 0x44], 0xffffff2e
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x174], ecx
movups xmm0, xmm1
mov dword [ebp - 0x38], 0x4e
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x34], 0xffffffa4
movd dword [ebp - 0x24], xmm1
movups xmm1, xmmword [ebp - 0x50]
push 0xe
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x58
or dword [0x44db10], 0x3317f54
mov dword [ebp - 0x28], eax
pop eax
mov dword [ebp - 0x178], eax
mov ecx, eax
mov eax, edx
add ecx, dword [ebp + eax*4 - 0x38]
inc eax
cmp eax, 2
jl 0x43b5e1
mov dword [ebp - 0x184], ecx
mov eax, edx
mov ecx, 0x258
mov dword [ebp - 0x54], 0x2b
mov dword [ebp - 0x50], 0x1c
mov dword [ebp - 0x4c], 0x31
mov dword [ebp - 0x48], 0x21
mov dword [ebp - 0x44], 0x197
sub ecx, dword [ebp + eax*4 - 0x54]
inc eax
cmp eax, 5
jl 0x43b61b
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x3c], eax
call fcn.0043617c
lea ecx, [ebp - 0x44c]
mov dword [ebp - 8], eax
call fcn.0043617c
lea ecx, [ebp - 0x2c4]
mov edi, eax
call fcn.0043617c
mov esi, eax
lea ecx, [ebp - 0x18c]
push esi
push edi
push dword [ebp - 8]
push dword [ebp + 0x10]
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0x2e0]
call fcn.0041e636
call eax
mov ecx, dword [ebp - 8]
call fcn.004369c6
push eax
push dword [ebp - 0x174]
push ecx
call fcn.004360de
mov ecx, edi
call fcn.004369c6
push eax
push dword [ebp - 0x24]
push edi
call fcn.004360de
mov ecx, esi
call fcn.004369c6
push eax
push dword [ebp - 0x28]
push esi
call fcn.004360de
mov ecx, dword [ebp - 8]
add esp, 0x34
call fcn.0041e600
mov ecx, edi
call fcn.0041e600
mov ecx, esi
call fcn.0041e600
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
call fcn.00436ed9
cmp dword [ebp + 0x14], 0
je 0x43b87a
push 0xd
xor edx, edx
mov dword [ebp - 0x20], 0xe9895281
pop ecx
mov esi, 0x401e74
mov dword [ebp - 0x1c], 0xebffe858
lea edi, [ebp - 0x330]
mov dword [ebp - 0x18], 0x81bcd73a
mov dword [ebp - 0x14], 0x2c579b0b
mov eax, edx
mov dword [ebp - 0x10], 0x9691f73a
mov dword [ebp - 0xc], 0xa840352a
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 8], edx
mov byte [ebp + eax - 0x28c], al
inc eax
cmp eax, 0x100
jb 0x43b71e
mov esi, dword [0x44db10]
mov edi, edx
mov ecx, edx
mov eax, 0x403410
inc ecx
lea eax, [eax + 2]
cmp ecx, 0xd56
je 0x43b74f
cmp word [eax], dx
jne 0x43b73c
jmp 0x43b755
and esi, 0x327d8c44
xor edx, edx
mov dword [ebp - 0x2c], 0x33
mov eax, edi
mov cl, byte [ebp + edi - 0x28c]
div dword [ebp - 0x2c]
mov byte [ebp + 0x17], cl
and esi, 0x510c21d8
movzx ecx, cl
imul esi, esi, 0x305aa7ec
push 0
movzx eax, byte [ebp + edx - 0x330]
add eax, dword [ebp - 8]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
pop edx
mov al, byte [ebp + ecx - 0x28c]
mov byte [ebp + edi - 0x28c], al
inc edi
mov al, byte [ebp + 0x17]
mov byte [ebp + ecx - 0x28c], al
cmp edi, 0x100
jb 0x43b735
xor eax, eax
mov ecx, 0x403410
push 0x6f
mov dword [ebp + 0x14], eax
mov edi, eax
mov eax, 0x163d
pop edx
add eax, edx
lea ecx, [ecx + 2]
cmp eax, 0xc93
ja 0x43b7dc
movzx edx, word [ecx]
test edx, edx
jne 0x43b7c7
jmp 0x43b7e7
call fcn.0043aa9a
add esi, 0x74ce6a50
and esi, 0x61bc8142
imul eax, esi, 0xeb7dace4
mov dword [0x44db10], eax
xor eax, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp + 0x14]
mov cl, byte [ebp + edi - 0x28c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp + 0x14], eax
mov al, byte [ebp + eax - 0x28c]
mov byte [ebp + edi - 0x28c], al
mov eax, dword [ebp + 0x14]
mov byte [ebp + eax - 0x28c], cl
movzx eax, byte [ebp + edi - 0x28c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x28c]
xor al, byte [ebp + esi - 0x20]
mov byte [ebp + esi - 0x58], al
inc esi
cmp esi, 0x18
jb 0x43b7fc
mov esi, dword [ebp + 0xc]
lea edx, [ebp - 0x58]
mov ecx, dword [ebp - 0x180]
xor eax, eax
mov byte [ebp - 0x40], al
lea eax, [ebp - 0x3c]
push esi
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x17c]
call fcn.004269bb
jmp 0x43ba69
mov esi, 0x402584
mov dword [ebp - 0x20], 0xb5089799
lea edi, [ebp - 0x50]
mov dword [ebp - 0x1c], 0x253fc481
push 0x15
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x10], al
mov eax, dword [0x44db10]
and eax, 0x6da3f05c
mov dword [ebp - 0x18], 0xfbfece14
movsd dword es:[edi], dword [esi]
imul eax, eax, 0x16e01fc0
mov dword [ebp - 0x14], 0xf2516d1b
mov dword [ebp - 0xf], 0xf02a66b2
movsd dword es:[edi], dword [esi]
mov word [ebp - 0xb], 0x84e2
mov dword [ebp - 8], eax
xor eax, eax
mov byte [ebp - 9], 0x68
movsw word es:[edi], word [esi]
mov dword [ebp + 0x14], eax
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 8]
push 0x6f
mov ecx, 0x403410
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x43b8f8
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x43b8de
jmp 0x43b8fe
imul esi, esi, 0xb7dca15c
and esi, 0xb4445bfd
call fcn.0043aa9a
mov eax, dword [ebp + 0x14]
mov byte [ebp + eax - 0x28c], al
inc eax
mov dword [ebp + 0x14], eax
cmp eax, 0x100
jb 0x43b8d6
xor eax, eax
mov dword [ebp - 8], esi
mov edi, eax
mov esi, eax
xor edx, edx
mov cl, byte [ebp + edi - 0x28c]
mov eax, edi
mov byte [ebp + 0x17], cl
div dword [ebp - 0x178]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x50]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x28c]
mov byte [ebp + edi - 0x28c], al
inc edi
mov al, byte [ebp + 0x17]
mov byte [ebp + esi - 0x28c], al
cmp edi, 0x100
jb 0x43b927
mov esi, dword [ebp - 8]
xor eax, eax
mov edi, eax
mov edx, eax
mov ecx, eax
xor esi, 0x639f3f2a
movzx eax, byte [str.onecoreuap_base_appmodel_searchcommonpkmutildlmstr.cxx]
mov dword [ebp - 0x178], eax
lea eax, [edx + 1]
mov dword [ebp - 0x24], 0x2172
movzx edx, al
or esi, 0xbb1082f1
mov al, byte [ebp + edx - 0x28c]
mov byte [ebp + 0x17], al
movzx eax, al
mov dword [ebp - 0x2c], eax
add eax, edi
movzx edi, al
mov dword [ebp - 8], edi
mov al, byte [ebp + edi - 0x28c]
mov edi, dword [ebp - 0x178]
mov byte [ebp + edx - 0x28c], al
mov eax, str.onecoreuap_base_appmodel_searchcommonpkmutildlmstr.cxx
jmp 0x43b9e7
mov edi, dword [ebp - 0x24]
inc eax
add edi, dword [ebp - 0x28]
mov dword [ebp - 0x24], edi
cmp edi, 0x1748
mov edi, dword [ebp - 8]
ja 0x43b9f3
movzx edi, byte [eax]
test edi, edi
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 8]
jne 0x43b9cf
jmp 0x43b9f9
imul esi, esi, 0x6087c6e9
mov al, byte [ebp + 0x17]
xor esi, 0x98fd1beb
mov byte [ebp + edi - 0x28c], al
movzx eax, byte [ebp + edx - 0x28c]
add eax, dword [ebp - 0x2c]
movzx eax, al
imul esi, esi, 0x744e2097
mov al, byte [ebp + eax - 0x28c]
xor al, byte [ebp + ecx - 0x20]
mov byte [ebp + ecx - 0x2fc], al
inc ecx
cmp ecx, 0x18
jb 0x43b989
mov ecx, dword [ebp - 0x180]
lea edx, [ebp - 0x2fc]
xor eax, eax
mov dword [0x44db10], esi
mov esi, dword [ebp + 0xc]
mov byte [ebp - 0x2e4], al
lea eax, [ebp - 0x3c]
push esi
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x17c]
call fcn.00421b3e
mov edi, eax
add esp, 0x10
cmp edi, dword [ebp - 0x184]
jne 0x43baca
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x34]
jbe 0x43baca
mov dword [ebp - 0x50], 0x56
mov dword [ebp - 0x4c], 0x38
mov dword [ebp - 0x48], 0x3f
mov dword [ebp - 0x44], 0xffffff1c
movups xmm1, xmmword [ebp - 0x50]
push 0x17
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, ecx
cmp esi, eax
je 0x43baca
mov ecx, esi
call fcn.0041d07b
mov eax, edi
pop edi
pop esi
leave
ret