Function at 0x100109d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 4], 0
test ebx, ebx
jne 0x100109ed
lea eax, [ebx - 0x66]
pop ebx
mov esp, ebp
pop ebp
ret
push esi
mov esi, dword [ebx + 0xe0]
test esi, esi
jne 0x10010a01
lea eax, [esi - 0x66]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi], 0
jne 0x10010a11
pop esi
mov eax, 0xffffff9c
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x10010a20
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x10], eax
xor eax, eax
mov dword [esi + 0x14], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [esi + 0x84]
jb 0x10010a51
ja 0x10010a40
cmp ecx, dword [esi + 0x80]
jbe 0x10010a51
cmp dword [esi + 0xc8], eax
jne 0x10010a51
mov eax, dword [esi + 0x80]
mov dword [esi + 0x14], eax
push edi
mov edi, dword [esi + 8]
xor eax, eax
mov edx, edi
add edx, dword [esi + 0x78]
adc eax, dword [esi + 0x7c]
cmp dword [ebp - 0xc], eax
jb 0x10010a7b
ja 0x10010a6a
cmp ecx, edx
jbe 0x10010a7b
cmp dword [esi + 0xc8], 0
je 0x10010a7b
mov eax, dword [esi + 0x78]
add eax, edi
mov dword [esi + 0x14], eax
cmp dword [esi + 0x14], 0
jbe 0x10010cd7
cmp dword [esi + 8], 0
mov edi, 0xfffffffd
jne 0x10010ba0
mov ecx, dword [esi + 0x7c]
mov eax, dword [esi + 0x78]
test ecx, ecx
jne 0x10010aa6
test eax, eax
je 0x10010ba0
mov edi, 0x4000
test ecx, ecx
ja 0x10010ac0
jb 0x10010ab5
cmp eax, edi
jae 0x10010ac0
mov edi, dword [esi + 0x78]
test edi, edi
je 0x10010cbb
mov ecx, dword [esi + 0xc0]
add ecx, dword [esi + 0x40]
mov eax, dword [esi + 0xc4]
adc eax, dword [esi + 0x44]
push 0
push eax
push ecx
push dword [esi + 0xb8]
lea eax, [esi + 0x88]
push eax
call fcn.100044c0
add esp, 0x14
test eax, eax
jne 0x10010cc4
mov eax, dword [esi + 0x8c]
push edi
push dword [esi]
push dword [esi + 0xb8]
push dword [esi + 0xa4]
call eax
add esp, 0x10
cmp eax, edi
jne 0x10010cc4
cmp dword [ebx + 0xe4], 0
je 0x10010b85
xor edx, edx
mov dword [ebp - 8], edx
test edi, edi
je 0x10010b85
jmp 0x10010b30
mov ecx, dword [ebx + 0xf8]
add edx, dword [esi]
and ecx, 0xfffd
or ecx, 2
mov ebx, ecx
xor ebx, 1
movsx eax, byte [edx]
imul ebx, ecx
shr ebx, 8
and ebx, 0xff
xor ebx, eax
mov byte [edx], bl
movsx eax, bl
mov ebx, dword [ebp + 8]
push eax
push dword [ebx + 0xfc]
lea eax, [ebx + 0xf0]
push eax
call fcn.10010d70
mov edx, dword [ebp - 8]
add esp, 0xc
mov ecx, dword [esi]
mov byte [edx + ecx], al
inc edx
mov dword [ebp - 8], edx
cmp edx, edi
jb 0x10010b30
add dword [esi + 0x40], edi
mov eax, dword [esi]
adc dword [esi + 0x44], 0
sub dword [esi + 0x78], edi
mov dword [esi + 8], edi
mov edi, 0xfffffffd
sbb dword [esi + 0x7c], 0
mov dword [esi + 4], eax
mov eax, dword [esi + 0xbc]
test eax, eax
je 0x10010c44
cmp dword [esi + 0xc8], 0
jne 0x10010c44
cmp eax, 0xc
je 0x10010cad
mov eax, dword [esi + 0x18]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x10], eax
lea eax, [esi + 4]
push 2
push eax
call sub.QtCore4.dll_inflate
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
js 0x10010bef
cmp dword [esi + 0x1c], 0
cmovne eax, edi
mov dword [ebp - 0xc], eax
mov edi, dword [esi + 0x18]
xor ebx, ebx
mov dword [ebp - 0x14], edi
sub edi, dword [ebp - 8]
push edi
push dword [ebp - 0x10]
sbb ebx, ebx
add dword [esi + 0x68], edi
push dword [esi + 0x70]
adc dword [esi + 0x6c], ebx
call sub.QtCore4.dll_crc32
mov ecx, dword [ebp - 4]
add esp, 0xc
sub dword [esi + 0x80], edi
mov dword [esi + 0x70], eax
sbb dword [esi + 0x84], ebx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 8]
add ecx, eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
cmp eax, 1
je 0x10010cce
test eax, eax
jne 0x10010cda
jmp 0x10010cad
mov edi, dword [esi + 8]
test edi, edi
jne 0x10010c57
mov eax, dword [esi + 0x78]
or eax, dword [esi + 0x7c]
je 0x10010cd7
cmp dword [esi + 0x14], edi
cmovb edi, dword [esi + 0x14]
xor edx, edx
test edi, edi
je 0x10010c75
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x10]
mov al, byte [edx + eax]
mov byte [edx + ecx], al
inc edx
cmp edx, edi
jb 0x10010c64
add dword [esi + 0x68], edi
push edi
push dword [esi + 0x10]
adc dword [esi + 0x6c], 0
push dword [esi + 0x70]
call sub.QtCore4.dll_crc32
add esp, 0xc
mov dword [esi + 0x70], eax
sub dword [esi + 0x80], edi
sbb dword [esi + 0x84], 0
sub dword [esi + 8], edi
sub dword [esi + 0x14], edi
add dword [esi + 0x10], edi
add dword [esi + 4], edi
add dword [esi + 0x18], edi
add dword [ebp - 4], edi
cmp dword [esi + 0x14], 0
jbe 0x10010cd7
mov ebx, dword [ebp + 8]
jmp 0x10010a85
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret