Function at 0x10113d34
Capabilities:
Encode data using xor
Get file size

Disassembly:
push 0x460
mov eax, 0x1017b197
call fcn.1012b6ae
mov dword [ebp - 0x464], ecx
mov eax, dword [ebp + 8]
xor edi, edi
mov esi, edi
mov dword [ebp - 0x460], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x45c], edi
xor ebx, ebx
inc ebx
mov dword [ebp - 4], ebx
test eax, eax
jne 0x10113d73
mov edi, 0xa0
jmp 0x10114046
push edi
push edi
push 0x80
push 3
push ebx
push SysReAllocStringLen
push eax
lea ecx, [ebp - 0x460]
call fcn.10058f7d
test eax, eax
jne 0x1011405a
lea eax, [ebp - 0x454]
push eax
push dword [ebp - 0x460]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x458], eax
cmp eax, 0xffffffff
je 0x10114043
cmp dword [ebp - 0x454], 0
ja 0x10114043
add eax, 0xffffffc4
cmp eax, 0x12bfffc4
ja 0x10114043
push 0x3c
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x460]
call fcn.10035a52
test eax, eax
jne 0x1011405a
cmp dword [ebp - 0x450], 0x33363044
jne 0x1011403f
cmp dword [ebp - 0x44c], 0x3c
jb 0x1011403f
mov ecx, dword [ebp - 0x458]
cmp dword [ebp - 0x44c], ecx
ja 0x1011403f
mov eax, ecx
sub eax, dword [ebp - 0x44c]
cmp dword [ebp - 0x43c], eax
jne 0x1011403f
mov eax, dword [ebp - 0x448]
cmp eax, ebx
ja 0x1011403f
cmp eax, dword [ebp + 0xc]
jb 0x1011403f
lea eax, [ecx + 0x14]
push 0x1024c714
push eax
call fcn.1012b9b2
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x10113e66
push 0xe
jmp 0x10114045
mov eax, dword [ebp - 0x458]
add eax, 0x14
push eax
push edi
push esi
call fcn.1012db70
add esp, 0xc
lea ecx, [ebp - 0x460]
push edi
push edi
push edi
call fcn.10059033
test eax, eax
jne 0x1011404f
push dword [ebp - 0x458]
lea ecx, [ebp - 0x460]
push esi
call fcn.10035a52
test eax, eax
jne 0x1011404f
cmp dword [ebp - 0x448], ebx
jne 0x10113f31
lea ecx, [ebp - 0x414]
call fcn.10057647
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x414]
push edi
push 0x4c10db7
call fcn.1005767c
cmp dword [esi + 0x28], 2
je 0x10113eef
cmp dword [esi + 0x28], 3
je 0x10113eef
push 0x10
lea eax, [esi + 0x18]
push edi
push eax
call fcn.1012db70
add esp, 0xc
jmp 0x10113ef2
mov dword [esi + 0x18], edi
push edi
push dword [ebp - 0x458]
lea ecx, [ebp - 0x414]
push esi
call fcn.100576be
cmp eax, dword [ebp - 0x438]
je 0x10113f23
push 0xd
pop edi
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x414]
call fcn.10057650
jmp 0x10114046
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x414]
call fcn.10057650
mov eax, dword [ebp - 0x428]
cmp eax, ebx
je 0x10114003
add eax, 0xfffffffe
cmp eax, ebx
ja 0x10114035
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x10113f5b
cmp dword [ebp + 0x14], 0
je 0x10113f5b
mov dl, byte [eax]
jmp 0x10113f61
mov dl, byte [ebp - 0x424]
mov ecx, dword [ebp - 0x44c]
mov edi, dword [ebp - 0x458]
sub edi, ecx
mov dword [ebp - 0x46c], edi
lea eax, [ecx + esi]
je 0x10113f88
xor byte [eax], dl
inc eax
sub edi, 1
jne 0x10113f7a
mov ecx, dword [ebp - 0x44c]
mov eax, dword [ebp - 0x434]
mov dword [ebp - 0x468], eax
add eax, ecx
push 0x1024c714
push eax
call fcn.1012b9b2
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x1011404d
push dword [ebp - 0x44c]
push esi
push edi
call fcn.1012dcd0
mov ecx, dword [ebp - 0x44c]
lea eax, [ebp - 0x468]
add esp, 0xc
push eax
lea eax, [edi + ecx]
push eax
push dword [ebp - 0x46c]
lea eax, [ecx + esi]
mov ecx, dword [ebp - 0x464]
push eax
push dword [ebp - 0x428]
call fcn.10115de3
test eax, eax
jne 0x10113ff6
push edi
call fcn.1012b7b2
pop ecx
jmp 0x1011404d
push esi
call fcn.1012b7b2
mov esi, edi
xor edi, edi
pop ecx
jmp 0x10114035
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x10114014
cmp dword [ebp + 0x14], 0
je 0x10114014
mov dl, byte [eax]
jmp 0x1011401a
mov dl, byte [ebp - 0x424]
mov eax, dword [ebp - 0x44c]
mov ecx, dword [ebp - 0x458]
sub ecx, eax
lea eax, [eax + esi]
je 0x10114035
xor byte [eax], dl
inc eax
sub ecx, 1
jne 0x1011402d
mov eax, dword [ebp - 0x464]
mov dword [eax], esi
jmp 0x1011405c
push 0xb
jmp 0x10114045
push 0x18
pop edi
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor edi, edi
test esi, esi
je 0x1011405a
push esi
call fcn.1012b7b2
pop ecx
mov ebx, edi
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x460]
test eax, eax
je 0x10114077
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x460], edi
mov eax, ebx
call fcn.1012b658
ret 0x10