Function at 0x425710
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
or ebx, 0xffffffff
add dword [0x44259c], ebx
mov eax, dword [0x43ded8]
mov ecx, dword [0x44259c]
push esi
mov esi, dword [ebp + 8]
sub eax, ecx
mov dword [0x43ded8], eax
push edi
mov edi, dword [ebp + 0x10]
mov dword [0x43e6f4], 0xfdff17fc
add dword [0x4475c4], 0xcbfd5b34
cmp esi, edi
jne 0x4257ef
fld dword [0x47a72c]
fmul dword [0x478740]
fld dword [0x47e25c]
fmul dword [0x47b8c0]
fadd qword [0x4511f8]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x425783
xor dword [0x448e7c], 0xf4492b48
mov eax, dword [0x443cf8]
add dword [0x443cf8], ebx
mov edx, dword [ebp + 0xc]
xor eax, 0xac81fa3b
cmp eax, 0xb7620052
jg 0x4257c7
fld dword [0x47bf28]
fmul dword [0x47a384]
fadd dword [0x47fcc4]
fstp dword [0x47fcc4]
fld dword [0x47bf28]
fadd qword [0x43b0b0]
fstp dword [0x47bf28]
mov eax, dword [0x441a6c]
mov edi, dword [0x448264]
add eax, 0xd553d412
add edi, eax
mov dword [0x441a6c], edi
add dword [0x449350], 0x72052f96
mov ecx, esi
mov edi, edx
jmp 0x4257f2
mov ecx, dword [ebp + 0xc]
add dword [0x4476f4], ebx
mov edx, dword [0x4476f4]
or edx, 0x21fe4172
cmp edx, 0x24f57370
jg 0x425820
mov ax, word [0x46d226]
cwde
xor dword [0x446444], eax
inc word [0x46d226]
cmp esi, ecx
je 0x425836
push ecx
push esi
call fcn.00404260
add esp, 8
test eax, eax
jne 0x425ac0
movzx ecx, word [0x46a0da]
and ecx, 0x64811180
mov word [0x46a0da], cx
mov ebx, dword [edi + 4]
sub ebx, 1
js 0x425865
mov edx, dword [edi + 8]
lea eax, [edx + ebx*4]
cmp dword [eax], 0
jne 0x425865
dec ebx
sub eax, 4
test ebx, ebx
jge 0x425858
add dword [0x441b60], 0x1819af05
lea eax, [ebx + 1]
push eax
push esi
mov dword [ebp + 0xc], eax
call fcn.004273c0
add esp, 8
mov dword [ebp + 0x10], eax
test eax, eax
jne 0x425ac0
add dword [0x441388], 0x15ba1a16
mov ecx, dword [0x43d454]
mov edi, dword [edi + 8]
dec dword [0x43d454]
cmp ecx, 0x7f2194fc
jle 0x4258b5
or dword [0x43ea6c], 0x20411806
movzx edx, word [0x46d78e]
mov ecx, dword [esi + 8]
movsx edx, dx
xor edx, 0xe6b77a2a
or dword [0x4439c0], edx
movzx edx, word [0x46fd24]
movsx edx, dx
not edx
or edx, 0xf5383dff
xor dword [0x4455a0], edx
xor esi, esi
test ebx, ebx
jl 0x425aa8
mov ebx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ebx
jmp 0x425900
add dword [0x44a910], 0xffeeb6ff
add dword [ecx], esi
mov eax, dword [0x448808]
mov edx, dword [0x445a34]
xor eax, edx
mov dword [0x448808], eax
cmp dword [ecx], esi
mov eax, dword [0x445c10]
sbb esi, esi
imul eax, eax, 0x33e2edc9
mov edx, 0x2a0a0864
sub edx, eax
xor dword [0x4435cc], edx
mov edx, dword [edi]
add dword [ecx], edx
mov ax, word [0x470822]
movsx edx, ax
mov eax, dword [0x441e60]
sub edx, eax
add edx, 0x4856af09
mov word [0x470822], dx
dec dword [0x441e60]
mov edx, dword [ecx]
neg esi
cmp edx, dword [edi]
mov edx, dword [0x447290]
sbb eax, eax
imul edx, edx, 0xa0a9a9a2
xor dword [0x44a4e4], edx
neg eax
add esi, eax
add edi, 4
add ecx, 4
sub ebx, 1
jne 0x425900
mov eax, dword [ebp + 0x10]
test esi, esi
je 0x425aa8
lea esp, [esp]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
add dword [0x443840], 0x12002240
cmp ebx, dword [edi + 4]
jl 0x425a00
add dword [0x443cf8], 0xe3359f4f
lea ecx, [ebx + 1]
push ecx
push edi
call fcn.004273c0
add esp, 8
test eax, eax
jne 0x425ac0
fld dword [0x47b908]
fadd qword [0x4600c0]
fstp dword [0x47b908]
mov edx, dword [edi + 8]
lea ecx, [edx + ebx*4]
mov dx, word [0x46a31e]
movsx edx, dx
sar edx, 5
mov word [0x46a944], dx
movzx edx, word [0x46b83c]
or edx, 0xf3bd77dd
mov word [0x46b83c], dx
add dword [ecx], esi
mov edx, dword [0x448ebc]
mov edi, dword [0x442058]
imul edx, edx, 0x16743436
sub edi, edx
movzx edx, word [0x46abe2]
and edx, edi
mov word [0x46abe2], dx
or edx, 0xffffffff
add dword [0x442058], edx
add dword [0x448ebc], edx
cmp dword [ecx], esi
sbb esi, esi
add dword [0x445e80], edx
movzx edx, word [0x470aec]
mov edi, dword [0x445e80]
movsx edx, dx
sub edx, edi
or edx, 0xfffadb1a
neg esi
cmp edx, 0xbd361b06
jne 0x425a7f
xor dword [0x449c50], 0xe488e043
mov edx, dword [0x43d590]
mov edi, dword [0x4435d0]
sar edx, 3
xor edi, edx
inc ebx
xor edi, 0x604861ab
mov dword [ebp + 0xc], ebx
mov dword [0x4435d0], edi
test esi, esi
jne 0x4259a0
fld dword [0x472e50]
fadd qword [0x460290]
fmul dword [0x4734f8]
fstp dword [0x4734f8]
pop edi
pop esi
pop ebx
pop ebp
ret