Function at 0x111049b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x594
mov eax, dword [0x11279148]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0x1c]
push edi
mov edi, dword [ebp + 0xc]
mov ebx, edx
push 0x44
lea edx, [ebp - 0x48]
push 0
push edx
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x538], ebx
mov dword [ebp - 0x548], edi
mov dword [ebp - 0x53c], ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
mov eax, ebx
mov edx, edi
lea ecx, [ecx]
mov ecx, dword [eax]
inc dword [ebp + ecx*4 - 0x48]
lea ecx, [ebp + ecx*4 - 0x48]
add eax, 4
dec edx
jne 0x11104a00
cmp dword [ebp - 0x48], edi
jne 0x11104a32
mov eax, dword [ebp - 0x53c]
mov dword [eax], edx
pop edi
mov dword [esi], edx
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.111d9022
mov esp, ebp
pop ebp
ret
mov edi, dword [esi]
mov dword [ebp - 0x510], edi
mov ecx, 1
nop
cmp dword [ebp + ecx*4 - 0x48], 0
jne 0x11104a4d
inc ecx
cmp ecx, 0x10
jbe 0x11104a40
mov ebx, ecx
mov dword [ebp - 0x518], ebx
cmp edi, ecx
jae 0x11104a61
mov dword [ebp - 0x510], ecx
mov edi, ecx
mov eax, 0x10
cmp dword [ebp + eax*4 - 0x48], 0
jne 0x11104a70
dec eax
jne 0x11104a66
mov dword [ebp - 0x52c], eax
cmp edi, eax
jbe 0x11104a82
mov dword [ebp - 0x510], eax
mov edi, eax
mov edx, 1
shl edx, cl
mov dword [esi], edi
cmp ecx, eax
jae 0x11104aa1
nop
sub edx, dword [ebp + ecx*4 - 0x48]
js 0x11104d08
inc ecx
add edx, edx
cmp ecx, eax
jb 0x11104a90
mov ecx, dword [ebp + eax*4 - 0x48]
sub edx, ecx
mov dword [ebp - 0x554], edx
js 0x11104d08
add ecx, edx
mov dword [ebp + eax*4 - 0x48], ecx
xor edx, edx
xor ecx, ecx
dec eax
mov dword [ebp - 0x88], edx
je 0x11104ad7
add ecx, dword [ebp + edx - 0x44]
add edx, 4
dec eax
mov dword [ebp + edx - 0x88], ecx
jne 0x11104ac6
mov esi, dword [ebp - 0x538]
xor edx, edx
nop
mov eax, dword [esi]
add esi, 4
test eax, eax
je 0x11104b01
mov ecx, dword [ebp + eax*4 - 0x8c]
lea eax, [ebp + eax*4 - 0x8c]
mov dword [ebp + ecx*4 - 0x50c], edx
inc ecx
mov dword [eax], ecx
inc edx
cmp edx, dword [ebp - 0x548]
jb 0x11104ae0
xor eax, eax
mov edx, edi
xor esi, esi
lea ecx, [ebp - 0x50c]
neg edx
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x520], ecx
mov dword [ebp - 0x514], 0xffffffff
mov dword [ebp - 0x594], esi
mov dword [ebp - 0x538], esi
cmp ebx, dword [ebp - 0x52c]
jg 0x11104e56
lea eax, [ebp + ebx*4 - 0x48]
mov dword [ebp - 0x534], eax
jmp 0x11104b60
mov eax, dword [ebp - 0x534]
mov eax, dword [eax]
mov dword [ebp - 0x51c], eax
test eax, eax
je 0x11104e3c
jmp 0x11104b80
dec dword [ebp - 0x51c]
lea eax, [edx + edi]
cmp ebx, eax
jle 0x11104ce0
sub edx, edi
mov dword [ebp - 0x540], edx
lea esp, [esp]
mov edx, dword [ebp - 0x52c]
inc dword [ebp - 0x514]
add dword [ebp - 0x540], edi
sub edx, eax
mov dword [ebp - 0x544], eax
cmp edx, edi
jbe 0x11104bc0
mov edx, edi
mov ebx, dword [ebp - 0x518]
sub ebx, eax
mov ecx, ebx
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x51c]
inc ecx
cmp eax, ecx
jbe 0x11104c05
mov esi, dword [ebp - 0x534]
or ecx, 0xffffffff
sub ecx, dword [ebp - 0x51c]
inc ebx
add eax, ecx
cmp ebx, edx
jae 0x11104c05
mov ecx, dword [esi + 4]
add esi, 4
add eax, eax
cmp eax, ecx
jbe 0x11104c05
inc ebx
sub eax, ecx
cmp ebx, edx
jb 0x11104bf2
mov ecx, ebx
mov esi, 1
shl esi, cl
lea edx, [esi*8 + 8]
push edx
call dword [sym.imp.MSVCR100.dll_malloc]
add esp, 4
test eax, eax
je 0x11104e7f
mov ecx, dword [ebp - 0x54c]
lea edx, [esi + 1]
add dword [ecx + 0x1c], edx
mov edx, dword [ebp - 0x53c]
lea ecx, [eax + 8]
add eax, 4
mov dword [edx], ecx
mov dword [ebp - 0x53c], eax
mov dword [eax], 0
mov eax, dword [ebp - 0x514]
lea edx, [ebp + eax*4 - 0x594]
mov dword [ebp - 0x538], ecx
mov dword [ebp - 0x550], edx
mov dword [edx], ecx
test eax, eax
je 0x11104cb6
mov edi, dword [ebp - 0x530]
mov dword [ebp + eax*4 - 0x8c], edi
mov al, byte [ebp - 0x510]
mov edx, ecx
mov ecx, dword [ebp - 0x540]
mov byte [ebp - 0x527], al
mov eax, edi
add bl, 0x10
shr eax, cl
mov ecx, dword [ebp - 0x550]
mov ecx, dword [ecx - 4]
mov byte [ebp - 0x528], bl
mov edi, dword [ebp - 0x528]
mov dword [ecx + eax*8], edi
mov dword [ebp - 0x524], edx
mov dword [ecx + eax*8 + 4], edx
mov eax, dword [ebp - 0x510]
add eax, dword [ebp - 0x544]
mov edi, dword [ebp - 0x510]
cmp dword [ebp - 0x518], eax
jg 0x11104ba0
mov edx, dword [ebp - 0x544]
mov ecx, dword [ebp - 0x520]
mov al, byte [ebp - 0x518]
sub al, dl
mov byte [ebp - 0x527], al
mov eax, dword [ebp - 0x548]
lea eax, [ebp + eax*4 - 0x50c]
cmp ecx, eax
jb 0x11104d1e
mov byte [ebp - 0x528], 0x63
jmp 0x11104d63
pop edi
pop esi
mov eax, 2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.111d9022
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx]
mov ebx, dword [ebp + 0x10]
cmp eax, ebx
jae 0x11104d3c
cmp eax, 0x100
setb al
add al, 0xf
mov byte [ebp - 0x528], al
mov ax, word [ecx]
jmp 0x11104d53
sub eax, ebx
mov ebx, dword [ebp + 0x18]
add eax, eax
mov bl, byte [eax + ebx]
mov byte [ebp - 0x528], bl
mov ebx, dword [ebp + 0x14]
mov ax, word [eax + ebx]
add ecx, 4
mov dword [ebp - 0x520], ecx
mov word [ebp - 0x524], ax
mov ecx, dword [ebp - 0x518]
mov eax, dword [ebp - 0x530]
sub ecx, edx
mov ebx, 1
shl ebx, cl
mov ecx, edx
shr eax, cl
cmp eax, esi
jae 0x11104db6
mov ecx, dword [ebp - 0x538]
lea ecx, [ecx + eax*8]
lea esp, [esp]
mov edi, dword [ebp - 0x528]
mov dword [ecx], edi
mov edi, dword [ebp - 0x524]
mov dword [ecx + 4], edi
lea edi, [ebx*8]
add eax, ebx
add ecx, edi
cmp eax, esi
jb 0x11104d90
mov edi, dword [ebp - 0x510]
mov ecx, dword [ebp - 0x518]
mov ebx, dword [ebp - 0x530]
dec ecx
mov eax, 1
shl eax, cl
test ebx, eax
je 0x11104dd8
mov edi, edi
xor ebx, eax
shr eax, 1
test ebx, eax
jne 0x11104dd0
xor ebx, eax
mov ecx, edx
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x530], ebx
dec eax
and eax, ebx
cmp eax, dword [ebp + ecx*4 - 0x8c]
je 0x11104e23
jmp 0x11104e00
dec dword [ebp - 0x514]
sub edx, edi
mov ecx, edx
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x514]
dec eax
and eax, ebx
cmp eax, dword [ebp + ecx*4 - 0x8c]
jne 0x11104e00
cmp dword [ebp - 0x51c], 0
mov ebx, dword [ebp - 0x518]
mov ecx, dword [ebp - 0x520]
jne 0x11104b80
add dword [ebp - 0x534], 4
inc ebx
mov dword [ebp - 0x518], ebx
cmp ebx, dword [ebp - 0x52c]
jle 0x11104b60
cmp dword [ebp - 0x554], 0
je 0x11104e6c
mov eax, 1
cmp dword [ebp - 0x52c], eax
jne 0x11104e6e
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.111d9022
mov esp, ebp
pop ebp
ret
push 0x140
push str...ctl32INFLATE.C
push 0x11203bcc
call fcn.11067750
add esp, 0xc
cmp dword [ebp - 0x514], 0
je 0x11104eaa
mov eax, dword [ebp - 0x594]
call fcn.11104860
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 3
pop ebx
call fcn.111d9022
mov esp, ebp
pop ebp
ret