Function at 0x100ed200
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov eax, dword [0x103b9004]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0x14]
mov eax, ecx
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x50], edx
mov edx, dword [eax + 8]
mov dword [ebp - 0x44], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x4c], edx
sar dword [ebp - 0x4c], 3
and dword [ebp - 0x4c], 0x1f
push esi
mov esi, dword [ebp + 0xc]
sar ecx, 3
and ecx, 0x1f
mov dword [ebp - 0x5c], edx
cmp dword [eax + 0x34], 0
mov edx, dword [ebp - 0x50]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x48], ecx
je 0x100edaf6
cmp dword [eax], 0xf
ja case.0x100edec2.16
mov ecx, dword [eax]
jmp dword [ecx*4 + 0x100ee5ac]
push edx
push dword [eax + 0x24]
mov edx, esi
mov ecx, edi
push dword [ebp + 0x10]
call fcn.100eb1b0
add esp, 0xc
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov edx, dword [eax + 0x24]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x50], eax
test eax, eax
jle case.0x100edec2.16
nop word [eax + eax]
mov al, byte [edi + 3]
mov byte [ebp - 0x56], al
test al, al
jne 0x100ed2ed
cmp ecx, 4
jne 0x100ed2ca
movzx eax, byte [esi + 3]
or al, byte [esi]
mov byte [edi + 3], al
jmp 0x100ed2d1
mov ecx, dword [ebp - 0x48]
mov byte [edi + 3], 0xff
mov al, byte [esi + 2]
mov edx, edi
mov byte [edx], al
movzx eax, byte [esi + 1]
mov edx, dword [ebp - 0x3c]
mov byte [edi + 1], al
movzx eax, byte [esi]
mov byte [edi + 2], al
jmp 0x100ed39f
mov byte [edi + 3], 0xff
cmp edx, 0x15
jl 0x100ed322
movzx eax, byte [edi + 2]
mov edx, esi
mov ecx, dword [ebp - 0x3c]
mov byte [ebp - 0x64], al
movzx eax, byte [edi + 1]
mov byte [ebp - 0x63], al
movzx eax, byte [edi]
mov byte [ebp - 0x62], al
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.100e5bd0
mov edx, dword [ebp - 0x3c]
add esp, 8
movzx ecx, byte [ebp - 0x56]
xor eax, eax
mov dword [ebp - 0x38], ecx
mov ecx, 0xff
sub ecx, dword [ebp - 0x38]
mov dword [ebp - 0x4c], ecx
lea ecx, [edi + 2]
mov dword [ebp - 0x44], eax
mov edi, ecx
mov dword [ebp - 0x40], ecx
movzx ecx, byte [esi]
mov dword [ebp - 0x40], ecx
cmp edx, 0x15
jl 0x100ed352
mov eax, dword [ebp + eax*4 - 0x10]
jmp 0x100ed361
movzx edx, byte [edi]
push ecx
mov ecx, dword [ebp - 0x3c]
call fcn.100e57c0
add esp, 4
mov ecx, dword [ebp - 0x38]
inc esi
imul ecx, eax
mov eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0x40]
add ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x3c]
mov byte [edi], al
dec edi
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp eax, 3
jl 0x100ed341
mov ecx, dword [ebp - 0x48]
add esi, 0xfffffffd
mov edi, dword [ebp - 0x54]
add edi, 4
add esi, ecx
sub dword [ebp - 0x50], 1
mov dword [ebp - 0x54], edi
jne 0x100ed2b0
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
test ecx, ecx
jle case.0x100edec2.16
mov cl, byte [esi + 3]
test edx, edx
je 0x100ed3f9
movzx eax, byte [edx]
movzx ecx, cl
imul ecx, eax
mov eax, 0x80808081
mul ecx
mov eax, dword [ebp - 0x44]
mov ecx, edx
shr ecx, 7
inc dword [ebp - 0x50]
mov dword [ebp - 0x38], ecx
test cl, cl
jne 0x100ed408
add esi, 4
jmp 0x100ed4c0
lea ecx, [edi + 2]
mov dword [ebp - 0x3c], ecx
cmp eax, 0x15
jl 0x100ed440
movzx eax, byte [ecx]
mov edx, esi
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 0x68], al
movzx eax, byte [edi + 1]
mov byte [ebp - 0x67], al
movzx eax, byte [edi]
mov byte [ebp - 0x66], al
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.100e5bd0
mov ecx, dword [ebp - 0x3c]
add esp, 8
jmp 0x100ed443
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x38]
xor eax, eax
movzx edi, dl
mov edx, 0xff
sub edx, edi
mov dword [ebp - 0x5c], edi
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], edx
nop
movzx ecx, byte [ecx]
mov dword [ebp - 0x60], ecx
cmp edi, 0x15
jl 0x100ed471
mov eax, dword [ebp + eax*4 - 0x1c]
jmp 0x100ed484
movzx eax, byte [esi]
mov edx, ecx
push eax
mov ecx, edi
call fcn.100e57c0
mov edx, dword [ebp - 0x38]
add esp, 4
imul edx, dword [ebp - 0x60]
inc esi
mov ecx, dword [ebp - 0x5c]
imul ecx, eax
mov eax, 0x80808081
add ecx, edx
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x3c]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x38]
mov byte [ecx], al
dec ecx
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x48], eax
cmp eax, 3
jl 0x100ed460
mov edi, dword [ebp - 0x54]
inc esi
add edi, dword [ebp - 0x4c]
sub dword [ebp - 0x40], 1
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x54], edi
jne 0x100ed3d7
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov edx, dword [ebp + 0x10]
mov eax, dword [eax + 0x24]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x50], edx
test edx, edx
jle case.0x100edec2.16
add ecx, 0xfffffffd
mov dword [ebp - 0x48], ecx
lea ecx, [edi + 2]
mov dword [ebp - 0x38], ecx
nop dword [eax + eax]
cmp eax, 0x15
jl 0x100ed544
movzx eax, byte [ecx]
mov edx, esi
mov byte [ebp - 0x60], al
movzx eax, byte [ecx - 1]
mov byte [ebp - 0x5f], al
movzx eax, byte [ecx - 2]
mov ecx, dword [ebp - 0x3c]
mov byte [ebp - 0x5e], al
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.100e5bd0
mov eax, dword [ebp - 0x3c]
add esp, 8
mov ecx, dword [ebp - 0x38]
xor edi, edi
mov dword [ebp - 0x44], ecx
nop dword [eax]
cmp eax, 0x15
jl 0x100ed55b
mov eax, dword [ebp + edi*4 - 0x28]
jmp 0x100ed570
movzx eax, byte [esi]
movzx edx, byte [ecx]
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.100e57c0
mov ecx, dword [ebp - 0x44]
add esp, 4
mov byte [ecx], al
inc edi
mov eax, dword [ebp - 0x3c]
dec ecx
inc esi
mov dword [ebp - 0x44], ecx
cmp edi, 3
jl 0x100ed550
mov ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x4c]
add esi, dword [ebp - 0x48]
sub dword [ebp - 0x50], 1
mov dword [ebp - 0x38], ecx
jne 0x100ed510
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x48]
test edx, edx
jle case.0x100edec2.16
inc edi
cmp ecx, 4
jne 0x100ed5fa
add esi, 2
nop
movzx eax, byte [esi + 1]
lea edi, [edi + 4]
or al, byte [esi - 2]
mov byte [edi - 2], al
movzx eax, byte [esi]
mov byte [edi - 5], al
movzx eax, byte [esi - 1]
mov byte [edi - 4], al
movzx eax, byte [esi - 2]
add esi, ecx
mov byte [edi - 3], al
sub edx, 1
jne 0x100ed5c0
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
inc esi
nop dword [eax + eax]
mov byte [edi + 2], 0xff
lea edi, [edi + 4]
movzx eax, byte [esi + 1]
mov byte [edi - 5], al
movzx eax, byte [esi]
mov byte [edi - 4], al
movzx eax, byte [esi - 1]
add esi, ecx
mov byte [edi - 3], al
sub edx, 1
jne 0x100ed600
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x38], ecx
test ecx, ecx
jle case.0x100edec2.16
lea eax, [esi + 3]
mov dword [ebp - 0x44], eax
mov al, byte [eax]
test edx, edx
je 0x100ed669
movzx ecx, byte [edx]
movzx eax, al
imul ecx, eax
mov eax, 0x80808081
mul ecx
mov ecx, dword [ebp - 0x38]
shr edx, 7
inc dword [ebp - 0x50]
jmp 0x100ed66b
mov dl, al
cmp dl, 0xff
jne 0x100ed689
movzx eax, byte [esi]
mov byte [edi + 2], al
movzx eax, byte [esi + 1]
mov byte [edi + 1], al
movzx eax, byte [esi + 2]
add esi, 4
jmp 0x100ed724
test dl, dl
jne 0x100ed695
add esi, 4
jmp 0x100ed726
mov eax, dword [ebp - 0x54]
movzx ecx, byte [esi]
movzx edi, dl
mov edx, 0xff
sub edx, edi
imul ecx, edi
movzx eax, byte [eax + 2]
imul eax, edx
mov dword [ebp - 0x3c], edx
add ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x54]
mov byte [edx + 2], al
movzx eax, byte [edx + 1]
imul eax, dword [ebp - 0x3c]
movzx ecx, byte [esi + 1]
imul ecx, edi
add ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x54]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [ecx + 1], al
movzx ecx, byte [esi + 2]
imul ecx, edi
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x44]
movzx eax, byte [edi]
imul eax, dword [ebp - 0x3c]
add ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x38]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
inc esi
mov byte [edi], al
add edi, dword [ebp - 0x4c]
sub ecx, 1
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x38], ecx
jne 0x100ed642
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x48]
test edx, edx
jle case.0x100edec2.16
add esi, 2
inc edi
nop
movzx eax, byte [esi - 2]
mov byte [edi + 1], al
movzx eax, byte [esi - 1]
mov byte [edi], al
movzx eax, byte [esi]
add esi, ecx
mov byte [edi - 1], al
add edi, dword [ebp - 0x4c]
sub edx, 1
jne 0x100ed760
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov ecx, dword [ebp - 0x48]
push edx
push ecx
push dword [eax + 0x24]
mov edx, esi
mov ecx, edi
push dword [ebp + 0x10]
call fcn.100eb3b0
jmp 0x100ee596
mov edi, dword [ebp + 0x10]
test edi, edi
mov eax, dword [eax + 0x24]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x44], eax
jle case.0x100edec2.16
mov al, byte [edx]
inc edx
mov byte [ebp - 0x56], al
test al, al
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x50], edx
je 0x100ed893
lea ecx, [edi + 2]
mov dword [ebp - 0x3c], ecx
cmp eax, 0x15
jl 0x100ed80e
movzx eax, byte [ecx]
mov edx, esi
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 0x5c], al
movzx eax, byte [edi + 1]
mov byte [ebp - 0x5b], al
movzx eax, byte [edi]
mov byte [ebp - 0x5a], al
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.100e5bd0
mov ecx, dword [ebp - 0x3c]
add esp, 8
jmp 0x100ed811
mov dword [ebp - 0x3c], ecx
movzx edi, byte [ebp - 0x56]
xor eax, eax
mov edx, 0xff
mov dword [ebp - 0x68], edi
sub edx, edi
mov dword [ebp - 0x38], eax
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x64], edx
nop word [eax + eax]
movzx edx, byte [ecx]
mov dword [ebp - 0x60], edx
cmp edi, 0x15
jl 0x100ed841
mov eax, dword [ebp + eax*4 - 0x34]
jmp 0x100ed852
movzx eax, byte [esi]
mov ecx, edi
push eax
call fcn.100e57c0
mov edx, dword [ebp - 0x60]
add esp, 4
imul edx, dword [ebp - 0x64]
inc esi
mov ecx, dword [ebp - 0x68]
imul ecx, eax
mov eax, 0x80808081
add ecx, edx
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x3c]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [ecx], al
dec ecx
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], eax
cmp eax, 3
jl 0x100ed830
mov ecx, dword [ebp - 0x48]
add esi, 0xfffffffd
mov edi, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
add edi, dword [ebp - 0x4c]
add esi, ecx
sub dword [ebp - 0x40], 1
mov dword [ebp - 0x54], edi
jne 0x100ed7c2
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp + 0x10], eax
jle case.0x100edec2.16
mov cl, byte [edx + eax]
mov byte [ebp - 0x55], cl
movzx ecx, cl
mov dword [ebp - 0x38], ecx
cmp ecx, 0xff
mov ecx, dword [ebp - 0x48]
jne 0x100ed8f8
movzx eax, byte [esi]
mov byte [edi + 2], al
movzx eax, byte [esi + 1]
mov byte [edi + 1], al
movzx eax, byte [esi + 2]
add esi, ecx
mov byte [edi + 3], 0xff
jmp 0x100ed9cc
cmp dword [ebp - 0x38], 0
lea edx, [esi + ecx]
mov dword [ebp - 0x44], edx
mov edx, dword [ebp - 0x50]
jne 0x100ed90f
mov esi, dword [ebp - 0x44]
jmp 0x100ed9d1
mov al, byte [edi + 3]
movzx ecx, al
imul ecx, dword [ebp - 0x38]
mov byte [ebp - 0x56], al
mov eax, 0x80808081
mul ecx
imul eax, dword [ebp - 0x38], 0xff
mov cl, byte [ebp - 0x56]
shr edx, 7
sub cl, dl
xor edx, edx
add cl, byte [ebp - 0x55]
mov byte [edi + 3], cl
movzx ecx, cl
div ecx
movzx edi, byte [edi + 2]
mov ecx, 0xff
sub ecx, eax
mov dword [ebp - 0x40], eax
imul edi, ecx
mov dword [ebp - 0x38], ecx
movzx ecx, byte [esi]
imul ecx, eax
mov eax, 0x80808081
add edi, ecx
imul edi
add edx, edi
mov edi, dword [ebp - 0x54]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x54]
mov byte [edx + 2], al
movzx eax, byte [edx + 1]
imul eax, dword [ebp - 0x38]
movzx ecx, byte [esi + 1]
imul ecx, dword [ebp - 0x40]
add ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x54]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [ecx + 1], al
movzx ecx, byte [esi + 2]
movzx eax, byte [edi]
imul eax, dword [ebp - 0x38]
imul ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x44]
add ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x50]
mov byte [edi], al
mov eax, dword [ebp - 0x3c]
inc eax
add edi, 4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x54], edi
cmp eax, dword [ebp + 0x10]
jl 0x100ed8c5
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp + 0x10], eax
jle case.0x100edec2.16
mov cl, byte [edx + eax]
movzx edi, cl
cmp cl, 0xff
mov byte [ebp - 0x55], cl
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x54]
jne 0x100eda31
movzx eax, byte [esi]
mov byte [edi + 2], al
movzx eax, byte [esi + 1]
mov byte [edi + 1], al
movzx eax, byte [esi + 2]
jmp 0x100edaca
cmp byte [ebp - 0x55], 0
je 0x100edacf
mov eax, dword [ebp - 0x54]
mov edi, 0xff
sub edi, dword [ebp - 0x38]
movzx ecx, byte [eax + 2]
movzx eax, byte [esi]
imul eax, dword [ebp - 0x38]
imul ecx, edi
add ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x54]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [ecx + 2], al
movzx ecx, byte [ecx + 1]
movzx eax, byte [esi + 1]
add esi, 2
imul eax, dword [ebp - 0x38]
imul ecx, edi
add ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x54]
mov byte [edx + 1], al
movzx eax, byte [edx]
movzx ecx, byte [esi]
imul ecx, dword [ebp - 0x38]
imul eax, edi
mov edi, dword [ebp - 0x54]
add ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x48]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x50]
add ecx, 0xfffffffe
mov byte [edi], al
mov eax, dword [ebp - 0x3c]
add edi, dword [ebp - 0x4c]
inc eax
add esi, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x54], edi
cmp eax, dword [ebp + 0x10]
jl 0x100eda04
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
cmp dword [eax + 8], 0x108
jne 0x100edc4b
mov eax, dword [eax + 4]
test eax, 0x200
je 0x100edc2b
cmp eax, 0x220
jne 0x100edba9
lea eax, [esi + 3]
xor esi, esi
mov dword [ebp - 0x3c], eax
cmp dword [ebp + 0x10], esi
jle case.0x100edec2.16
nop dword [eax]
movzx eax, byte [eax]
mov dword [ebp - 0x38], eax
test edx, edx
je 0x100edb50
movzx ecx, byte [edx + esi]
imul ecx, eax
mov eax, 0x80808081
mul ecx
mov eax, edx
shr eax, 7
mov dword [ebp - 0x38], eax
mov cl, byte [edi]
mov byte [ebp - 0x55], cl
test cl, cl
jne 0x100edb5d
mov byte [edi], al
jmp 0x100edb84
test eax, eax
je 0x100edb84
movzx ecx, cl
imul ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x38]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub cl, al
add cl, byte [ebp - 0x55]
mov byte [edi], cl
mov eax, dword [ebp - 0x3c]
inc esi
mov edx, dword [ebp - 0x50]
add eax, 4
inc edi
mov dword [ebp - 0x3c], eax
cmp esi, dword [ebp + 0x10]
jl 0x100edb30
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
xor esi, esi
cmp dword [ebp + 0x10], esi
jle case.0x100edec2.16
mov ecx, dword [ebp - 0x3c]
movzx eax, byte [ecx]
inc ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], ecx
test edx, edx
je 0x100edbdb
movzx ecx, byte [edx + esi]
imul ecx, eax
mov eax, 0x80808081
mul ecx
mov eax, edx
shr eax, 7
mov dword [ebp - 0x38], eax
mov cl, byte [edi]
mov byte [ebp - 0x55], cl
test cl, cl
jne 0x100edbe8
mov byte [edi], al
jmp 0x100edc0f
test eax, eax
je 0x100edc0f
movzx ecx, cl
imul ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x38]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub cl, al
add cl, byte [ebp - 0x55]
mov byte [edi], cl
mov edx, dword [ebp - 0x50]
inc esi
inc edi
cmp esi, dword [ebp + 0x10]
jl 0x100edbb4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
push edx
push dword [ebp + 0x10]
mov ecx, edi
call fcn.100e5dd0
add esp, 8
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
cmp byte [eax + 8], 8
jne 0x100ede2e
test dword [ebp - 0x5c], 0x400
mov eax, dword [ebp + 0x10]
movups xmm1, xmmword [0x103a6c60]
je 0x100edcfb
mov dword [ebp - 0x4c], 0
test eax, eax
jle 0x100edcfb
cmp eax, 0x40
jb 0x100edcdf
mov dword [ebp - 0x4c], 0
and eax, 0x8000003f
jns 0x100edc93
dec eax
or eax, 0xffffffc0
inc eax
mov ecx, dword [ebp + 0x10]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x38], ecx
nop
movups xmm0, xmmword [edi]
add eax, 0x40
pandn xmm0, xmm1
movups xmmword [edi], xmm0
movups xmm0, xmmword [edi + 0x10]
pandn xmm0, xmm1
movups xmmword [edi + 0x10], xmm0
movups xmm0, xmmword [edi + 0x20]
pandn xmm0, xmm1
movups xmmword [edi + 0x20], xmm0
movups xmm0, xmmword [edi + 0x30]
pandn xmm0, xmm1
movups xmmword [edi + 0x30], xmm0
add edi, 0x40
cmp eax, dword [ebp - 0x38]
jl 0x100edca0
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x10]
cmp dword [ebp - 0x4c], eax
jge 0x100edcfb
mov edx, eax
sub edx, dword [ebp - 0x4c]
nop dword [eax]
not byte [edi]
inc edi
sub edx, 1
jne 0x100edcf0
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 8]
and ecx, 0x200
test dword [eax + 4], 0x200
mov dword [ebp - 0x4c], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x38], ecx
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x48]
je 0x100edd5c
cmp dword [ebp - 0x4c], 0
mov ecx, edi
je 0x100edd46
push dword [eax + 0x28]
push dword [ebp - 0x44]
push dword [ebp - 0x3c]
push edx
push dword [ebp - 0x50]
mov edx, esi
push dword [ebp + 0x10]
call fcn.100e5f10
add esp, 0x18
jmp 0x100edd92
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push edx
push dword [ebp - 0x50]
mov edx, esi
push dword [ebp + 0x10]
call fcn.100e6640
jmp 0x100edd8f
cmp dword [ebp - 0x4c], 0
push dword [ebp - 0x38]
je 0x100edd7e
push dword [ebp - 0x44]
push edx
push dword [ebp - 0x50]
mov edx, esi
push dword [ebp + 0x10]
push ecx
mov ecx, edi
call fcn.100e6ca0
add esp, 0x18
jmp 0x100edd92
push edx
push dword [ebp - 0x50]
mov edx, esi
push dword [ebp + 0x10]
push ecx
mov ecx, edi
call fcn.100e6ab0
add esp, 0x14
mov eax, dword [ebp - 0x40]
test dword [eax + 8], 0x400
je case.0x100edec2.16
mov ecx, dword [ebp + 0x10]
xor edx, edx
test ecx, ecx
jle case.0x100edec2.16
cmp ecx, 0x40
jb 0x100ede08
mov eax, ecx
and eax, 0x8000003f
jns 0x100eddc2
dec eax
or eax, 0xffffffc0
inc eax
movups xmm1, xmmword [0x103a6c60]
mov esi, ecx
sub esi, eax
nop dword [eax]
movups xmm0, xmmword [edi]
add edx, 0x40
pandn xmm0, xmm1
movups xmmword [edi], xmm0
movups xmm0, xmmword [edi + 0x10]
pandn xmm0, xmm1
movups xmmword [edi + 0x10], xmm0
movups xmm0, xmmword [edi + 0x20]
pandn xmm0, xmm1
movups xmmword [edi + 0x20], xmm0
movups xmm0, xmmword [edi + 0x30]
pandn xmm0, xmm1
movups xmmword [edi + 0x30], xmm0
add edi, 0x40
cmp edx, esi
jl 0x100eddd0
cmp edx, ecx
jge case.0x100edec2.16
sub ecx, edx
not byte [edi]
lea edi, [edi + 1]
sub ecx, 1
jne 0x100ede12
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov edi, dword [ebp - 0x4c]
imul edi, dword [ebp + 0x10]
mov dword [ebp - 0x6c], edi
add edi, 4
cmp edi, dword [eax + 0x30]
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x54]
jle 0x100edeb0
mov edx, dword [eax + 0x2c]
mov ecx, dword [ebp - 0x38]
test edx, edx
jne 0x100ede82
test ecx, ecx
je 0x100ede64
lea eax, [ecx - 1]
cmp eax, 0x7ffffffe
jbe 0x100ede6e
mov byte [0], dl
mov eax, dword [ebp - 0x40]
xor edx, edx
mov ecx, dword [ebp - 0x38]
jmp 0x100ede9c
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, dword [ebp - 0x38]
mov edx, eax
mov eax, dword [ebp - 0x40]
add esp, 4
jmp 0x100ede9c
test ecx, ecx
je 0x100ede9a
lea eax, [ecx - 1]
cmp eax, 0x7ffffffe
jbe 0x100edec9
mov eax, dword [ebp - 0x40]
mov byte [0], 0
xor edx, edx
mov dword [eax + 0x2c], edx
test edx, edx
je case.0x100edec2.16
mov edx, dword [ebp - 0x50]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0x48]
mov eax, dword [eax]
cmp eax, 0x4f
ja case.0x100edec2.16
movzx eax, byte [eax + 0x100ee648]
jmp dword [eax*4 + 0x100ee5ec]
push ecx
push edx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov ecx, dword [ebp - 0x38]
mov edx, eax
mov eax, dword [ebp - 0x40]
add esp, 8
jmp 0x100ede9c
push dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov ecx, edi
push dword [ebp - 0x44]
push edx
push dword [eax + 0x24]
mov edx, esi
push dword [ebp + 0x10]
call fcn.100e6fd0
add esp, 0x14
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp - 0x40]
mov ecx, edi
push dword [eax + 0x28]
push dword [eax + 0x2c]
push dword [ebp - 0x3c]
push dword [ebp - 0x44]
push edx
push dword [eax + 0x24]
mov edx, esi
push dword [ebp + 0x10]
call fcn.100e86f0
add esp, 0x1c
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
push dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov edx, esi
push ecx
mov ecx, edi
push dword [eax + 0x24]
push dword [ebp + 0x10]
call fcn.100e7750
jmp 0x100ee596
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x3c], edx
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x4c], eax
mov eax, dword [0x103bf3d8]
mov dword [ebp - 0x38], edx
mov eax, dword [eax + 0x10c]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x40], edx
cmp ecx, 3
jne 0x100edf99
push dword [ebp + 0x10]
mov eax, dword [edx]
mov ecx, edx
push esi
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
call dword [eax + 0x20]
jmp 0x100edfd0
cmp dword [ebp + 0x10], 0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x50], eax
jle 0x100edfd0
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp - 0x50]
mov dword [ebp - 0x48], eax
nop
mov eax, dword [edx]
mov ecx, edx
push 1
push esi
push edi
push dword [ebp - 0x3c]
call dword [eax + 0x20]
mov edx, dword [ebp - 0x40]
add esi, 4
add edi, 3
sub dword [ebp - 0x48], 1
jne 0x100edfb0
mov edi, dword [ebp - 0x54]
push dword [ebp - 0x44]
mov edx, dword [ebp - 0x38]
mov ecx, edi
push 3
push dword [ebp - 0x4c]
push dword [ebp + 0x10]
call fcn.100e7750
jmp 0x100ee596
push dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
push edx
push ecx
mov edx, esi
mov ecx, edi
push dword [eax + 0x24]
push dword [ebp + 0x10]
call fcn.100e7940
add esp, 0x14
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp - 0x40]
cmp ecx, 3
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x3c], edx
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x103bf3d8]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x38]
mov eax, dword [eax + 0x10c]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x4c], edx
jne 0x100ee055
push dword [ebp + 0x10]
mov eax, dword [edx]
push esi
push ecx
push dword [ebp - 0x3c]
mov ecx, edx
call dword [eax + 0x20]
jmp 0x100ee081
mov eax, dword [ebp + 0x10]
test eax, eax
jle 0x100ee081
mov dword [ebp - 0x48], eax
mov edi, ecx
mov eax, dword [edx]
mov ecx, edx
push 1
push esi
push edi
push dword [ebp - 0x3c]
call dword [eax + 0x20]
mov edx, dword [ebp - 0x4c]
add esi, 4
add edi, 3
sub dword [ebp - 0x48], 1
jne 0x100ee061
mov edi, dword [ebp - 0x54]
push dword [ebp - 0x44]
mov eax, dword [ebp - 0x50]
mov ecx, edi
mov edx, dword [ebp - 0x38]
push eax
push 3
push dword [ebp - 0x5c]
push dword [ebp + 0x10]
call fcn.100e7940
add esp, 0x14
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
push dword [ebp - 0x44]
mov edx, esi
push ecx
push dword [ebp + 0x10]
mov ecx, edi
call fcn.100e7eb0
add esp, 0xc
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x38], eax
mov eax, dword [0x103bf3d8]
mov dword [ebp - 0x3c], edx
mov eax, dword [eax + 0x10c]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x40], edx
cmp ecx, 3
jne 0x100ee10c
push dword [ebp + 0x10]
mov eax, dword [edx]
mov ecx, edx
push esi
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
call dword [eax + 0x20]
jmp 0x100ee141
cmp dword [ebp + 0x10], 0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x50], eax
jle 0x100ee141
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp - 0x50]
mov dword [ebp - 0x48], eax
mov eax, dword [edx]
mov ecx, edx
push 1
push esi
push edi
push dword [ebp - 0x3c]
call dword [eax + 0x20]
mov edx, dword [ebp - 0x40]
add esi, 4
add edi, 3
sub dword [ebp - 0x48], 1
jne 0x100ee121
mov edi, dword [ebp - 0x54]
push dword [ebp - 0x44]
mov edx, dword [ebp - 0x38]
mov ecx, edi
push 3
push dword [ebp + 0x10]
call fcn.100e7eb0
add esp, 0xc
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
push dword [ebp - 0x44]
push edx
push ecx
push dword [ebp + 0x10]
mov edx, esi
mov ecx, edi
call fcn.100e7c30
jmp 0x100ee596
mov eax, dword [ebp - 0x40]
cmp ecx, 3
mov edx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x38], eax
mov eax, dword [0x103bf3d8]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x3c], edx
mov eax, dword [eax + 0x10c]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x4c], edx
jne 0x100ee1b7
push dword [ebp + 0x10]
mov eax, dword [edx]
push esi
push ecx
push dword [ebp - 0x3c]
mov ecx, edx
call dword [eax + 0x20]
jmp 0x100ee1e3
mov eax, dword [ebp + 0x10]
test eax, eax
jle 0x100ee1e3
mov dword [ebp - 0x48], eax
mov edi, ecx
mov eax, dword [edx]
mov ecx, edx
push 1
push esi
push edi
push dword [ebp - 0x3c]
call dword [eax + 0x20]
mov edx, dword [ebp - 0x4c]
add esi, 4
add edi, 3
sub dword [ebp - 0x48], 1
jne 0x100ee1c3
mov edi, dword [ebp - 0x54]
push dword [ebp - 0x44]
mov eax, dword [ebp - 0x50]
mov ecx, edi
mov edx, dword [ebp - 0x38]
push eax
push 3
push dword [ebp + 0x10]
call fcn.100e7c30
jmp 0x100ee596
push dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov ecx, edi
push edx
push dword [ebp - 0x4c]
mov edx, esi
push dword [eax + 0x24]
push dword [ebp + 0x10]
call fcn.100e7f70
add esp, 0x14
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp - 0x40]
mov ecx, edi
push dword [eax + 0x28]
push dword [eax + 0x2c]
push dword [ebp - 0x3c]
push edx
push dword [ebp - 0x4c]
mov edx, esi
push dword [eax + 0x24]
push dword [ebp + 0x10]
call fcn.100e8a00
add esp, 0x1c
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
push dword [ebp - 0x3c]
mov ecx, edi
push edx
push dword [ebp - 0x4c]
mov edx, esi
push dword [ebp + 0x10]
call fcn.100e8190
jmp 0x100ee596
mov eax, dword [ebp - 0x40]
mov ecx, edi
push dword [eax + 0x28]
push dword [eax + 0x2c]
push dword [ebp - 0x3c]
push edx
push dword [ebp - 0x4c]
mov edx, esi
push dword [ebp + 0x10]
call fcn.100e8bb0
add esp, 0x18
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp - 0x40]
mov edx, esi
push ecx
push dword [ebp - 0x4c]
mov ecx, edi
push dword [eax + 0x24]
push dword [ebp + 0x10]
call fcn.100e83f0
jmp 0x100ee596
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x3c], edx
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x40], eax
mov eax, dword [0x103bf3d8]
mov dword [ebp - 0x38], edx
mov eax, dword [eax + 0x10c]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x50], edx
cmp ecx, 3
jne 0x100ee302
push dword [ebp + 0x10]
mov eax, dword [edx]
mov ecx, edx
push esi
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
call dword [eax + 0x20]
jmp 0x100ee337
cmp dword [ebp + 0x10], 0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x48], eax
jle 0x100ee337
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x44], eax
mov eax, dword [edx]
mov ecx, edx
push 1
push esi
push edi
push dword [ebp - 0x3c]
call dword [eax + 0x20]
mov edx, dword [ebp - 0x50]
add esi, 4
add edi, 3
sub dword [ebp - 0x44], 1
jne 0x100ee317
mov edi, dword [ebp - 0x54]
mov edx, dword [ebp - 0x38]
mov ecx, edi
push 3
push dword [ebp - 0x4c]
push dword [ebp - 0x40]
push dword [ebp + 0x10]
call fcn.100e83f0
jmp 0x100ee596
mov eax, dword [ebp - 0x40]
push edx
push ecx
push dword [ebp - 0x4c]
mov edx, esi
mov ecx, edi
push dword [eax + 0x24]
push dword [ebp + 0x10]
call fcn.100e8490
add esp, 0x14
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp - 0x40]
cmp ecx, 3
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x3c], edx
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x103bf3d8]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x38]
mov eax, dword [eax + 0x10c]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x40], edx
jne 0x100ee3bc
push dword [ebp + 0x10]
mov eax, dword [edx]
push esi
push ecx
push dword [ebp - 0x3c]
mov ecx, edx
call dword [eax + 0x20]
jmp 0x100ee3e8
mov eax, dword [ebp + 0x10]
test eax, eax
jle 0x100ee3e8
mov dword [ebp - 0x44], eax
mov edi, ecx
mov eax, dword [edx]
mov ecx, edx
push 1
push esi
push edi
push dword [ebp - 0x3c]
call dword [eax + 0x20]
mov edx, dword [ebp - 0x40]
add esi, 4
add edi, 3
sub dword [ebp - 0x44], 1
jne 0x100ee3c8
mov edi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov ecx, edi
mov edx, dword [ebp - 0x38]
push eax
push 3
push dword [ebp - 0x4c]
push dword [ebp - 0x5c]
push dword [ebp + 0x10]
call fcn.100e8490
add esp, 0x14
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
push ecx
push dword [ebp - 0x4c]
mov edx, esi
mov ecx, edi
push dword [ebp + 0x10]
call fcn.100e8590
add esp, 0xc
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x38], eax
mov eax, dword [0x103bf3d8]
mov dword [ebp - 0x3c], edx
mov eax, dword [eax + 0x10c]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x50], edx
cmp ecx, 3
jne 0x100ee473
push dword [ebp + 0x10]
mov eax, dword [edx]
mov ecx, edx
push esi
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
call dword [eax + 0x20]
jmp 0x100ee4a2
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x38]
test ecx, ecx
jle 0x100ee4a8
mov dword [ebp - 0x44], ecx
mov edi, eax
mov eax, dword [edx]
mov ecx, edx
push 1
push esi
push edi
push dword [ebp - 0x3c]
call dword [eax + 0x20]
mov edx, dword [ebp - 0x50]
add esi, 4
add edi, 3
sub dword [ebp - 0x44], 1
jne 0x100ee482
mov edi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x4c]
cmp edx, 3
jne 0x100ee4d1
push dword [ebp - 0x6c]
mov edx, eax
mov ecx, edi
call fcn.100a43b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
test ecx, ecx
jle case.0x100edec2.16
add edi, 2
lea esi, [eax + 2]
nop
movzx eax, byte [esi - 2]
lea esi, [esi + 3]
mov byte [edi - 2], al
movzx eax, byte [esi - 4]
mov byte [edi - 1], al
movzx eax, byte [esi - 3]
mov byte [edi], al
add edi, edx
sub ecx, 1
jne 0x100ee4e0
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18
push edx
push ecx
mov edx, esi
jmp 0x100ee589
mov eax, dword [ebp - 0x40]
cmp ecx, 3
mov edx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x38], eax
mov eax, dword [0x103bf3d8]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x3c], edx
mov eax, dword [eax + 0x10c]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x48], edx
jne 0x100ee54f
push dword [ebp + 0x10]
mov eax, dword [edx]
push esi
push ecx
push dword [ebp - 0x3c]
mov ecx, edx
call dword [eax + 0x20]
jmp 0x100ee580
mov eax, dword [ebp + 0x10]
test eax, eax
jle 0x100ee580
mov dword [ebp - 0x44], eax
mov edi, ecx
nop dword [eax + eax]
mov eax, dword [edx]
mov ecx, edx
push 1
push esi
push edi
push dword [ebp - 0x3c]
call dword [eax + 0x20]
mov edx, dword [ebp - 0x48]
add esi, 4
add edi, 3
sub dword [ebp - 0x44], 1
jne 0x100ee560
mov edi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x38]
push eax
push 3
push dword [ebp - 0x4c]
mov ecx, edi
push dword [ebp + 0x10]
call fcn.100e85f0
add esp, 0x10
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 0x18