Function at 0x10113030
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x18
mov edx, dword [esp + 0x1c]
mov eax, 0x410
push esi
push edi
mov edi, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
add edx, 0xfffffffc
add eax, edx
mov dword [esp + 0x1c], 0xffffffff
push 0
mov ecx, dword [edi + 0x49280]
cdq
push edx
push eax
mov esi, dword [ecx]
mov dword [esp + 0x24], 0x45f30410
call dword [esi + 0xc]
mov ecx, edi
call fcn.1010f760
mov ecx, dword [edi + 0x49280]
add eax, dword [esp + 0x24]
push 0
cdq
mov esi, dword [ecx]
push edx
push eax
call dword [esi + 0xc]
mov ecx, edi
call fcn.101120a0
movzx ecx, ax
mov eax, ecx
or eax, dword [esp + 0x2c]
cmp eax, 0x7f
jg 0x101138d3
test ecx, ecx
je 0x101138d3
nop dword [eax]
dec ecx
mov dword [esp + 8], ecx
mov ecx, edi
call fcn.101120a0
movzx eax, ax
mov ecx, edi
mov dword [esp + 0x10], eax
call fcn.1010f760
mov ecx, dword [edi + 0x49280]
mov dword [esp + 0x28], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
call edx
add eax, 4
mov ecx, edi
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x49280]
push 0
mov esi, dword [eax]
call fcn.1010f760
add eax, dword [esp + 0x28]
mov ecx, dword [edi + 0x49280]
push 0
push eax
call dword [esi + 0xc]
mov esi, dword [esp + 0x10]
mov eax, esi
shr eax, 8
add eax, 8
or eax, 8
cmp eax, 0x38
jne 0x10113136
mov ecx, dword [edi + 0x49280]
mov eax, dword [esp + 0x2c]
inc eax
push eax
mov eax, dword [ecx]
push dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
call eax
push eax
mov ecx, edi
call fcn.10113030
cmp esi, 0x810
jne 0x10113159
mov ecx, dword [edi + 0x49280]
lea eax, [edi + 0x24d24]
push 1
push 0x40
push eax
mov edx, dword [ecx]
call dword [edx + 8]
jmp 0x101138b3
cmp esi, 0x80a
jne 0x101131b7
mov ecx, dword [edi + 0x49280]
lea esi, [edi + 0xb8]
push 1
push 0x40
push esi
mov eax, dword [ecx]
call dword [eax + 8]
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x10113180
sub esi, ecx
mov ecx, dword [edi + 0x49280]
push 1
push 0
mov edx, dword [ecx]
lea eax, [esi - 0x3f]
push eax
call dword [edx + 0xc]
mov ecx, dword [edi + 0x49280]
lea eax, [edi + 0xf8]
push 1
push 0x40
push eax
mov edx, dword [ecx]
call dword [edx + 8]
jmp 0x101138b3
cmp esi, 0x1810
jne 0x101131f6
mov ecx, edi
call fcn.1010f760
mov ecx, edi
mov word [edi + 0x16], ax
call fcn.1010f760
mov ecx, edi
mov word [edi + 0x14], ax
call fcn.1010f760
push eax
mov ecx, edi
call fcn.10112150
mov ecx, edi
fstp qword [edi + 0x28]
call fcn.1010f760
mov dword [edi + 0x30], eax
jmp 0x101138b3
cmp esi, 0x1835
jne 0x10113210
mov ecx, edi
call fcn.1010f760
mov dword [edi + 0x49320], eax
jmp 0x101138b3
cmp esi, 0x2007
jne 0x10113240
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [edi + 0x49298], eax
mov eax, dword [esp + 0x28]
mov dword [edi + 0x4929c], edx
mov dword [edi + 0x24d70], eax
jmp 0x101138b3
cmp esi, 0x1818
jne 0x101132db
mov ecx, edi
call fcn.1010f760
mov ecx, edi
call fcn.1010f760
push eax
mov ecx, edi
call fcn.10112150
fstp dword [esp + 0x28]
movss xmm0, dword [esp + 0x28]
sub esp, 8
xorps xmm0, xmmword [0x103d8790]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10129bc0
add esp, 8
mov ecx, edi
fstp dword [edi + 0x24a5c]
call fcn.1010f760
push eax
mov ecx, edi
call fcn.10112150
fmul dword [0x103d7aa8]
sub esp, 8
fstp dword [esp + 4]
mov dword [esp], 0x40000000
call fcn.10129bc0
fstp dword [esp + 0x30]
movss xmm0, dword [esp + 0x30]
add esp, 8
movss dword [edi + 0x24a60], xmm0
movss dword [edi + 0x434], xmm0
jmp 0x101138b3
cmp esi, 0x102a
jne 0x10113425
mov ecx, edi
call fcn.101120a0
mov ecx, edi
call fcn.101120a0
mov ecx, edi
movzx esi, ax
call fcn.101120a0
movzx eax, ax
sub esp, 8
add eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x103d7a14]
subss xmm0, dword [0x103d7f04]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10129bc0
fmul dword [0x103d7f88]
add esp, 8
mov ecx, edi
fstp dword [edi + 0x24a58]
call fcn.101120a0
mov ecx, edi
call fcn.101120a0
movzx eax, ax
push eax
call fcn.10129a90
fstp dword [esp + 0x2c]
movss xmm0, dword [esp + 0x2c]
add esp, 4
mov ecx, edi
movss dword [edi + 0x24a60], xmm0
movss dword [edi + 0x434], xmm0
call fcn.101120a0
cwde
sub esp, 8
neg eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x103d7b48]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10129bc0
add esp, 8
mov ecx, edi
fstp dword [edi + 0x24a5c]
call fcn.101120a0
mov ecx, edi
call fcn.101120a0
mov ecx, dword [edi + 0x49280]
xor esi, esi
movzx eax, ax
cmp eax, 0x11
push 1
cmovbe esi, eax
mov eax, dword [ecx]
push 0
push 0x20
mov dword [esp + 0x28], esi
call dword [eax + 0xc]
movss xmm0, dword [edi + 0x24a5c]
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [0x102abb48]
jbe 0x101138b3
mov ecx, edi
call fcn.101120a0
movzx eax, ax
mov dword [esp + 0x1c], esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x103d7e10]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24a5c], xmm0
jmp 0x101138b3
cmp esi, 0x102c
jne 0x101134b4
mov ecx, edi
call fcn.101120a0
mov ecx, 0x200
cmp ax, cx
mov ecx, dword [edi + 0x49280]
push 1
push 0
mov eax, dword [ecx]
jbe 0x1011347f
push 0x76
call dword [eax + 0xc]
xor esi, esi
mov ecx, edi
call fcn.101120a0
movzx eax, ax
movd xmm0, eax
mov eax, esi
cvtdq2ps xmm0, xmm0
xor eax, 2
inc esi
movss dword [edi + eax*4 + 0x2480c], xmm0
cmp esi, 4
jl 0x10113455
jmp 0x101138b3
push 0x62
call dword [eax + 0xc]
xor esi, esi
mov ecx, edi
call fcn.101120a0
movzx eax, ax
movd xmm0, eax
mov eax, esi
xor eax, 2
sar eax, 1
cvtdq2ps xmm0, xmm0
xor eax, esi
inc esi
movss dword [edi + eax*4 + 0x2480c], xmm0
cmp esi, 4
jl 0x10113486
jmp 0x101138b3
cmp esi, 0x102d
jne 0x10113595
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0x2c
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.101120a0
movzx eax, ax
mov ecx, edi
cdq
mov dword [edi + 0x318], eax
mov dword [edi + 0x31c], edx
call fcn.101120a0
movzx eax, ax
mov ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x414], xmm0
call fcn.101120a0
movzx eax, ax
mov ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x410], xmm0
call fcn.101120a0
mov word [edi + 0x5e0], ax
cmp ax, 1
je 0x1011355e
movss xmm0, dword [edi + 0x414]
cwde
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [edi + 0x414], xmm0
movss xmm0, dword [edi + 0x410]
divss xmm0, xmm1
movss dword [edi + 0x410], xmm0
mov ecx, edi
call fcn.101120a0
movzx eax, ax
push eax
call fcn.10129a90
add esp, 4
mov ecx, edi
fstp dword [edi + 0x428]
call fcn.101120a0
movzx eax, ax
push eax
call fcn.10129a90
fstp dword [edi + 0x42c]
add esp, 4
jmp 0x101138b3
cmp esi, 0x32
jne 0x101136e5
cmp dword [esp + 0x28], 0x300
jne 0x10113611
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0x48
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
nop dword [eax + eax]
mov ecx, edi
call fcn.101120a0
movsd xmm1, qword [0x102abb10]
movzx eax, ax
movd xmm0, eax
mov eax, esi
cvtdq2pd xmm0, xmm0
sar eax, 1
xor eax, esi
inc esi
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [edi + eax*4 + 0x2480c], xmm0
cmp esi, 4
jl 0x101135c0
cmp dword [esp + 0x1c], 0
jne 0x101138b3
mov dword [edi + 0x2480c], 0xbf800000
jmp 0x101138b3
movss xmm0, dword [edi + 0x2480c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x101138b3
mov ecx, edi
call fcn.101120a0
cmp ax, word [esp + 0x14]
jne 0x10113667
lea eax, [edi + 0xf8]
push 0x1029fa20
push eax
call fcn.101f8950
add esp, 8
mov ecx, str.012346000000000000
test eax, eax
mov eax, str.01345:000000006008
cmove ecx, eax
mov eax, dword [esp + 0x1c]
movsx eax, byte [ecx + eax]
sub eax, 0x2e
jmp 0x1011367f
mov eax, dword [esp + 0x1c]
movsx eax, byte [eax + str.023457000000006000]
sub eax, 0x30
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [edi + 0x49280]
lea eax, [eax*8 + 0x4e]
push 1
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.101120a0
mov ecx, esi
and ecx, 1
xor ax, word [esp + ecx*2 + 0x18]
movzx eax, ax
movd xmm0, eax
mov eax, esi
xor eax, 2
sar eax, 1
cvtdq2ps xmm0, xmm0
xor eax, esi
inc esi
movss dword [edi + eax*4 + 0x2480c], xmm0
cmp esi, 4
jl 0x10113698
cmp dword [esp + 0x1c], 0
jne 0x101138b3
mov dword [edi + 0x2480c], 0xbf800000
jmp 0x101138b3
cmp esi, 0x10a9
jne 0x1011374b
cmp dword [esp + 0x28], 0x42
mov eax, dword [esp + 0x1c]
jle 0x10113706
movsx eax, byte [eax + str.0134567028]
sub eax, 0x30
mov dword [esp + 0x1c], eax
mov ecx, dword [edi + 0x49280]
lea eax, [eax*8 + 2]
push 1
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop
mov ecx, edi
call fcn.101120a0
movzx eax, ax
movd xmm0, eax
mov eax, esi
sar eax, 1
cvtdq2ps xmm0, xmm0
xor eax, esi
inc esi
movss dword [edi + eax*4 + 0x2480c], xmm0
cmp esi, 4
jl 0x10113720
jmp 0x101138b3
cmp esi, 0x1030
jne 0x10113772
mov ecx, dword [esp + 0x1c]
mov eax, 0x18040
sar eax, cl
test al, 1
je 0x101138b3
mov ecx, edi
call fcn.101138e0
jmp 0x101138b3
cmp esi, 0x1031
jne 0x1011379c
mov ecx, edi
call fcn.101120a0
mov ecx, edi
call fcn.101120a0
mov ecx, edi
mov word [edi + 0x12], ax
call fcn.101120a0
mov word [edi + 0x10], ax
jmp 0x101138b3
cmp esi, 0x501c
jne 0x101137bf
mov eax, dword [esp + 0x28]
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x24a58], xmm0
jmp 0x101138b3
cmp esi, 0x5029
jne 0x10113819
mov ecx, dword [esp + 0x28]
mov eax, ecx
sar eax, 0x10
mov word [edi + 0x3ec], cx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x430], xmm0
cmp cx, 2
jne 0x10113808
mulss xmm0, dword [0x103d7a14]
mov eax, 0x20
mov word [edi + 0x5e0], ax
movss dword [edi + 0x430], xmm0
mov eax, dword [edi + 0x430]
mov dword [edi + 0x24a64], eax
jmp 0x101138b3
cmp esi, 0x5813
jne 0x10113834
push dword [esp + 0x28]
mov ecx, edi
call fcn.10112150
fstp dword [edi + 0x248e0]
jmp 0x101138b3
cmp esi, 0x5814
jne 0x1011384f
push dword [esp + 0x28]
mov ecx, edi
call fcn.10112150
fstp dword [edi + 0x248e4]
jmp 0x101138b3
cmp esi, 0x5817
jne 0x10113863
mov eax, dword [esp + 0x28]
mov dword [edi + 0x24a70], eax
jmp 0x101138b3
cmp esi, 0x5834
jne 0x1011387f
mov eax, dword [esp + 0x28]
mov ecx, edi
push eax
mov dword [edi + 0x492cc], eax
call fcn.101104e0
jmp 0x101138b3
cmp esi, 0x580e
jne 0x10113894
mov eax, dword [esp + 0x28]
cdq
mov dword [edi + 0x24a6c], edx
jmp 0x101138ad
cmp esi, 0x180e
jne 0x101138b3
mov ecx, edi
call fcn.1010f760
mov dword [edi + 0x24a6c], 0
mov dword [edi + 0x24a68], eax
mov ecx, dword [edi + 0x49280]
mov eax, dword [esp + 0xc]
push 0
cdq
mov esi, dword [ecx]
push edx
push eax
call dword [esi + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x101130b0
pop edi
pop esi
add esp, 0x18
ret 0xc