Function at 0x10118860
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.10114f90
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.101178d0
movzx ecx, ax
mov eax, ecx
or eax, dword [esp + 0x2c]
cmp eax, 0x7f
jg 0x10119103
test ecx, ecx
je 0x10119103
nop dword [eax]
dec ecx
mov dword [esp + 8], ecx
mov ecx, edi
call fcn.101178d0
movzx eax, ax
mov ecx, edi
mov dword [esp + 0x10], eax
call fcn.10114f90
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.10114f90
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 0x10118966
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.10118860
cmp esi, 0x810
jne 0x10118989
mov ecx, dword [edi + 0x49280]
lea eax, [edi + 0x24d24]
push 1
push 0x40
push eax
mov edx, dword [ecx]
call dword [edx + 8]
jmp 0x101190e3
cmp esi, 0x80a
jne 0x101189e7
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 0x101189b0
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 0x101190e3
cmp esi, 0x1810
jne 0x10118a26
mov ecx, edi
call fcn.10114f90
mov ecx, edi
mov word [edi + 0x16], ax
call fcn.10114f90
mov ecx, edi
mov word [edi + 0x14], ax
call fcn.10114f90
push eax
mov ecx, edi
call fcn.10117980
mov ecx, edi
fstp qword [edi + 0x28]
call fcn.10114f90
mov dword [edi + 0x30], eax
jmp 0x101190e3
cmp esi, 0x1835
jne 0x10118a40
mov ecx, edi
call fcn.10114f90
mov dword [edi + 0x49320], eax
jmp 0x101190e3
cmp esi, 0x2007
jne 0x10118a70
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 0x101190e3
cmp esi, 0x1818
jne 0x10118b0b
mov ecx, edi
call fcn.10114f90
mov ecx, edi
call fcn.10114f90
push eax
mov ecx, edi
call fcn.10117980
fstp dword [esp + 0x28]
movss xmm0, dword [esp + 0x28]
sub esp, 8
xorps xmm0, xmmword [0x1039ccd0]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
add esp, 8
mov ecx, edi
fstp dword [edi + 0x24a5c]
call fcn.10114f90
push eax
mov ecx, edi
call fcn.10117980
fmul dword [0x1039bfe0]
sub esp, 8
fstp dword [esp + 4]
mov dword [esp], 0x40000000
call fcn.1012f3f0
fstp dword [esp + 0x30]
movss xmm0, dword [esp + 0x30]
add esp, 8
movss dword [edi + 0x24a60], xmm0
movss dword [edi + 0x434], xmm0
jmp 0x101190e3
cmp esi, 0x102a
jne 0x10118c55
mov ecx, edi
call fcn.101178d0
mov ecx, edi
call fcn.101178d0
mov ecx, edi
movzx esi, ax
call fcn.101178d0
movzx eax, ax
sub esp, 8
add eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10273c50]
subss xmm0, dword [0x1039c464]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
fmul dword [0x1039c4e8]
add esp, 8
mov ecx, edi
fstp dword [edi + 0x24a58]
call fcn.101178d0
mov ecx, edi
call fcn.101178d0
movzx eax, ax
push eax
call fcn.1012f2c0
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.101178d0
cwde
sub esp, 8
neg eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x1039c070]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
add esp, 8
mov ecx, edi
fstp dword [edi + 0x24a5c]
call fcn.101178d0
mov ecx, edi
call fcn.101178d0
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 [0x10273d98]
jbe 0x101190e3
mov ecx, edi
call fcn.101178d0
movzx eax, ax
mov dword [esp + 0x1c], esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x1039c340]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24a5c], xmm0
jmp 0x101190e3
cmp esi, 0x102c
jne 0x10118ce4
mov ecx, edi
call fcn.101178d0
mov ecx, 0x200
cmp ax, cx
mov ecx, dword [edi + 0x49280]
push 1
push 0
mov eax, dword [ecx]
jbe 0x10118caf
push 0x76
call dword [eax + 0xc]
xor esi, esi
mov ecx, edi
call fcn.101178d0
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 0x10118c85
jmp 0x101190e3
push 0x62
call dword [eax + 0xc]
xor esi, esi
mov ecx, edi
call fcn.101178d0
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 0x10118cb6
jmp 0x101190e3
cmp esi, 0x102d
jne 0x10118dc5
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0x2c
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.101178d0
movzx eax, ax
mov ecx, edi
cdq
mov dword [edi + 0x318], eax
mov dword [edi + 0x31c], edx
call fcn.101178d0
movzx eax, ax
mov ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x414], xmm0
call fcn.101178d0
movzx eax, ax
mov ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x410], xmm0
call fcn.101178d0
mov word [edi + 0x5e0], ax
cmp ax, 1
je 0x10118d8e
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.101178d0
movzx eax, ax
push eax
call fcn.1012f2c0
add esp, 4
mov ecx, edi
fstp dword [edi + 0x428]
call fcn.101178d0
movzx eax, ax
push eax
call fcn.1012f2c0
fstp dword [edi + 0x42c]
add esp, 4
jmp 0x101190e3
cmp esi, 0x32
jne 0x10118f15
cmp dword [esp + 0x28], 0x300
jne 0x10118e41
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.101178d0
movsd xmm1, qword [0x10273d60]
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 0x10118df0
cmp dword [esp + 0x1c], 0
jne 0x101190e3
mov dword [edi + 0x2480c], 0xbf800000
jmp 0x101190e3
movss xmm0, dword [edi + 0x2480c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x101190e3
mov ecx, edi
call fcn.101178d0
cmp ax, word [esp + 0x14]
jne 0x10118e97
lea eax, [edi + 0xf8]
push 0x10267c78
push eax
call fcn.101df510
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 0x10118eaf
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.101178d0
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 0x10118ec8
cmp dword [esp + 0x1c], 0
jne 0x101190e3
mov dword [edi + 0x2480c], 0xbf800000
jmp 0x101190e3
cmp esi, 0x10a9
jne 0x10118f7b
cmp dword [esp + 0x28], 0x42
mov eax, dword [esp + 0x1c]
jle 0x10118f36
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.101178d0
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 0x10118f50
jmp 0x101190e3
cmp esi, 0x1030
jne 0x10118fa2
mov ecx, dword [esp + 0x1c]
mov eax, 0x18040
sar eax, cl
test al, 1
je 0x101190e3
mov ecx, edi
call fcn.10119110
jmp 0x101190e3
cmp esi, 0x1031
jne 0x10118fcc
mov ecx, edi
call fcn.101178d0
mov ecx, edi
call fcn.101178d0
mov ecx, edi
mov word [edi + 0x12], ax
call fcn.101178d0
mov word [edi + 0x10], ax
jmp 0x101190e3
cmp esi, 0x501c
jne 0x10118fef
mov eax, dword [esp + 0x28]
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x24a58], xmm0
jmp 0x101190e3
cmp esi, 0x5029
jne 0x10119049
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 0x10119038
mulss xmm0, dword [0x10273c50]
mov eax, 0x20
mov word [edi + 0x5e0], ax
movss dword [edi + 0x430], xmm0
mov eax, dword [edi + 0x430]
mov dword [edi + 0x24a64], eax
jmp 0x101190e3
cmp esi, 0x5813
jne 0x10119064
push dword [esp + 0x28]
mov ecx, edi
call fcn.10117980
fstp dword [edi + 0x248e0]
jmp 0x101190e3
cmp esi, 0x5814
jne 0x1011907f
push dword [esp + 0x28]
mov ecx, edi
call fcn.10117980
fstp dword [edi + 0x248e4]
jmp 0x101190e3
cmp esi, 0x5817
jne 0x10119093
mov eax, dword [esp + 0x28]
mov dword [edi + 0x24a70], eax
jmp 0x101190e3
cmp esi, 0x5834
jne 0x101190af
mov eax, dword [esp + 0x28]
mov ecx, edi
push eax
mov dword [edi + 0x492cc], eax
call fcn.10115d10
jmp 0x101190e3
cmp esi, 0x580e
jne 0x101190c4
mov eax, dword [esp + 0x28]
cdq
mov dword [edi + 0x24a6c], edx
jmp 0x101190dd
cmp esi, 0x180e
jne 0x101190e3
mov ecx, edi
call fcn.10114f90
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 0x101188e0
pop edi
pop esi
add esp, 0x18
ret 0xc