Function at 0x536e00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x14
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [esp + 0x24]
mov ecx, edi
mov edx, dword [ecx]
lea eax, [esi + 0xd4]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
push edi
lea ecx, [esi + 0x20]
call fcn.00537ea0
push edi
lea ecx, [esi + 0x2c]
call fcn.00536470
mov ax, word [0x21e9264]
cmp ax, 0x2a30
mov dword [0x6f5b34], 0x3f666666
mov dword [0x6f5b30], 0x3f666666
mov dword [0x6f5b2c], 0x3f666666
mov dword [0x6f5b28], 0x3f0ccccd
mov dword [0x6f5b24], 0x3f0ccccd
mov dword [0x6f5b20], 0x3f266666
jbe 0x536f3d
cmp ax, 0x3138
jae 0x53702f
movzx edx, ax
mov eax, 0x3138
sub eax, edx
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x536ea8
fadd dword [0x6a868c]
fmul dword [0x6b57bc]
fstp dword [esp + 0x14]
fld dword [0x6f5b1c]
fadd dword [esp + 0x14]
fcom dword [0x6f5b18]
fnstsw ax
test ah, 0x41
jne 0x536ed1
fstp st(0)
fld dword [0x6f5b18]
fld dword [esp + 0x14]
fadd dword [0x6b57b8]
fst dword [esp + 0xc]
fld dword [esp + 0xc]
fcomp dword [0x6a95c0]
fnstsw ax
test ah, 0x41
jne 0x536ef8
mov dword [esp + 0xc], 0x3f666666
fst dword [esp + 0x10]
fcomp dword [0x6a95c0]
fnstsw ax
test ah, 0x41
jne 0x536f11
mov dword [esp + 0x10], 0x3f666666
fld dword [esp + 0x14]
fadd dword [str.ff_]
fst dword [esp + 0x14]
fcomp dword [0x6a95c0]
fnstsw ax
test ah, 0x41
jne 0x53704d
mov dword [esp + 0x14], 0x3f666666
jmp 0x53704d
cmp ax, 0x3138
jae 0x53702f
cmp ax, 0x708
jbe 0x53702f
cmp ax, 0xe10
jae 0x53700f
movzx ecx, ax
mov edx, 0xe10
sub edx, ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x536f77
fadd dword [0x6a868c]
fmul dword [0x6b57bc]
fld dword [0x6a92f8]
fsub st(1)
fstp dword [esp + 0x14]
fstp st(0)
fld dword [esp + 0x14]
fadd dword [0x6f5b1c]
fcom dword [0x6f5b18]
fnstsw ax
test ah, 0x41
jne 0x536faa
fstp st(0)
fld dword [0x6f5b18]
fld dword [esp + 0x14]
fadd dword [0x6b57b8]
fst dword [esp + 0xc]
fld dword [esp + 0xc]
fcomp dword [0x6a95c0]
fnstsw ax
test ah, 0x41
jne 0x536fd1
mov dword [esp + 0xc], 0x3f666666
fst dword [esp + 0x10]
fcomp dword [0x6a95c0]
fnstsw ax
test ah, 0x41
jne 0x536fea
mov dword [esp + 0x10], 0x3f666666
fld dword [esp + 0x14]
fadd dword [str.ff_]
fst dword [esp + 0x14]
fcomp dword [0x6a95c0]
fnstsw ax
test ah, 0x41
jne 0x53704d
mov dword [esp + 0x14], 0x3f666666
jmp 0x53704d
fld dword [0x6f5b18]
mov dword [esp + 0xc], 0x3f666666
mov dword [esp + 0x10], 0x3f666666
mov dword [esp + 0x14], 0x3f666666
jmp 0x53704d
fld dword [0x6f5b1c]
mov dword [esp + 0xc], 0x3f0ccccd
mov dword [esp + 0x10], 0x3f0ccccd
mov dword [esp + 0x14], 0x3f266666
fld dword [0x21f8bfc]
xor ebx, ebx
fcomp dword [0x6a867c]
fnstsw ax
test ah, 0x41
jp 0x537127
cmp byte [0x7095e9], bl
jne 0x537127
mov dword [0x21f4360], 0x3ec2c2bd
fstp st(0)
mov dword [0x21f42dc], 0x2608289
mov dword [0x21f4370], 0x3ec2c2bd
mov dword [0x21f4374], 0x3f028284
mov dword [0x21f4364], 0x3f028284
mov dword [0x21f4378], 0x3f09898b
mov dword [0x21f4368], 0x3f09898b
mov dword [esi + 4], ebx
mov dword [esi + 0xe0], 0x3c23d70a
fld dword [0x21f4360]
fmul dword [0x6a961c]
call fcn.005ba9a8
fld dword [0x21f4364]
fmul dword [0x6a961c]
mov edi, eax
and edi, 0xff
or edi, 0x200
shl edi, 8
call fcn.005ba9a8
fld dword [0x21f4368]
fmul dword [0x6a961c]
and eax, 0xff
or edi, eax
shl edi, 8
call fcn.005ba9a8
and eax, 0xff
or edi, eax
mov dword [esi + 0xe4], edi
jmp 0x537271
fld dword [esp + 0x14]
mov eax, dword [esp + 0xc]
fld dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
fcomp dword [0x6a95b8]
mov edx, dword [esp + 0x14]
mov dword [0x21f4360], eax
mov dword [esp + 0x18], eax
mov dword [0x21f4370], 0x3f800000
fnstsw ax
mov dword [0x21f4364], ecx
mov dword [0x21f4374], 0x3f800000
test ah, 0x41
mov dword [0x21f4368], edx
mov dword [0x21f4378], 0x3f800000
mov dword [esp + 0x1c], ecx
jne 0x537187
mov dword [esp + 0x18], 0x3f000000
fld dword [esp + 0x10]
fcomp dword [0x6a95b8]
fnstsw ax
test ah, 0x41
jne 0x5371a0
mov dword [esp + 0x1c], 0x3f000000
fld dword [esp + 0x14]
fcomp dword [0x6a95b8]
fnstsw ax
test ah, 0x41
jne 0x5371b9
fstp st(0)
fld dword [0x6a95b8]
fld st(1)
push ebp
fmul dword [0x6a961c]
call fcn.005ba9a8
fld dword [esp + 0x1c]
fmul dword [0x6a961c]
mov edi, eax
shl edi, 8
call fcn.005ba9a8
fld dword [esp + 0x20]
fmul dword [0x6a961c]
mov ebp, eax
and ebp, 0xff
or ebp, edi
shl ebp, 8
call fcn.005ba9a8
fmul dword [0x6a961c]
and eax, 0xff
or ebp, eax
shl ebp, 8
call fcn.005ba9a8
and eax, 0xff
or ebp, eax
mov dword [0x21f42dc], ebp
fstp dword [esi + 0xe0]
fld dword [esp + 0x10]
fmul dword [0x6a961c]
call fcn.005ba9a8
fld dword [esp + 0x14]
fmul dword [0x6a961c]
mov ebp, eax
and ebp, 0xff
or ebp, edi
shl ebp, 8
call fcn.005ba9a8
fld dword [esp + 0x18]
fmul dword [0x6a961c]
and eax, 0xff
or ebp, eax
shl ebp, 8
call fcn.005ba9a8
and eax, 0xff
or ebp, eax
mov dword [esi + 0xe4], ebp
pop ebp
mov ax, word [0x21e9264]
cmp ax, 0x3138
ja 0x53728c
cmp ax, 0x7d0
jb 0x53728c
mov dword [esi + 4], 1
jmp 0x53728f
mov dword [esi + 4], ebx
fld dword [0x6a867c]
mov edi, 0x50ffffff
fld dword [0x6f5ad4]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x537443
mov eax, dword [esi + 8]
mov edx, dword [eax]
push 0x2000
lea ecx, [esp + 0x28]
push ecx
push ebx
push ebx
push eax
call dword [edx + 0x2c]
fld dword [0x6f5acc]
fmul dword [0x705f54]
mov edx, dword [esp + 0x24]
mov dword [edx + 0x3c], edi
mov eax, dword [esp + 0x24]
fld st(0)
fadd dword [eax + 0x40]
fstp dword [eax + 0x40]
mov ecx, dword [esp + 0x24]
fld dword [ecx + 0x40]
fcomp dword [0x6f5af4]
fnstsw ax
test ah, 0x41
jne 0x537305
fld dword [ecx + 0x40]
fsub dword [0x6f5af4]
fstp dword [ecx + 0x40]
mov ecx, dword [esp + 0x24]
fld st(0)
fadd dword [ecx + 0x44]
fstp dword [ecx + 0x44]
mov ecx, dword [esp + 0x24]
fld dword [ecx + 0x44]
fcomp dword [0x6f5af4]
fnstsw ax
test ah, 0x41
jne 0x537331
fld dword [ecx + 0x44]
fsub dword [0x6f5af4]
fstp dword [ecx + 0x44]
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x54], edi
fld st(0)
mov eax, dword [esp + 0x24]
fadd dword [eax + 0x58]
fstp dword [eax + 0x58]
mov ecx, dword [esp + 0x24]
fld dword [0x6f5af4]
fadd st(0), st(0)
fcom dword [ecx + 0x58]
fnstsw ax
test ah, 5
jp 0x537366
fld dword [ecx + 0x58]
fsub dword [0x6f5af4]
fstp dword [ecx + 0x58]
mov ecx, dword [esp + 0x24]
fld st(1)
fadd dword [ecx + 0x5c]
fstp dword [ecx + 0x5c]
mov ecx, dword [esp + 0x24]
fld dword [ecx + 0x5c]
fcomp dword [0x6f5af4]
fnstsw ax
test ah, 0x41
jne 0x537392
fld dword [ecx + 0x5c]
fsub dword [0x6f5af4]
fstp dword [ecx + 0x5c]
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0xc], edi
fld st(1)
mov eax, dword [esp + 0x24]
fadd dword [eax + 0x10]
fstp dword [eax + 0x10]
mov ecx, dword [esp + 0x24]
fld dword [ecx + 0x10]
fcomp dword [0x6f5af4]
fnstsw ax
test ah, 0x41
jne 0x5373c5
fld dword [ecx + 0x10]
fsub dword [0x6f5af4]
fstp dword [ecx + 0x10]
mov ecx, dword [esp + 0x24]
fld st(1)
fadd dword [ecx + 0x14]
fstp dword [ecx + 0x14]
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x14]
fnstsw ax
test ah, 5
jp 0x5373eb
fld dword [ecx + 0x14]
fsub dword [0x6f5af4]
fstp dword [ecx + 0x14]
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x24], edi
fld st(1)
mov eax, dword [esp + 0x24]
fadd dword [eax + 0x28]
fstp dword [eax + 0x28]
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x28]
fnstsw ax
test ah, 5
jp 0x537418
fld dword [ecx + 0x28]
fsub dword [0x6f5af4]
fstp dword [ecx + 0x28]
mov ecx, dword [esp + 0x24]
fxch st(1)
fadd dword [ecx + 0x2c]
fstp dword [ecx + 0x2c]
mov ecx, dword [esp + 0x24]
fcomp dword [ecx + 0x2c]
fnstsw ax
test ah, 5
jp 0x53743a
fld dword [ecx + 0x2c]
fsub dword [0x6f5af4]
fstp dword [ecx + 0x2c]
mov eax, dword [esi + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
fld dword [0x6a867c]
fld dword [0x6f5ad8]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x5375f2
mov eax, dword [esi + 0xc]
mov edx, dword [eax]
push 0x2000
lea ecx, [esp + 0x28]
push ecx
push ebx
push ebx
push eax
call dword [edx + 0x2c]
fld dword [0x6f5ad0]
fmul dword [0x705f54]
mov edx, dword [esp + 0x24]
mov dword [edx + 0x3c], edi
mov eax, dword [esp + 0x24]
fld st(0)
fadd dword [eax + 0x40]
fstp dword [eax + 0x40]
mov ecx, dword [esp + 0x24]
fld dword [ecx + 0x40]
fcomp dword [0x6f5af8]
fnstsw ax
test ah, 0x41
jne 0x5374b4
fld dword [ecx + 0x40]
fsub dword [0x6f5af8]
fstp dword [ecx + 0x40]
mov ecx, dword [esp + 0x24]
fld st(0)
fadd dword [ecx + 0x44]
fstp dword [ecx + 0x44]
mov ecx, dword [esp + 0x24]
fld dword [ecx + 0x44]
fcomp dword [0x6f5af8]
fnstsw ax
test ah, 0x41
jne 0x5374e0
fld dword [ecx + 0x44]
fsub dword [0x6f5af8]
fstp dword [ecx + 0x44]
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x54], edi
fld st(0)
mov eax, dword [esp + 0x24]
fadd dword [eax + 0x58]
fstp dword [eax + 0x58]
mov ecx, dword [esp + 0x24]
fld dword [0x6f5af8]
fadd st(0), st(0)
fcom dword [ecx + 0x58]
fnstsw ax
test ah, 5
jp 0x537515
fld dword [ecx + 0x58]
fsub dword [0x6f5af8]
fstp dword [ecx + 0x58]
mov ecx, dword [esp + 0x24]
fld st(1)
fadd dword [ecx + 0x5c]
fstp dword [ecx + 0x5c]
mov ecx, dword [esp + 0x24]
fld dword [ecx + 0x5c]
fcomp dword [0x6f5af8]
fnstsw ax
test ah, 0x41
jne 0x537541
fld dword [ecx + 0x5c]
fsub dword [0x6f5af8]
fstp dword [ecx + 0x5c]
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0xc], edi
fld st(1)
mov eax, dword [esp + 0x24]
fadd dword [eax + 0x10]
fstp dword [eax + 0x10]
mov ecx, dword [esp + 0x24]
fld dword [ecx + 0x10]
fcomp dword [0x6f5af8]
fnstsw ax
test ah, 0x41
jne 0x537574
fld dword [ecx + 0x10]
fsub dword [0x6f5af8]
fstp dword [ecx + 0x10]
mov ecx, dword [esp + 0x24]
fld st(1)
fadd dword [ecx + 0x14]
fstp dword [ecx + 0x14]
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x14]
fnstsw ax
test ah, 5
jp 0x53759a
fld dword [ecx + 0x14]
fsub dword [0x6f5af8]
fstp dword [ecx + 0x14]
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x24], edi
fld st(1)
mov eax, dword [esp + 0x24]
fadd dword [eax + 0x28]
fstp dword [eax + 0x28]
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x28]
fnstsw ax
test ah, 5
jp 0x5375c7
fld dword [ecx + 0x28]
fsub dword [0x6f5af8]
fstp dword [ecx + 0x28]
mov ecx, dword [esp + 0x24]
fxch st(1)
fadd dword [ecx + 0x2c]
fstp dword [ecx + 0x2c]
mov ecx, dword [esp + 0x24]
fcomp dword [ecx + 0x2c]
fnstsw ax
test ah, 5
jp 0x5375e9
fld dword [ecx + 0x2c]
fsub dword [0x6f5af8]
fstp dword [ecx + 0x2c]
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
mov ecx, dword [0x705814]
mov edx, dword [ecx]
push 0x25
call dword [edx + 4]
test al, al
je 0x5379f9
cmp dword [esi + 0x28], ebx
jne 0x53780f
cmp dword [esi + 0x34], ebx
jne 0x53780f
fld dword [esi + 0xf4]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 1
jne 0x537644
fld dword [0x705f54]
fmul dword [0x6ab4b0]
fsubr dword [esi + 0xf4]
fstp dword [esi + 0xf4]
fld dword [esi + 0xf4]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 5
jp 0x53765d
mov dword [esi + 0xf4], ebx
fld dword [esi + 0xf8]
fcomp dword [0x705d84]
fnstsw ax
test ah, 5
jp 0x537688
fld dword [0x705f54]
fmul dword [0x6a9720]
fadd dword [esi + 0xf8]
fstp dword [esi + 0xf8]
fld dword [esi + 0xf8]
fcomp dword [0x705d84]
fnstsw ax
test ah, 1
jne 0x5376a6
mov eax, dword [0x705d84]
mov dword [esi + 0xf8], eax
fld dword [esi + 0xfc]
fsub dword [0x6adc5c]
fmul dword [0x705f54]
fmul dword [0x6ab4b0]
fstp dword [esp + 0x14]
fld dword [esi + 0x100]
fsub dword [0x6adc5c]
fmul dword [0x705f54]
fmul dword [0x6ab4b0]
fstp dword [esp + 0x10]
fld dword [esi + 0x104]
fsub dword [0x6adc5c]
fmul dword [0x705f54]
fmul dword [0x6ab4b0]
fld dword [0x705f54]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 0x41
jne 0x537721
fstp st(0)
mov dword [esp + 0x14], 0x3dcccccd
fld dword [0x6a960c]
mov dword [esp + 0x10], 0x3dcccccd
fld dword [esi + 0x10c]
call fcn.005ba9a8
fld dword [esi + 0xfc]
mov bl, al
call fcn.005ba9a8
cmp bl, al
jne 0x537745
mov dword [esp + 0x14], 0
fld dword [esi + 0x110]
call fcn.005ba9a8
fld dword [esi + 0x100]
mov bl, al
call fcn.005ba9a8
cmp bl, al
jne 0x537769
mov dword [esp + 0x10], 0
fld dword [esi + 0x114]
call fcn.005ba9a8
fld dword [esi + 0x104]
mov bl, al
call fcn.005ba9a8
cmp bl, al
jne 0x53778d
fstp st(0)
fld dword [0x6a867c]
fld dword [esp + 0x14]
fadd dword [esi + 0x10c]
fst dword [esp + 0x1c]
fstp dword [esi + 0x10c]
fld dword [esp + 0x10]
fadd dword [esi + 0x110]
fst dword [esp + 0x18]
fstp dword [esi + 0x110]
fadd dword [esi + 0x114]
fst dword [esi + 0x114]
fld dword [esp + 0x1c]
call fcn.005ba9a8
fld dword [esp + 0x18]
movzx edi, al
or edi, 0xffffff00
shl edi, 8
call fcn.005ba9a8
movzx ecx, al
or edi, ecx
shl edi, 8
call fcn.005ba9a8
movzx edx, al
mov eax, dword [0x21f3f98]
or edi, edx
push edi
push 0x22
mov dword [0x21f42e0], edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0xe4]
xor ebx, ebx
jmp 0x5379da
fld dword [esi + 0xf4]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 5
jp 0x53783a
fld dword [0x705f54]
fmul dword [0x6ab4b0]
fadd dword [esi + 0xf4]
fstp dword [esi + 0xf4]
fld dword [esi + 0xf4]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 1
jne 0x537857
mov dword [esi + 0xf4], 0x3f800000
fld dword [esi + 0xf8]
fcomp dword [0x6a9608]
fnstsw ax
test ah, 0x41
jne 0x537882
fld dword [0x705f54]
fmul dword [0x6a9720]
fsubr dword [esi + 0xf8]
fstp dword [esi + 0xf8]
fld dword [esi + 0xf8]
fcomp dword [0x6a9608]
fnstsw ax
test ah, 0x41
jp 0x53789f
mov dword [esi + 0xf8], 0x41a00000
fld dword [0x6adc5c]
fsub dword [esi + 0xfc]
fmul dword [0x705f54]
fmul dword [0x6ab4b0]
fstp dword [esp + 0x14]
fld dword [0x6adc5c]
fsub dword [esi + 0x100]
fmul dword [0x705f54]
fmul dword [0x6ab4b0]
fstp dword [esp + 0x10]
fld dword [0x6adc5c]
fsub dword [esi + 0x104]
fmul dword [0x705f54]
fmul dword [0x6ab4b0]
fld dword [0x705f54]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 0x41
jne 0x53791a
fstp st(0)
mov dword [esp + 0x14], 0x3dcccccd
fld dword [0x6a960c]
mov dword [esp + 0x10], 0x3dcccccd
fld dword [esi + 0x10c]
call fcn.005ba9a8
cmp al, 0x4b
jne 0x537931
mov dword [esp + 0x14], 0
fld dword [esi + 0x110]
call fcn.005ba9a8
cmp al, 0x4b
jne 0x537948
mov dword [esp + 0x10], 0
fld dword [esi + 0x114]
call fcn.005ba9a8
cmp al, 0x4b
jne 0x53795f
fstp st(0)
fld dword [0x6a867c]
fld dword [esp + 0x14]
fadd dword [esi + 0x10c]
fst dword [esp + 0x1c]
fstp dword [esi + 0x10c]
fld dword [esp + 0x10]
fadd dword [esi + 0x110]
fst dword [esp + 0x18]
fstp dword [esi + 0x110]
fadd dword [esi + 0x114]
fst dword [esi + 0x114]
fld dword [esp + 0x1c]
call fcn.005ba9a8
fld dword [esp + 0x18]
movzx edi, al
or edi, 0xffffff00
shl edi, 8
call fcn.005ba9a8
movzx edx, al
or edi, edx
shl edi, 8
call fcn.005ba9a8
movzx eax, al
or edi, eax
mov eax, dword [0x21f3f98]
push edi
push 0x22
mov dword [0x21f42e0], edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0xe4]
mov eax, dword [esi + 0x14]
add esi, 0x14
cmp eax, ebx
jne 0x5379f9
mov edx, dword [0x21f3f98]
push esi
push 0x6b579c
push edx
call fcn.0040bfa0
add esp, 0xc
pop edi
pop esi
pop ebx
add esp, 0x14
ret 4