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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
push ebx
push esi
push edi
push 5
pop ecx
mov esi, 0xc736b8
mov ebx, dword [0xc7876c]
lea edi, [ebp - 0x188]
mov dword [ebp - 0x20], 0x6120d07d
rep movsd dword es:[edi], dword [esi]
mov cl, byte [str.owner_dead]
add ebx, 0x46b07e1f
xor eax, eax
mov dword [ebp - 0x1c], 0x87f87ddf
mov dword [ebp - 0x18], 0xe68a5a29
movsb byte es:[edi], byte [esi]
mov esi, str.io_error
mov dword [ebp - 0x14], 0x93f81c2
lea edi, [ebp - 0x3c]
mov dword [ebp - 0x10], 0x2448c65d
mov dword [ebp - 0xc], 0x58acffa3
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp cl, byte [ebp - 0x3c]
jne 0xc57733
test cl, cl
je 0xc57701
cmp byte [ebp + eax - 0x3c], 0
je 0xc57701
mov cl, byte [eax + 0xc78781]
inc eax
cmp cl, byte [ebp + eax - 0x3c]
je 0xc576e9
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
jmp 0xc5772f
cmp esi, 0x219e
jne 0xc57728
and ebx, 0x3358169f
mov edx, 0xc6f030
push ebx
push ebx
call fcn.00c56941
mov eax, dword [ebp - 0x24]
pop ecx
pop ecx
sub ebx, 0x79115004
inc esi
cmp esi, eax
jb 0xc57709
and dword [ebp - 0x2c], 0
and dword [ebp - 0x24], 0
mov edi, dword [ebp - 0x30]
xor esi, esi
cmp byte [str.module], 0
je 0xc57764
push str.module
call fcn.00c56a34
xor ebx, 0xf7410518
inc esi
pop ecx
cmp byte [esi + str.module], 0
jne 0xc57749
push ecx
mov edx, 0xc73ef0
mov ecx, 0xc70030
call fcn.00c56392
jmp 0xc57798
cmp edi, 0x19df
jne 0xc57784
sub ebx, 0x4df257d4
sub ebx, 0x7315031c
mov edx, 0xc6f420
push ebx
push ebx
call fcn.00c56941
pop ecx
inc edi
pop ecx
cmp edi, esi
jb 0xc57776
mov eax, dword [ebp - 0x24]
mov byte [ebp + eax - 0x170], al
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x100
jb 0xc5773e
mov edi, dword [ebp - 0x2c]
xor esi, esi
xor edx, edx
mov dword [ebp - 0x2c], 0x14
mov eax, esi
mov cl, byte [ebp + esi - 0x170]
div dword [ebp - 0x2c]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x188]
mov edx, 0xc73ef0
add eax, edi
add ecx, eax
movzx edi, cl
push ecx
mov ecx, 0xc736d0
call fcn.00c5623d
pop ecx
mov eax, 0xc73ef0
or ebx, 0xd7794312
inc eax
cmp byte [eax], 0
jne 0xc577f7
mov al, byte [ebp + edi - 0x170]
mov byte [ebp + esi - 0x170], al
inc esi
mov al, byte [ebp - 1]
mov dword [ebp - 8], ebx
mov byte [ebp + edi - 0x170], al
cmp esi, 0x100
jb 0xc577b7
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x170]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x170]
mov byte [ebp + edi - 0x170], al
mov byte [ebp + ebx - 0x170], cl
movzx eax, byte [ebp + edi - 0x170]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x170]
xor al, byte [ebp + esi - 0x20]
mov byte [ebp + esi - 0x18c], al
inc esi
cmp esi, 0x18
jb 0xc5782d
mov ebx, dword [ebp - 8]
mov edx, 0xc6f550
push ebx
push ebx
mov byte [ebp - 0x174], 0
call fcn.00c56941
pop ecx
pop ecx
push 6
pop ecx
mov esi, 0xc704d0
lea edi, [ebp - 0x60]
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [ebp - 0x28], eax
movsw word es:[edi], word [esi]
cmp byte [ebp - 0x60], 0x53
jne 0xc578e0
mov cl, 0x53
test cl, cl
je 0xc578e0
cmp byte [ebp + eax - 0x60], 0
je 0xc578e0
push ecx
mov edx, str.module
mov ecx, 0xc736f0
call fcn.00c5623d
mov eax, dword [ebp - 0x28]
inc eax
pop ecx
mov dword [ebp - 0x28], eax
mov cl, byte [eax + 0xc73ef0]
cmp cl, byte [ebp + eax - 0x60]
je 0xc578b1
call fcn.00c56a87
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 0x28]
jmp 0xc57929
push str.owner_dead
call fcn.00c56a34
pop ecx
cmp edi, 0x1e97
jne 0xc57911
push 0xc73ef0
xor ebx, 0xc83f818
call fcn.00c56a34
pop ecx
push ecx
mov edx, str.owner_dead
mov ecx, str.not_a_stream
and ebx, 0x29ea5933
call fcn.00c56392
pop ecx
inc edi
cmp edi, esi
jb 0xc578ed
mov esi, 0xc700dc
mov dword [ebp - 0x70], 0x8fbe8eed
lea edi, [ebp - 0x3c]
mov dword [ebp - 0x6c], 0xffa16136
push 0x19
pop eax
movsd dword es:[edi], dword [esi]
or ebx, 0xc7582a79
mov byte [ebp - 0x5a], al
mov dword [ebp - 0x68], 0xf7ce7c2c
mov dword [ebp - 0x64], 0xdf6704f4
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x60], 0x564d15ff
mov word [ebp - 0x5c], 0x1c26
mov dword [ebp - 0x59], 0x48abe4da
movsw word es:[edi], word [esi]
mov dword [ebp - 0x55], 0x2f1abc3f
mov dword [ebp - 0x51], 0xafc799c2
mov dword [ebp - 0x4d], 0x3cab7f36
movsb byte es:[edi], byte [esi]
xor edi, edi
mov dword [ebp - 0x49], 0xa0a0bbd5
mov byte [ebp - 0x45], 0xae
xor eax, eax
mov dword [ebp - 8], ebx
mov byte [ebp + eax - 0x170], al
inc eax
cmp eax, 0x100
jb 0xc5799d
push 0xa
xor esi, esi
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x170]
mov eax, esi
div ecx
movzx ecx, bl
push 0xa
movzx eax, byte [ebp + edx - 0x3c]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x170]
mov byte [ebp + esi - 0x170], al
inc esi
mov byte [ebp + edi - 0x170], bl
cmp esi, 0x100
jb 0xc579b1
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
push 0xc73ef0
mov al, byte [ebp + edi - 0x170]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x2c], eax
add eax, ebx
movzx ebx, al
call fcn.00c56a34
pop ecx
mov ecx, dword [ebp - 8]
mov eax, 0xc73c30
add ecx, 0x3b4e83b6
inc eax
cmp byte [eax], 0
jne 0xc57a22
mov al, byte [ebp + ebx - 0x170]
mov byte [ebp + edi - 0x170], al
mov al, byte [ebp - 1]
mov byte [ebp + ebx - 0x170], al
movzx eax, byte [ebp + edi - 0x170]
add eax, dword [ebp - 0x2c]
movzx eax, al
mov dword [ebp - 8], ecx
mov al, byte [ebp + eax - 0x170]
xor al, byte [ebp + esi - 0x70]
mov byte [ebp + esi - 0x210], al
inc esi
cmp esi, 0x2c
jb 0xc579f4
mov esi, str.not_supported
mov byte [ebp - 0x1e4], 0
lea edi, [ebp - 0x40]
mov dword [ebp - 0x20], 0xe4e5d175
or ecx, 0xd0f41e49
mov dword [ebp - 0x1c], 0x1333a45a
mov dword [ebp - 0x18], 0xcd0020f4
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x14], 0x885f3466
mov dword [ebp - 0x10], 0x9257c357
mov dword [ebp - 0xc], 0xadad0295
movsd dword es:[edi], dword [esi]
mov dword [ebp - 8], ecx
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x170], al
inc eax
cmp eax, 0x100
jb 0xc57aba
xor esi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x170]
push 0xd
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x40]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x170]
mov byte [ebp + esi - 0x170], al
inc esi
mov byte [ebp + edi - 0x170], bl
cmp esi, 0x100
jb 0xc57acb
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x170]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x170]
mov byte [ebp + edi - 0x170], al
mov byte [ebp + ebx - 0x170], cl
movzx eax, byte [ebp + edi - 0x170]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x170]
xor al, byte [ebp + esi - 0x20]
mov byte [ebp + esi - 0x1a8], al
inc esi
cmp esi, 0x18
jb 0xc57b0e
add dword [ebp - 8], 0x78db9104
lea edi, [ebp - 0x40]
mov esi, 0xc7373c
mov byte [ebp - 0x190], 0
mov dword [ebp - 0x20], 0x46042f21
mov dword [ebp - 0x1c], 0xc29a2323
mov dword [ebp - 0x18], 0xe2caa592
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x14], 0x25676dc4
mov dword [ebp - 0x10], 0x32b9b2f0
mov dword [ebp - 0xc], 0xafc3b341
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 - 0x170], al
inc eax
cmp eax, 0x100
jb 0xc57ba6
xor esi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x170]
push 0xc
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x40]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x170]
mov byte [ebp + esi - 0x170], al
inc esi
mov byte [ebp + edi - 0x170], bl
cmp esi, 0x100
jb 0xc57bb7
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x170]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x170]
mov byte [ebp + edi - 0x170], al
mov byte [ebp + ebx - 0x170], cl
movzx eax, byte [ebp + edi - 0x170]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x170]
xor al, byte [ebp + esi - 0x20]
mov byte [ebp + esi - 0x1c4], al
inc esi
cmp esi, 0x18
jb 0xc57bfa
mov esi, 0xc6f51c
mov byte [ebp - 0x1ac], 0
lea edi, [ebp - 0x3c]
mov word [ebp - 0x20], 0xce16
push 0xa
pop ecx
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x1e], 0xdb
mov byte [ebp - 0x1d], cl
mov dword [ebp - 0x1c], 0x4a1ad5f4
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], 0x550e8f3d
mov dword [ebp - 0x14], 0xdb4ab322
mov dword [ebp - 0x10], 0xe8439013
movsw word es:[edi], word [esi]
mov dword [ebp - 0xc], 0x703d4d1
movsb byte es:[edi], byte [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x170], al
inc eax
cmp eax, 0x100
jb 0xc57c95
xor esi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x170]
mov eax, esi
div ecx
movzx ecx, bl
push 0xa
movzx eax, byte [ebp + edx - 0x3c]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x170]
mov byte [ebp + esi - 0x170], al
inc esi
mov byte [ebp + edi - 0x170], bl
cmp esi, 0x100
jb 0xc57ca6
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x170]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x170]
mov byte [ebp + edi - 0x170], al
mov byte [ebp + ebx - 0x170], cl
movzx eax, byte [ebp + edi - 0x170]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x170]
xor al, byte [ebp + esi - 0x20]
mov byte [ebp + esi - 0x1e0], al
inc esi
cmp esi, 0x18
jb 0xc57ce9
mov byte [ebp - 0x1c8], 0
mov dword [ebp - 0x20], 0xbbc09452
mov dword [ebp - 0x1c], 0x56127743
mov dword [ebp - 0x18], 0x7b332a16
mov dword [ebp - 0x14], 0x7dde2ba1
mov dword [ebp - 0x10], 0xe585d2f
mov dword [ebp - 0xc], 0x64d06c8
call fcn.00c56a87
mov ebx, dword [ebp - 8]
xor esi, esi
xor ebx, 0xed0929c1
inc esi
cmp byte [esi + 0xc73c30], 0
jne 0xc57d74
push ebx
push ebx
mov edx, 0xc73750
mov dword [ebp - 8], ebx
call fcn.00c56941
mov edi, dword [ebp - 0x30]
pop ecx
pop ecx
cmp edi, esi
jae 0xc57df0
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov ecx, ebx
call fcn.00c56618
mov ebx, dword [ebp - 0x24]
cmp edi, 0x159e
jne 0xc57dc9
imul ebx, dword [ebp - 0x28], 0xd208faeb
mov edx, 0xc70440
push ebx
push ebx
call fcn.00c56941
pop ecx
pop ecx
push ecx
or ebx, 0x137f110f
mov edx, str.module
mov ecx, 0xc6fe80
mov dword [ebp - 0x28], ebx
call fcn.00c5623d
inc edi
mov eax, ebx
mov dword [ebp - 0x24], eax
pop ecx
cmp edi, esi
jb 0xc57da2
mov dword [ebp - 8], ebx
push 6
pop ecx
mov esi, 0xc73770
lea edi, [ebp - 0x60]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x170], al
inc eax
cmp eax, 0x100
jb 0xc57e03
xor esi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x170]
push 0x19
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x60]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x170]
mov byte [ebp + esi - 0x170], al
inc esi
mov byte [ebp + edi - 0x170], bl
cmp esi, 0x100
jb 0xc57e14
and dword [ebp - 0x24], 0
mov edx, str.module
and dword [ebp - 0x28], 0
push ecx
mov ecx, 0xc73790
call fcn.00c5623d
mov ebx, dword [ebp - 8]
xor esi, esi
pop ecx
mov ecx, ebx
call fcn.00c56618
and ebx, 0x8aef7298
inc esi
cmp byte [esi + 0xc73ef0], 0
jne 0xc57e6f
cmp esi, 0xda2
jbe 0xc57e96
imul ebx, ebx, 0x37d083c5
jmp 0xc57e9c
xor ebx, 0xf7abb537
and dword [ebp - 0x2c], 0
lea edi, [ebp - 0x3c]
mov ecx, dword [ebp - 0x28]
mov esi, 0xc71fb0
mov dword [ebp - 8], ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ecx + 1]
mov ecx, ebx
movzx eax, al
mov dword [ebp - 0x28], eax
call fcn.00c56618
mov edi, dword [ebp - 8]
xor esi, esi
push ecx
mov edx, str.owner_dead
mov ecx, str.totalHits
call fcn.00c56392
inc esi
lea ebx, [edi - 0x4ef49da4]
pop ecx
mov edi, ebx
cmp byte [esi + 0xc73c30], 0
jne 0xc57ec6
mov edi, dword [ebp - 0x44]
cmp edi, esi
jae 0xc57f29
mov eax, ebx
mov ecx, ebx
mov ebx, ecx
cmp edi, 0x26fc
jne 0xc57f06
mov ebx, eax
and ebx, 0xb93d2479
xor ebx, 0x21c15913
mov edx, str.no_such_device
push ebx
push ebx
mov dword [ebp - 0x44], ebx
call fcn.00c56941
pop ecx
inc edi
mov eax, ebx
pop ecx
mov ecx, eax
cmp edi, esi
jb 0xc57ef4
mov dword [ebp - 0x44], edi
mov eax, dword [ebp - 0x28]
push 0xc73c30
mov al, byte [ebp + eax - 0x170]
movzx ecx, al
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x24]
add eax, ecx
mov dword [ebp - 0x30], ecx
movzx eax, al
mov dword [ebp - 0x24], eax
call fcn.00c56a34
xor esi, esi
cmp byte [ebp - 0x3c], 0x53
pop ecx
jne 0xc57f85
mov al, 0x53
test al, al
je 0xc57f85
cmp byte [ebp + esi - 0x3c], 0
je 0xc57f85
push ecx
mov edx, 0xc73ef0
mov ecx, str._ProtocolName
call fcn.00c56392
mov al, byte [esi + 0xc73ef1]
inc esi
pop ecx
cmp al, byte [ebp + esi - 0x3c]
je 0xc57f5c
movzx eax, byte [ebp + esi - 0x3c]
movzx ecx, byte [esi + 0xc73ef0]
sub ecx, eax
cmp ecx, 0x2055
jae 0xc57fba
xor ebx, 0xda38a8b9
mov edx, str.std::exception:__hs
push ebx
push ebx
mov dword [0xc7876c], ebx
mov dword [ebp - 8], ebx
call fcn.00c56941
pop ecx
pop ecx
jmp 0xc57fc9
add ebx, 0xe23a91d
mov dword [0xc7876c], ebx
mov dword [ebp - 8], ebx
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov al, byte [ebp + edx - 0x170]
mov byte [ebp + ecx - 0x170], al
mov al, byte [ebp - 1]
mov byte [ebp + edx - 0x170], al
movzx eax, byte [ebp + ecx - 0x170]
add eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
movzx eax, al
mov al, byte [ebp + eax - 0x170]
xor al, byte [ebp + edx - 0x20]
mov byte [ebp + edx - 0x60], al
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 0x18
jb 0xc57eb1
xor ebx, ebx
lea ecx, [ebp - 0x18c]
mov byte [ebp - 0x48], bl
mov dword [ebp - 8], ebx
call fcn.00c4d05e
push ebx
push ebx
push ebx
mov esi, eax
lea edx, [ebp - 0x210]
push ebx
lea eax, [ebp - 8]
xor ecx, ecx
push eax
push ebx
push ebx
push esi
inc ecx
call fcn.00c4ba1b
call eax
mov ecx, esi
call fcn.00c4d317
push eax
push ebx
push esi
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4ba07
mov esi, 0x800
mov ecx, esi
call fcn.00c4b9d3
mov ecx, esi
mov dword [ebp - 0x24], eax
call fcn.00c4b9d3
mov edi, 0x208
mov dword [ebp - 0x30], eax
mov ecx, edi
call fcn.00c4b9d3
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2c], esi
call fcn.00c4b9d3
mov ecx, edi
mov ebx, eax
call fcn.00c4b9d3
mov ecx, esi
mov edi, eax
call fcn.00c46e97
mov ecx, ebx
call fcn.00c46b56
mov ecx, edi
call fcn.00c4667e
lea ecx, [ebp - 0x1a8]
call fcn.00c4d05e
push edi
push ebx
push dword [ebp - 0x2c]
mov esi, eax
lea edx, [ebp - 0x1c4]
push esi
push dword [ebp - 0x24]
push 2
pop ecx
call fcn.00c4ba1b
call eax
mov ecx, esi
call fcn.00c4d317
push eax
push 0
push esi
call fcn.00c4cf49
mov ecx, esi
call fcn.00c4ba07
mov ecx, dword [ebp - 0x24]
call fcn.00c4d317
mov esi, dword [ebp - 0x30]
mov edx, ecx
push eax
mov ecx, esi
call fcn.00c4d11c
add esp, 0x24
mov ecx, esi
push dword [ebp - 8]
call fcn.00c4d309
mov edx, eax
call fcn.00c57630
pop ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
call fcn.00c4ba07
mov ecx, esi
call fcn.00c4ba07
mov ecx, dword [ebp - 0x2c]
call fcn.00c4ba07
mov ecx, ebx
call fcn.00c4ba07
mov ecx, edi
call fcn.00c4ba07
lea ecx, [ebp - 0x30]
call fcn.00c57624
lea ecx, [ebp - 8]
mov dword [ebp - 0x40], eax
call fcn.00c57624
call fcn.00c57624
mov ebx, dword [0xc7876c]
xor esi, esi
mov word [ebp - 0x3a], ax
cmp byte [str.module], 0
je 0xc58192
mov edi, str.module
push ecx
mov edx, 0xc73ef0
mov ecx, 0xc73880
call fcn.00c56392
imul ebx, ebx, 0x2a5efee1
inc edi
pop ecx
cmp byte [edi], 0
jne 0xc5816f
mov dword [0xc7876c], ebx
lea ecx, [ebp - 8]
call fcn.00c57624
mov byte [ebp + esi - 0x38], al
inc esi
cmp esi, 8
jl 0xc58161
mov ecx, 0x208
call fcn.00c4b9d3
mov edi, eax
test edi, edi
je 0xc581f7
lea ecx, [ebp - 0x1e0]
call fcn.00c4d05e
push dword [ebp - 0x34]
movzx edx, word [ebp - 0x3a]
mov esi, eax
push edx
push dword [ebp - 0x40]
lea edx, [ebp - 0x60]
push esi
push edi
push 2
pop ecx
call fcn.00c4ba1b
call eax
mov ecx, esi
call fcn.00c4d317
push eax
push 0
push esi
call fcn.00c4cf49
add esp, 0x20
mov ecx, esi
call fcn.00c4ba07
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret