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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x374
push ebx
push esi
push edi
mov esi, 0xc6fec8
mov dword [ebp - 0xfc], edx
lea edi, [ebp - 0x9c]
mov dword [ebp - 0x84], ecx
push 0x12
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x7f], al
mov byte [ebp - 0x65], al
push 0x16
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0x80], 0x91
mov dword [ebp - 0x7e], 0x5f2c4adf
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x7a], 0x216b3986
mov dword [ebp - 0x76], 0x71864069
mov dword [ebp - 0x72], 0xc42ecdc2
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x6e], 0x3ff1340a
mov dword [ebp - 0x6a], 0xc070c4ca
mov byte [ebp - 0x66], 0xea
movsw word es:[edi], word [esi]
mov dword [ebp - 0x64], 0xc34955bc
mov dword [ebp - 0x60], 0xe84df0c7
mov dword [ebp - 0x5c], 0x9d0983c6
mov dword [ebp - 0x58], 0xb51882d4
mov dword [ebp - 0x54], 0x9605f466
mov dword [ebp - 0x50], 0xb8eaa8f
mov dword [ebp - 0x4c], 0x5b45e8af
mov byte [ebp - 0x48], al
mov dword [ebp - 0x47], 0x9aa4f6f5
mov byte [ebp - 0x43], 0xd6
mov byte [ebp - 0x42], al
mov byte [ebp - 0x41], 0x48
movsb byte es:[edi], byte [esi]
call fcn.00c5fca2
xor ebx, ebx
mov edi, ebx
mov eax, ebx
mov byte [ebp + eax - 0x228], al
inc eax
cmp eax, 0x100
jb 0xc5ff8b
imul eax, dword [0xc789cc], 0xd416eb29
mov esi, str.argument_out_of_domain
mov dword [ebp - 8], eax
call fcn.00c5fa03
lea esi, [esi + 2]
cmp word [esi], bx
jne 0xc5ffac
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x228]
push 0x12
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x9c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x228]
mov byte [ebp + esi - 0x228], al
inc esi
mov byte [ebp + edi - 0x228], bl
cmp esi, 0x100
jb 0xc5ffbb
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x228]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x228]
mov byte [ebp + edi - 0x228], al
mov byte [ebp + ebx - 0x228], cl
movzx eax, byte [ebp + edi - 0x228]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x228]
xor al, byte [ebp + esi - 0x80]
mov byte [ebp + esi - 0x328], al
inc esi
cmp esi, 0x40
jb 0xc60003
mov esi, str.SrchDSSAdmin
mov dword [ebp - 0xf8], 0xb82f520f
lea edi, [ebp - 0x120]
mov dword [ebp - 0xf4], 0x664c1083
push 0xc
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [ebp - 0xbc], al
mov eax, dword [ebp - 8]
or eax, 0x47b95d9d
mov byte [ebp - 0x2e8], cl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 4], eax
mov eax, ecx
mov dword [ebp - 0xf0], 0x69e2e243
mov dword [ebp - 0xec], 0x718979a1
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xe8], 0xf749a400
mov dword [ebp - 0xe4], 0x4cbcc269
mov dword [ebp - 0xe0], 0xa6ba5fb9
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0xdc], 0xc57bdd92
mov esi, ecx
mov dword [ebp - 0xd8], 0x9ed043ef
mov dword [ebp - 0xd4], 0x60552aca
mov dword [ebp - 0xd0], 0x18e01a1e
mov dword [ebp - 0xcc], 0x53dc8684
mov dword [ebp - 0xc8], 0xc18bb819
mov dword [ebp - 0xc4], 0x2e913997
mov dword [ebp - 0xc0], 0xddaf3deb
mov word [ebp - 0xbb], 0xe5e
mov byte [ebp - 0xb9], 0xbe
mov byte [ebp + eax - 0x228], al
inc eax
cmp eax, 0x100
jb 0xc60128
mov ebx, ecx
mov dword [ebp - 0x3c], ecx
push 0xc
pop edi
mov eax, ebx
mov cl, byte [ebp + ebx - 0x228]
xor edx, edx
mov byte [ebp - 0x35], cl
div edi
movzx ecx, cl
lea edi, [ebp - 0x278]
push 0x12
movzx eax, byte [ebp + edx - 0x120]
add eax, esi
mov esi, 0xc718c0
add ecx, eax
movzx eax, cl
mov dword [ebp - 0x40], eax
mov al, byte [ebp + eax - 0x228]
mov byte [ebp + ebx - 0x228], al
xor eax, eax
mov ebx, eax
pop eax
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x278], 0x61
jne 0xc601b7
mov al, 0x61
test al, al
je 0xc601b7
cmp byte [ebp + ebx - 0x278], 0
je 0xc601b7
call fcn.00c5f93f
mov al, byte [ebx + 0xc74cd1]
inc ebx
cmp al, byte [ebp + ebx - 0x278]
je 0xc60194
movzx eax, byte [ebp + ebx - 0x278]
movzx ecx, byte [ebx + str.address_not_available]
sub ecx, eax
cmp ecx, 0x1549
jae 0xc601d9
sub dword [ebp - 8], 0x23f86a35
jmp 0xc601e5
or dword [ebp - 4], 0x71eecfd
call fcn.00c5fa03
mov ebx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x40]
inc ebx
mov al, byte [ebp - 0x35]
mov dword [ebp - 0x3c], ebx
mov byte [ebp + esi - 0x228], al
cmp ebx, 0x100
jb 0xc6013c
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x228]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x228]
mov byte [ebp + edi - 0x228], al
mov byte [ebp + ebx - 0x228], cl
movzx eax, byte [ebp + edi - 0x228]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x228]
xor al, byte [ebp + esi - 0xf8]
mov byte [ebp + esi - 0x370], al
inc esi
cmp esi, 0x40
jb 0xc6020d
mov esi, str.io_error
mov dword [ebp - 0x34], 0x6c99e5a9
lea edi, [ebp - 0x11c]
mov dword [ebp - 0x30], 0x6603ca8d
push 0xc
xor ebx, ebx
mov dword [ebp - 0x2c], 0x6380b7f8
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0x10], al
mov eax, ebx
mov byte [ebp - 0x330], bl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x28], 0x3229de54
mov dword [ebp - 0x24], 0xd1972660
mov dword [ebp - 0x20], 0x5e90e7dc
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x1c], 0x49a17dde
mov edi, ebx
mov dword [ebp - 0x18], 0x1fefdc20
mov dword [ebp - 0x14], 0xe2b73b7a
mov dword [ebp - 0xf], 0xa2246a04
mov word [ebp - 0xb], 0x8325
mov byte [ebp - 9], 0x86
mov byte [ebp + eax - 0x228], al
inc eax
cmp eax, 0x100
jb 0xc602d0
mov esi, ebx
mov dl, byte [ebp + esi - 0x228]
mov eax, esi
and eax, 7
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x11c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x228]
mov byte [ebp + esi - 0x228], al
inc esi
mov byte [ebp + edi - 0x228], dl
cmp esi, 0x100
jb 0xc602e1
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x228]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x228]
mov byte [ebp + edi - 0x228], al
mov byte [ebp + ebx - 0x228], cl
movzx eax, byte [ebp + edi - 0x228]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x228]
xor al, byte [ebp + esi - 0x34]
mov byte [ebp + esi - 0x2dc], al
inc esi
cmp esi, 0x2c
jb 0xc60323
mov esi, 0xc70204
mov dword [ebp - 0xa0], 0xae5aeca5
lea edi, [ebp - 0x110]
mov dword [ebp - 0x9c], 0x5c714092
xor ebx, ebx
mov dword [ebp - 0x98], 0x870e43ef
mov byte [ebp - 0x2b0], bl
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x94], 0xc4284219
mov dword [ebp - 0x90], 0xce6a9d9f
mov dword [ebp - 0x8c], 0x846fbe2b
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x228], al
inc eax
cmp eax, 0x100
jb 0xc603cb
mov esi, ebx
mov dl, byte [ebp + esi - 0x228]
mov eax, esi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x110]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x228]
mov byte [ebp + esi - 0x228], al
inc esi
mov byte [ebp + edi - 0x228], dl
cmp esi, 0x100
jb 0xc603dc
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x228]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x228]
mov byte [ebp + edi - 0x228], al
mov byte [ebp + ebx - 0x228], cl
movzx eax, byte [ebp + edi - 0x228]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x228]
xor al, byte [ebp + esi - 0xa0]
mov byte [ebp + esi - 0x2ac], al
inc esi
cmp esi, 0x18
jb 0xc6041e
mov esi, str.connection_aborted
mov dword [ebp - 0x34], 0x6b2389d
lea edi, [ebp - 0x9c]
mov dword [ebp - 0x30], 0xa14ddf75
push 0x12
xor ecx, ecx
mov dword [ebp - 0x2b], 0xe4bb5520
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0x2c], al
mov eax, ecx
mov byte [ebp - 0x294], cl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x27], 0x243dbf68
mov dword [ebp - 0x23], 0x3faa0a44
mov dword [ebp - 0x1f], 0x6c3c69a0
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1b], 0x1d4053df
mov dword [ebp - 0x17], 0x675c97ca
mov dword [ebp - 0x13], 0xeb93bc1e
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xf], 0x44fd070d
mov word [ebp - 0xb], 0x538c
mov byte [ebp - 9], 0xf1
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [ebp + eax - 0x228], al
inc eax
cmp eax, 0x100
jb 0xc604e5
mov esi, ecx
push 0x12
xor edx, edx
mov bl, byte [ebp + esi - 0x228]
pop ecx
mov eax, esi
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x9c]
add eax, edi
add ecx, eax
movzx eax, cl
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov edi, ecx
mov eax, dword [ebp - 4]
xor eax, 0x38977488
inc edi
cmp word [edi*2 + str.argument_out_of_domain], cx
jne 0xc60522
mov dword [ebp - 4], eax
call fcn.00c5fe18
cmp edi, 0x718
jne 0xc60551
call fcn.00c5fa03
mov eax, dword [ebp - 4]
add eax, 0xf90fd8ae
jmp 0xc60559
mov eax, dword [ebp - 4]
add eax, 0xfe0e9076
mov edi, dword [ebp - 0x40]
mov dword [ebp - 4], eax
mov dword [0xc789cc], eax
mov al, byte [ebp + edi - 0x228]
mov byte [ebp + esi - 0x228], al
inc esi
mov byte [ebp + edi - 0x228], bl
cmp esi, 0x100
jb 0xc604f6
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x228]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x228]
mov byte [ebp + edi - 0x228], al
mov byte [ebp + ebx - 0x228], cl
movzx eax, byte [ebp + edi - 0x228]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x228]
xor al, byte [ebp + esi - 0x34]
mov byte [ebp + esi - 0xe8], al
inc esi
cmp esi, 0x2c
jb 0xc6058e
mov esi, 0xc70204
mov dword [ebp - 0xa0], 0x8a77e1cb
lea edi, [ebp - 0x110]
mov dword [ebp - 0x9c], 0x117f52bc
xor ebx, ebx
mov dword [ebp - 0x98], 0xc33011c4
mov byte [ebp - 0xbc], bl
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x94], 0x923f6c07
mov dword [ebp - 0x90], 0x9764bebb
mov dword [ebp - 0x8c], 0x846f8819
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x228], al
inc eax
cmp eax, 0x100
jb 0xc60636
mov esi, ebx
mov dl, byte [ebp + esi - 0x228]
mov eax, esi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x110]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x228]
mov byte [ebp + esi - 0x228], al
inc esi
mov byte [ebp + edi - 0x228], dl
cmp esi, 0x100
jb 0xc60647
mov ecx, dword [ebp - 4]
xor eax, eax
mov edi, eax
mov esi, eax
mov eax, ecx
and eax, 0xe032637c
mov dword [0xc789b8], eax
inc esi
cmp byte [esi + str.address_not_available], bl
jne 0xc60698
cmp dword [ebp + 0x10], esi
jae 0xc606bf
or ecx, 0xccb2104
sub esi, dword [ebp + 0x10]
mov dword [0xc789b8], ecx
call fcn.00c5f7f6
sub esi, 1
jne 0xc606b5
xor eax, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x228]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x228]
mov byte [ebp + edi - 0x228], al
mov byte [ebp + ebx - 0x228], cl
movzx eax, byte [ebp + edi - 0x228]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x228]
xor al, byte [ebp + esi - 0xa0]
mov byte [ebp + esi - 0x24], al
inc esi
cmp esi, 0x18
jb 0xc606c3
xor esi, esi
xor ebx, ebx
inc esi
mov byte [ebp - 0xc], bl
mov dword [ebp - 8], ebx
cmp dword [ebp + 0x10], esi
jne 0xc6073b
mov ecx, dword [ebp + 0x14]
call fcn.00c5eda6
mov dword [ebp - 8], eax
cmp eax, 0xffffffff
jne 0xc6073b
push 3
pop eax
jmp 0xc60cee
push 0x10
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3c], ebx
push ebx
push eax
call fcn.00c4cf49
push 0x48
lea eax, [ebp - 0x278]
push ebx
push eax
call fcn.00c4cf49
add esp, 0x18
lea eax, [ebp - 0x3c]
lea edx, [ebp - 0x328]
mov ecx, esi
push eax
push ebx
push 2
push ebx
call fcn.00c4ba1b
call eax
mov ecx, dword [ebp - 0x3c]
call fcn.00c4b9d3
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x234], eax
push ecx
push ebx
push 2
push eax
lea edx, [ebp - 0x370]
mov ecx, esi
call fcn.00c4ba1b
call eax
push ebx
push ebx
push 8
lea eax, [ebp - 0x120]
mov dword [ebp - 0x120], ebx
push eax
push 0x20007
push ebx
push dword [ebp - 0x234]
lea edx, [ebp - 0x2dc]
mov dword [ebp - 0x11c], 0x1000
mov ecx, esi
call fcn.00c4ba1b
call eax
cmp dword [ebp + 0x10], esi
jne 0xc60929
push 5
pop ecx
mov esi, 0xc6f240
xor dword [0xc789b8], 0x498feb01
lea edi, [ebp - 0xa0]
mov dword [ebp - 0x6c], 0x9a828ec0
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x68], 0x245dc233
mov eax, ebx
mov dword [ebp - 0x64], 0x9b0f19b5
mov dword [ebp - 0x60], 0xb4bea26d
movsw word es:[edi], word [esi]
mov dword [ebp - 0x5c], 0x1109e883
mov dword [ebp - 0x58], 0x17d38ee8
mov dword [ebp - 0x54], 0xbb71a4f3
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x50], 0xfd8af91f
mov edi, ebx
mov dword [ebp - 0x4c], 0xb7c6d07e
mov dword [ebp - 0x48], 0xe8779991
mov dword [ebp - 0x44], 0x31df8f62
mov byte [ebp + eax - 0x228], al
inc eax
cmp eax, 0x100
jb 0xc60848
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x228]
push 0x16
mov eax, esi
xor dword [0xc789cc], 0xc8e57620
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xa0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x228]
mov byte [ebp + esi - 0x228], al
inc esi
mov byte [ebp + edi - 0x228], bl
cmp esi, 0x100
jb 0xc60859
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x228]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x228]
mov byte [ebp + edi - 0x228], al
mov byte [ebp + ebx - 0x228], cl
movzx eax, byte [ebp + edi - 0x228]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x228]
xor al, byte [ebp + esi - 0x6c]
mov byte [ebp + esi - 0xb4], al
inc esi
cmp esi, 0x2c
jb 0xc608ab
xor ebx, ebx
lea eax, [ebp - 8]
push ebx
push ebx
push 4
push eax
push 0x20000
xor esi, esi
mov byte [ebp - 0x88], bl
push ebx
push dword [ebp - 0x234]
inc esi
lea edx, [ebp - 0xb4]
mov ecx, esi
call fcn.00c4ba1b
call eax
xor eax, eax
mov dword [ebp - 0x278], 0x48
mov word [ebp - 0x248], ax
lea edx, [ebp - 0x2ac]
lea eax, [ebp - 0x110]
mov dword [ebp - 0x24c], 0x80001
push eax
lea eax, [ebp - 0x278]
mov ecx, esi
push eax
push ebx
push ebx
push 0x808000c
push esi
push ebx
push ebx
push ebx
push dword [ebp - 0x84]
call fcn.00c4ba1b
call eax
test eax, eax
jne 0xc60998
mov ecx, dword [ebp - 0x234]
call fcn.00c4ba07
cmp dword [ebp + 0x10], esi
jne 0xc60991
push dword [ebp - 8]
call fcn.00c6e4cf
pop ecx
push 5
jmp 0xc60735
push dword [ebp - 0x234]
lea edx, [ebp - 0xe8]
mov ecx, esi
call fcn.00c4ba1b
call eax
mov ecx, dword [ebp - 0x234]
call fcn.00c4ba07
cmp dword [ebp + 0x10], esi
jne 0xc609c6
push dword [ebp - 8]
call fcn.00c6e4cf
pop ecx
push ebx
push 0x18
lea eax, [ebp - 0x290]
push eax
push ebx
push dword [ebp - 0x110]
call fcn.00c6e4b1
mov edi, 0x210
mov ecx, edi
call fcn.00c4b9d3
mov ecx, dword [0xc789cc]
mov esi, eax
push ebx
push edi
push esi
push dword [ebp - 0x28c]
xor ecx, 0xf4894ab0
push dword [ebp - 0x110]
mov dword [0xc789b8], ecx
call fcn.00c6e493
add esp, 0x28
mov ecx, esi
call fcn.00c4ba07
mov edi, dword [ebp - 0xfc]
mov eax, 0x5a4d
cmp word [edi], ax
je 0xc60a32
push 6
pop edi
jmp 0xc60c20
mov ebx, dword [edi + 0x3c]
xor ecx, ecx
add ebx, edi
mov dword [ebp - 4], ecx
push 0x40
push 0x3000
mov dword [ebp - 0x124], ebx
lea eax, [ebx + 0x50]
push eax
push ecx
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x110]
call fcn.00c6e4a7
mov ecx, dword [ebx + 0x54]
call fcn.00c4b9d3
push dword [ebx + 0x54]
mov esi, eax
push edi
push esi
call fcn.00c4cef6
xor eax, eax
push eax
push dword [ebx + 0x54]
push esi
push dword [ebp - 4]
push dword [ebp - 0x110]
call fcn.00c6e49d
add esp, 0x38
mov ecx, esi
mov edi, eax
call fcn.00c4ba07
test edi, edi
jne 0xc60c1e
movzx esi, word [ebx + 0x14]
xor eax, eax
add esi, 0x28
mov dword [ebp + 0x10], eax
cmp ax, word [ebx + 6]
jae 0xc60b0b
add esi, ebx
mov ecx, dword [esi]
call fcn.00c4b9d3
push dword [esi]
mov ecx, dword [esi + 4]
mov edi, eax
add ecx, dword [ebp - 0xfc]
push ecx
push edi
call fcn.00c4cef6
xor eax, eax
push eax
push dword [esi]
mov eax, dword [esi - 4]
add eax, dword [ebp - 4]
push edi
push eax
push dword [ebp - 0x110]
call fcn.00c6e49d
add esp, 0x20
mov dword [ebp - 0x84], eax
mov ecx, edi
test eax, eax
jne 0xc60c13
add esi, 0x28
call fcn.00c4ba07
mov ecx, dword [ebp + 0x10]
movzx eax, word [ebx + 6]
inc ecx
mov dword [ebp + 0x10], ecx
cmp ecx, eax
jl 0xc60aae
mov ecx, 0x2cc
call fcn.00c4b9d3
mov esi, eax
push esi
mov dword [ebp - 0x84], esi
mov dword [esi], 0x10007
push dword [ebp - 0x10c]
call fcn.00c6e47f
pop ecx
pop ecx
lea ecx, [ebp - 0x24]
call fcn.00c4d02f
mov ecx, dword [ebp + 8]
mov edi, eax
mov edx, edi
mov dword [ebp - 0x128], edi
call fcn.00c4d364
test eax, eax
jne 0xc60c35
call fcn.00c5fe18
push 7
pop ecx
mov esi, str.too_many_symbolic_link_levels
lea edi, [ebp - 0xa8]
rep movsd dword es:[edi], dword [esi]
xor eax, eax
movsw word es:[edi], word [esi]
cmp byte [ebp - 0xa8], 0x61
jne 0xc60bf0
mov cl, 0x61
test cl, cl
je 0xc60b95
cmp byte [ebp + eax - 0xa8], 0
je 0xc60b95
mov cl, byte [eax + 0xc74cd1]
inc eax
cmp cl, byte [ebp + eax - 0xa8]
je 0xc60b77
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x40], eax
cmp edi, eax
jae 0xc60bf0
mov eax, dword [0xc789cc]
mov ebx, dword [0xc789b8]
mov esi, dword [ebp - 0x40]
mov dword [ebp + 0x10], eax
cmp edi, 0x5a1
jne 0xc60bcf
mov eax, ebx
and eax, 0x484d72fa
mov dword [ebp + 0x10], eax
mov dword [0xc789cc], eax
call fcn.00c5f7f6
mov eax, dword [ebp + 0x10]
mov ebx, eax
xor ebx, 0xc4e40436
call fcn.00c5fe18
mov eax, dword [ebp + 0x10]
inc edi
cmp edi, esi
jb 0xc60bb0
mov dword [0xc789b8], ebx
mov ebx, dword [ebp - 0x124]
push dword [ebp + 0xc]
mov eax, dword [ebp - 0xfc]
mov edx, ebx
push eax
mov ecx, eax
call fcn.00c5ec70
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x128]
pop ecx
pop ecx
jmp 0xc60c38
call fcn.00c4ba07
mov edi, dword [ebp - 0x84]
xor ebx, ebx
push ebx
push dword [ebp - 0x10c]
call fcn.00c6e475
pop ecx
pop ecx
mov eax, edi
jmp 0xc60cee
mov eax, dword [ebx + 0x28]
add eax, dword [ebp - 4]
mov ecx, edi
mov dword [esi + 0xb0], eax
call fcn.00c4d309
push eax
xor ebx, ebx
push ebx
push edi
call fcn.00c4cf49
mov ecx, edi
call fcn.00c4ba07
push esi
push dword [ebp - 0x10c]
call fcn.00c6e489
push ebx
push 4
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 0x28c]
add eax, 8
push eax
push dword [ebp - 0x110]
call fcn.00c6e49d
push ebx
push dword [ebp - 0x10c]
call fcn.00c6e475
add esp, 0x30
mov ecx, esi
call fcn.00c4ba07
call fcn.00c5fca2
push 6
pop edi
mov ecx, edi
mov esi, 0xc70468
lea edi, [ebp - 0xa4]
rep movsd dword es:[edi], dword [esi]
push 0x61
pop ecx
movsw word es:[edi], word [esi]
cmp cx, word [ebp - 0xa4]
jne 0xc60cec
xor edx, edx
mov eax, edx
test cx, cx
je 0xc60cec
cmp word [ebp + eax - 0xa4], dx
je 0xc60cec
call fcn.00c5fca2
inc ebx
push 0
pop edx
lea eax, [ebx + ebx]
movzx ecx, word [eax + str.argument_out_of_domain]
cmp cx, word [ebp + eax - 0xa4]
je 0xc60cc0
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret