Function at 0x4307e1
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 1
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
call fcn.0041433f
mov eax, 0
cmp eax, ecx
jl 0x430826
push 1
call fcn.004b6cbd
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebx], 4
jge 0x430ff5
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
call fcn.0041433f
mov eax, 0
cmp eax, ecx
jl 0x43085a
push 1
call fcn.004b6cbd
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x10], ebx
fld qword [0xf79]
mov ebx, dword [ebp - 0x10]
fild dword [ebx]
fstp qword [ebp - 0x18]
fsub qword [ebp - 0x18]
fstp qword [ebp - 0x20]
push dword [ebp + 8]
push 4
mov eax, 2
call fcn.004b6ca5
add esp, 8
fld qword [ebp - 0x20]
call fcn.0041427b
cmp eax, 0
jle 0x43091c
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov dword [ebp - 0x2c], ebx
call fcn.0041433f
mov dword [ebp - 0x30], ecx
sub ecx, 0
jle 0x43091c
cmp ecx, dword [ebp - 0x28]
jge 0x4308bd
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0
jle 0x43091c
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
mov dword [edi], 1
add edi, 4
mov eax, ecx
sub eax, dword [ebp - 0x28]
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4308e8
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x2c]
add edi, 8
mov eax, dword [ebp - 0x28]
shl eax, 2
mov esi, edi
add esi, eax
mov ecx, dword [ebp - 0x30]
sub ecx, 0
sub ecx, dword [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
sub edi, dword [ebp - 0x2c]
push edi
push dword [ebp - 0x2c]
call fcn.004b6cc9
add esp, 8
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
mov eax, dword [ebp - 0x28]
jmp 0x43091e
xor eax, eax
push 0x1ae
push 0x73
push dword [0x30]
call fcn.0041d934
mov dword [ebp - 8], eax
push 0x80000301
push 0
push dword [ebp - 8]
push 1
mov ebx, 0x168
call fcn.004b6cb7
add esp, 0x10
mov dword [ebp - 0x10], eax
push 8
push dword [ebp - 0x10]
push 0x1818
mov ecx, 3
call fcn.0041421f
add esp, 0xc
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x430982
push ebx
call fcn.004b6cb1
add esp, 4
push 0x80000004
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x430995
mov eax, 0xb
push eax
push 0x10005
push 0x16010003
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4309c7
push ebx
call fcn.004b6cb1
add esp, 4
cmp dword [ebp - 8], 0xdddddd
jne 0x430ae6
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0
je 0x4309f3
cmp dword [ebp - 0xc], 5
je 0x4309f3
xor eax, eax
jmp 0x4309f8
mov eax, 1
test eax, eax
je 0x430a3a
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
push 0x1ae
push 1
push 0x73
push 1
push dword [0x30]
call fcn.0041b24d
mov dword [ebp - 0xc], 0
inc dword [ebp - 0xc]
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
push 1
push 0x1f4
call fcn.00418388
push 0x80000004
push 0
push 0x1825
push 0x10005
push 0x16010003
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
push 0x1ae
push 0x73
push dword [0x30]
call fcn.0041d934
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xdddddd
je 0x4309db
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
push 1
push 0x3e8
call fcn.00418388
push 1
call fcn.0042bef8
and eax, 1
xor eax, 1
test eax, eax
jne 0x430aae
mov dword [ebp - 0xc], 0xffffffff
jmp 0x430b11
cmp dword [ebp - 8], 0x1abd5
jne 0x430aff
mov dword [ebp - 0xc], 0xffffffff
jmp 0x430b11
cmp dword [ebp - 8], 0x189cd6
jne 0x430b11
jmp 0x4314eb
cmp dword [ebp - 0xc], 0xffffffff
jne 0x430daf
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0
je 0x430b3a
cmp dword [ebp - 0xc], 5
je 0x430b3a
xor eax, eax
jmp 0x430b3f
mov eax, 1
test eax, eax
je 0x430b81
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
push 0x1ae
push 1
push 0x73
push 1
push dword [0x30]
call fcn.0041b24d
mov dword [ebp - 0xc], 0
inc dword [ebp - 0xc]
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
push 1
push 0x1f4
call fcn.00418388
push 0x80000004
push 0
push 0x1834
push 0x10005
push 0x16010003
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
push 0x1ae
push 0x73
push dword [0x30]
call fcn.0041d934
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x1abd5
je 0x430b22
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
push 1
push 0x1f4
call fcn.00418388
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xf
jne 0x430c53
push 0x80000004
push 0
push 0x1843
push 0x10005
push 0x16012ce3
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
mov dword [ebp - 0xc], 0xffffffff
jmp 0x430ca5
push 0x80000004
push 0
push 0x185a
push 0x10005
push 0x16010003
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
push 0x12c
push 0x179
push dword [0x30]
call fcn.0041d934
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xf4f4f4
jne 0x430bf5
cmp dword [ebp - 0xc], 0xffffffff
je 0x430daf
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0
je 0x430cce
cmp dword [ebp - 0xc], 5
je 0x430cce
xor eax, eax
jmp 0x430cd3
mov eax, 1
test eax, eax
je 0x430d15
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
push 0x14d
push 1
push 0x179
push 1
push dword [0x30]
call fcn.0041b24d
mov dword [ebp - 0xc], 0
inc dword [ebp - 0xc]
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
push 1
push 0x1f4
call fcn.00418388
push 0x80000004
push 0
push 0x1867
push 0x10005
push 0x16010003
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
push 0x12c
push 0x179
push dword [0x30]
call fcn.0041d934
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xf4f4f4
je 0x430cb6
push 0x80000004
push 0
push 0x1872
push 0x10005
push 0x16012ce3
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0
je 0x430dce
cmp dword [ebp - 0xc], 5
je 0x430dce
xor eax, eax
jmp 0x430dd3
mov eax, 1
test eax, eax
je 0x430e15
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
push 0x1ae
push 1
push 0x73
push 1
push dword [0x30]
call fcn.0041b24d
mov dword [ebp - 0xc], 0
inc dword [ebp - 0xc]
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
push 1
push 0x1f4
call fcn.00418388
push 0x80000004
push 0
push 0x1885
push 0x10005
push 0x16010003
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
push 0x1ae
push 0x73
push dword [0x30]
call fcn.0041d934
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x24b562
je 0x430db6
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
push 0x1b1
push 1
push 0x284
push 1
push dword [0x30]
call fcn.0041b24d
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
push 1
push 0x1f4
call fcn.00418388
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
push 0x36
push 1
push 0x2a1
push 1
push dword [0x30]
call fcn.0041b24d
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
push 1
push 0x1f4
call fcn.00418388
push 0x80000004
push 0
push 0x1896
push 0x10005
push 0x16010003
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
push 0x1b1
push 0x284
push dword [0x30]
call fcn.0041d934
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xbc6d18
je 0x430ecd
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
push 1
push 0x3e8
call fcn.00418388
push 0x80000004
push 0
push 0x18a3
push 0x10005
push 0x16010003
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
push 3
call fcn.0042bef8
and eax, 1
xor eax, 1
test eax, eax
jne 0x430f6a
push 0x80000004
push 0
push 0x18b0
push 0x10005
push 0x16012ce3
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
jmp 0x4314eb
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
call fcn.0041433f
mov eax, 0
cmp eax, ecx
jl 0x431015
push 1
call fcn.004b6cbd
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebx], 4
jne 0x4311de
push dword [ebp + 8]
push 4
mov eax, 2
call fcn.004b6ca5
add esp, 8
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov dword [ebp - 0x14], ebx
call fcn.0041433f
mov dword [ebp - 0x18], ecx
sub ecx, 0
jle 0x4310c0
cmp ecx, 1
jle 0x43105e
mov ecx, 1
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
jle 0x4310c0
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov dword [edi], 1
add edi, 4
mov eax, ecx
sub eax, dword [ebp - 0x10]
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x43108c
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x14]
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
mov esi, edi
add esi, eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0
sub ecx, dword [ebp - 0x10]
rep movsd dword es:[edi], dword [esi]
sub edi, dword [ebp - 0x14]
push edi
push dword [ebp - 0x14]
call fcn.004b6cc9
add esp, 8
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
mov eax, dword [ebp - 0x10]
jmp 0x4310c2
xor eax, eax
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0
je 0x4310e1
cmp dword [ebp - 0xc], 5
je 0x4310e1
xor eax, eax
jmp 0x4310e6
mov eax, 1
test eax, eax
je 0x431128
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
push 7
push 1
push 0x27f
push 1
push dword [0x30]
call fcn.0041b24d
mov dword [ebp - 0xc], 0
inc dword [ebp - 0xc]
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
push 1
push 0x1f4
call fcn.00418388
push 0x80000004
push 0
push 0x18cb
push 0x10005
push 0x16010003
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
push 0x44
push 0x2ba
push dword [0x30]
call fcn.0041d934
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xbe7e0a
jne 0x43119a
jmp 0x4311a7
cmp dword [ebp - 4], 0xa3620a
jne 0x4310c9
call fcn.0042dd40
push 0x80000004
push 0
push 0x18d7
push 0x10005
push 0x16012ce3
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
jmp 0x4314eb
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
call fcn.0041433f
mov eax, 0
cmp eax, ecx
jl 0x4311fe
push 1
call fcn.004b6cbd
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebx], 5
jne 0x4314eb
push dword [ebp + 8]
push 4
mov eax, 2
call fcn.004b6ca5
add esp, 8
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov dword [ebp - 0x14], ebx
call fcn.0041433f
mov dword [ebp - 0x18], ecx
sub ecx, 0
jle 0x4312a9
cmp ecx, 1
jle 0x431247
mov ecx, 1
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
jle 0x4312a9
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov dword [edi], 1
add edi, 4
mov eax, ecx
sub eax, dword [ebp - 0x10]
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x431275
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x14]
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
mov esi, edi
add esi, eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0
sub ecx, dword [ebp - 0x10]
rep movsd dword es:[edi], dword [esi]
sub edi, dword [ebp - 0x14]
push edi
push dword [ebp - 0x14]
call fcn.004b6cc9
add esp, 8
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
mov eax, dword [ebp - 0x10]
jmp 0x4312ab
xor eax, eax
mov dword [ebp - 0xc], 0
cmp dword [ebp - 4], 0
je 0x4312ca
cmp dword [ebp - 4], 7
je 0x4312ca
xor eax, eax
jmp 0x4312cf
mov eax, 1
test eax, eax
je 0x43148b
cmp dword [ebp - 4], 7
jne 0x4312fe
call fcn.0042079b
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
push 1
push 0x2bc
call fcn.00418388
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
push 0x1ae
push 1
push 0x45
push 1
push dword [0x30]
call fcn.0041b24d
push 0x80000004
push 0
push 0x18ea
push 0x10005
push 0x16012ce3
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
push 1
push 0x1f4
call fcn.00418388
push 0x189
push 0x139
push dword [0x30]
call fcn.0041d934
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xfcebe1
jne 0x431444
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
push 0x18c
push 1
push 0x17d
push 1
push dword [0x30]
call fcn.0041b24d
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
push 1
push 0x1f4
call fcn.00418388
push 0x189
push 0x139
push dword [0x30]
call fcn.0041d934
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfcebe1
je 0x4313ce
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
push 0x1ae
push 1
push 0x45
push 1
push dword [0x30]
call fcn.0041b24d
mov dword [0x6c], 1
cmp dword [ebp - 0xc], 0x764e1a
jne 0x43135e
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
push 0x18c
push 1
push 0x10a
push 1
push dword [0x30]
call fcn.0041b24d
mov dword [ebp - 4], 0
inc dword [ebp - 4]
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
push 1
push 0x3e8
call fcn.00418388
push 5
call fcn.0042bef8
and eax, 1
xor eax, 1
test eax, eax
jne 0x4312b2
push 0x80000004
push 0
push 0x18f5
push 0x10005
push 0x16012ce3
push 0x52010001
push 2
mov ebx, 0x530
call fcn.004b6cb7
add esp, 0x1c
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
call fcn.0041a638
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x18]
fsub qword [0x18]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
ftst
fnstsw ax
test ah, 1
je 0x431518
fchs
fcomp qword [0x518]
fnstsw ax
test ah, 0x41
je 0x430806
cmp dword [0x6c], 0
je 0x431540
call fcn.0042ee3b
mov dword [0x6c], eax
mov ebx, dword [0x10]
call fcn.0041433f
mov eax, 0xb
cmp eax, ecx
jl 0x431561
push 1
call fcn.004b6cbd
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [0x10]
call fcn.0041433f
mov eax, 0xb
cmp eax, ecx
jl 0x43158a
push 1
call fcn.004b6cbd
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x14], ebx
push 0x80000301
push 0
push dword [0x6c]
push 1
mov ebx, 0x168
call fcn.004b6cb7
add esp, 0x10
mov dword [ebp - 0x18], eax
push 0x174a
push dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
push dword [ebx]
push 0x1758
mov ebx, dword [ebp - 0x10]
push dword [ebx]
push 0x175b
mov ecx, 6
call fcn.0041421f
add esp, 0x18
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4315f0
push ebx
call fcn.004b6cb1
add esp, 4
push 0x80000004
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x431603
mov eax, 0xb
push eax
push 0x10025
push 0x1601782b
push 0x52010001
push 2
mov ebx, 0x6e0
call fcn.004b6cb7
add esp, 0x1c
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x431635
push ebx
call fcn.004b6cb1
add esp, 4
mov esp, ebp
pop ebp
ret 4