Function at 0x53c1a0
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.0053d240
push edi
lea ecx, [esi + 0x2c]
call fcn.0053b820
mov ax, word [0x21e6f2c]
cmp ax, 0x2a30
mov dword [0x6f5e1c], 0x3f666666
mov dword [0x6f5e18], 0x3f666666
mov dword [0x6f5e14], 0x3f666666
mov dword [0x6f5e10], 0x3f0ccccd
mov dword [0x6f5e0c], 0x3f0ccccd
mov dword [0x6f5e08], 0x3f266666
jbe 0x53c2dd
cmp ax, 0x3138
jae 0x53c3cf
movzx edx, ax
mov eax, 0x3138
sub eax, edx
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x53c248
fadd dword [0x6a760c]
fmul dword [0x6b4944]
fstp dword [esp + 0x14]
fld dword [0x6f5e04]
fadd dword [esp + 0x14]
fcom dword [0x6f5e00]
fnstsw ax
test ah, 0x41
jne 0x53c271
fstp st(0)
fld dword [0x6f5e00]
fld dword [esp + 0x14]
fadd dword [0x6b4940]
fst dword [esp + 0xc]
fld dword [esp + 0xc]
fcomp dword [0x6a84d8]
fnstsw ax
test ah, 0x41
jne 0x53c298
mov dword [esp + 0xc], 0x3f666666
fst dword [esp + 0x10]
fcomp dword [0x6a84d8]
fnstsw ax
test ah, 0x41
jne 0x53c2b1
mov dword [esp + 0x10], 0x3f666666
fld dword [esp + 0x14]
fadd dword [str.ff_]
fst dword [esp + 0x14]
fcomp dword [0x6a84d8]
fnstsw ax
test ah, 0x41
jne 0x53c3ed
mov dword [esp + 0x14], 0x3f666666
jmp 0x53c3ed
cmp ax, 0x3138
jae 0x53c3cf
cmp ax, 0x708
jbe 0x53c3cf
cmp ax, 0xe10
jae 0x53c3af
movzx ecx, ax
mov edx, 0xe10
sub edx, ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x53c317
fadd dword [0x6a760c]
fmul dword [0x6b4944]
fld dword [0x6a8210]
fsub st(1)
fstp dword [esp + 0x14]
fstp st(0)
fld dword [esp + 0x14]
fadd dword [0x6f5e04]
fcom dword [0x6f5e00]
fnstsw ax
test ah, 0x41
jne 0x53c34a
fstp st(0)
fld dword [0x6f5e00]
fld dword [esp + 0x14]
fadd dword [0x6b4940]
fst dword [esp + 0xc]
fld dword [esp + 0xc]
fcomp dword [0x6a84d8]
fnstsw ax
test ah, 0x41
jne 0x53c371
mov dword [esp + 0xc], 0x3f666666
fst dword [esp + 0x10]
fcomp dword [0x6a84d8]
fnstsw ax
test ah, 0x41
jne 0x53c38a
mov dword [esp + 0x10], 0x3f666666
fld dword [esp + 0x14]
fadd dword [str.ff_]
fst dword [esp + 0x14]
fcomp dword [0x6a84d8]
fnstsw ax
test ah, 0x41
jne 0x53c3ed
mov dword [esp + 0x14], 0x3f666666
jmp 0x53c3ed
fld dword [0x6f5e00]
mov dword [esp + 0xc], 0x3f666666
mov dword [esp + 0x10], 0x3f666666
mov dword [esp + 0x14], 0x3f666666
jmp 0x53c3ed
fld dword [0x6f5e04]
mov dword [esp + 0xc], 0x3f0ccccd
mov dword [esp + 0x10], 0x3f0ccccd
mov dword [esp + 0x14], 0x3f266666
fld dword [0x21f68d4]
xor ebx, ebx
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jp 0x53c4c7
cmp byte [0x7072a9], bl
jne 0x53c4c7
mov dword [0x21f2038], 0x3ec2c2bd
fstp st(0)
mov dword [0x21f1fb4], 0x2608289
mov dword [0x21f2048], 0x3ec2c2bd
mov dword [0x21f204c], 0x3f028284
mov dword [0x21f203c], 0x3f028284
mov dword [0x21f2050], 0x3f09898b
mov dword [0x21f2040], 0x3f09898b
mov dword [esi + 4], ebx
mov dword [esi + 0xe0], 0x3c23d70a
fld dword [0x21f2038]
fmul dword [0x6a8534]
call fcn.005b8b18
fld dword [0x21f203c]
fmul dword [0x6a8534]
mov edi, eax
and edi, 0xff
or edi, 0x200
shl edi, 8
call fcn.005b8b18
fld dword [0x21f2040]
fmul dword [0x6a8534]
and eax, 0xff
or edi, eax
shl edi, 8
call fcn.005b8b18
and eax, 0xff
or edi, eax
mov dword [esi + 0xe4], edi
jmp 0x53c611
fld dword [esp + 0x14]
mov eax, dword [esp + 0xc]
fld dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
fcomp dword [0x6a84d0]
mov edx, dword [esp + 0x14]
mov dword [0x21f2038], eax
mov dword [esp + 0x18], eax
mov dword [0x21f2048], 0x3f800000
fnstsw ax
mov dword [0x21f203c], ecx
mov dword [0x21f204c], 0x3f800000
test ah, 0x41
mov dword [0x21f2040], edx
mov dword [0x21f2050], 0x3f800000
mov dword [esp + 0x1c], ecx
jne 0x53c527
mov dword [esp + 0x18], 0x3f000000
fld dword [esp + 0x10]
fcomp dword [0x6a84d0]
fnstsw ax
test ah, 0x41
jne 0x53c540
mov dword [esp + 0x1c], 0x3f000000
fld dword [esp + 0x14]
fcomp dword [0x6a84d0]
fnstsw ax
test ah, 0x41
jne 0x53c559
fstp st(0)
fld dword [0x6a84d0]
fld st(1)
push ebp
fmul dword [0x6a8534]
call fcn.005b8b18
fld dword [esp + 0x1c]
fmul dword [0x6a8534]
mov edi, eax
shl edi, 8
call fcn.005b8b18
fld dword [esp + 0x20]
fmul dword [0x6a8534]
mov ebp, eax
and ebp, 0xff
or ebp, edi
shl ebp, 8
call fcn.005b8b18
fmul dword [0x6a8534]
and eax, 0xff
or ebp, eax
shl ebp, 8
call fcn.005b8b18
and eax, 0xff
or ebp, eax
mov dword [0x21f1fb4], ebp
fstp dword [esi + 0xe0]
fld dword [esp + 0x10]
fmul dword [0x6a8534]
call fcn.005b8b18
fld dword [esp + 0x14]
fmul dword [0x6a8534]
mov ebp, eax
and ebp, 0xff
or ebp, edi
shl ebp, 8
call fcn.005b8b18
fld dword [esp + 0x18]
fmul dword [0x6a8534]
and eax, 0xff
or ebp, eax
shl ebp, 8
call fcn.005b8b18
and eax, 0xff
or ebp, eax
mov dword [esi + 0xe4], ebp
pop ebp
mov ax, word [0x21e6f2c]
cmp ax, 0x3138
ja 0x53c62c
cmp ax, 0x7d0
jb 0x53c62c
mov dword [esi + 4], 1
jmp 0x53c62f
mov dword [esi + 4], ebx
fld dword [0x6a75fc]
mov edi, 0x50ffffff
fld dword [0x6f5dbc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x53c7e3
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 [0x6f5db4]
fmul dword [0x703c14]
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 [0x6f5ddc]
fnstsw ax
test ah, 0x41
jne 0x53c6a5
fld dword [ecx + 0x40]
fsub dword [0x6f5ddc]
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 [0x6f5ddc]
fnstsw ax
test ah, 0x41
jne 0x53c6d1
fld dword [ecx + 0x44]
fsub dword [0x6f5ddc]
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 [0x6f5ddc]
fadd st(0), st(0)
fcom dword [ecx + 0x58]
fnstsw ax
test ah, 5
jp 0x53c706
fld dword [ecx + 0x58]
fsub dword [0x6f5ddc]
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 [0x6f5ddc]
fnstsw ax
test ah, 0x41
jne 0x53c732
fld dword [ecx + 0x5c]
fsub dword [0x6f5ddc]
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 [0x6f5ddc]
fnstsw ax
test ah, 0x41
jne 0x53c765
fld dword [ecx + 0x10]
fsub dword [0x6f5ddc]
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 0x53c78b
fld dword [ecx + 0x14]
fsub dword [0x6f5ddc]
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 0x53c7b8
fld dword [ecx + 0x28]
fsub dword [0x6f5ddc]
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 0x53c7da
fld dword [ecx + 0x2c]
fsub dword [0x6f5ddc]
fstp dword [ecx + 0x2c]
mov eax, dword [esi + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
fld dword [0x6a75fc]
fld dword [0x6f5dc0]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x53c992
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 [0x6f5db8]
fmul dword [0x703c14]
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 [0x6f5de0]
fnstsw ax
test ah, 0x41
jne 0x53c854
fld dword [ecx + 0x40]
fsub dword [0x6f5de0]
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 [0x6f5de0]
fnstsw ax
test ah, 0x41
jne 0x53c880
fld dword [ecx + 0x44]
fsub dword [0x6f5de0]
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 [0x6f5de0]
fadd st(0), st(0)
fcom dword [ecx + 0x58]
fnstsw ax
test ah, 5
jp 0x53c8b5
fld dword [ecx + 0x58]
fsub dword [0x6f5de0]
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 [0x6f5de0]
fnstsw ax
test ah, 0x41
jne 0x53c8e1
fld dword [ecx + 0x5c]
fsub dword [0x6f5de0]
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 [0x6f5de0]
fnstsw ax
test ah, 0x41
jne 0x53c914
fld dword [ecx + 0x10]
fsub dword [0x6f5de0]
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 0x53c93a
fld dword [ecx + 0x14]
fsub dword [0x6f5de0]
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 0x53c967
fld dword [ecx + 0x28]
fsub dword [0x6f5de0]
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 0x53c989
fld dword [ecx + 0x2c]
fsub dword [0x6f5de0]
fstp dword [ecx + 0x2c]
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
mov ecx, dword [0x7034d4]
mov edx, dword [ecx]
push 0x25
call dword [edx + 4]
test al, al
je 0x53cd99
cmp dword [esi + 0x28], ebx
jne 0x53cbaf
cmp dword [esi + 0x34], ebx
jne 0x53cbaf
fld dword [esi + 0xf4]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 1
jne 0x53c9e4
fld dword [0x703c14]
fmul dword [0x6aa3c8]
fsubr dword [esi + 0xf4]
fstp dword [esi + 0xf4]
fld dword [esi + 0xf4]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 5
jp 0x53c9fd
mov dword [esi + 0xf4], ebx
fld dword [esi + 0xf8]
fcomp dword [0x703a44]
fnstsw ax
test ah, 5
jp 0x53ca28
fld dword [0x703c14]
fmul dword [0x6a8638]
fadd dword [esi + 0xf8]
fstp dword [esi + 0xf8]
fld dword [esi + 0xf8]
fcomp dword [0x703a44]
fnstsw ax
test ah, 1
jne 0x53ca46
mov eax, dword [0x703a44]
mov dword [esi + 0xf8], eax
fld dword [esi + 0xfc]
fsub dword [0x6acbe8]
fmul dword [0x703c14]
fmul dword [0x6aa3c8]
fstp dword [esp + 0x14]
fld dword [esi + 0x100]
fsub dword [0x6acbe8]
fmul dword [0x703c14]
fmul dword [0x6aa3c8]
fstp dword [esp + 0x10]
fld dword [esi + 0x104]
fsub dword [0x6acbe8]
fmul dword [0x703c14]
fmul dword [0x6aa3c8]
fld dword [0x703c14]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 0x41
jne 0x53cac1
fstp st(0)
mov dword [esp + 0x14], 0x3dcccccd
fld dword [0x6a8524]
mov dword [esp + 0x10], 0x3dcccccd
fld dword [esi + 0x10c]
call fcn.005b8b18
fld dword [esi + 0xfc]
mov bl, al
call fcn.005b8b18
cmp bl, al
jne 0x53cae5
mov dword [esp + 0x14], 0
fld dword [esi + 0x110]
call fcn.005b8b18
fld dword [esi + 0x100]
mov bl, al
call fcn.005b8b18
cmp bl, al
jne 0x53cb09
mov dword [esp + 0x10], 0
fld dword [esi + 0x114]
call fcn.005b8b18
fld dword [esi + 0x104]
mov bl, al
call fcn.005b8b18
cmp bl, al
jne 0x53cb2d
fstp st(0)
fld dword [0x6a75fc]
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.005b8b18
fld dword [esp + 0x18]
movzx edi, al
or edi, 0xffffff00
shl edi, 8
call fcn.005b8b18
movzx ecx, al
or edi, ecx
shl edi, 8
call fcn.005b8b18
movzx edx, al
mov eax, dword [0x21f1c70]
or edi, edx
push edi
push 0x22
mov dword [0x21f1fb8], edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0xe4]
xor ebx, ebx
jmp 0x53cd7a
fld dword [esi + 0xf4]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 5
jp 0x53cbda
fld dword [0x703c14]
fmul dword [0x6aa3c8]
fadd dword [esi + 0xf4]
fstp dword [esi + 0xf4]
fld dword [esi + 0xf4]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 1
jne 0x53cbf7
mov dword [esi + 0xf4], 0x3f800000
fld dword [esi + 0xf8]
fcomp dword [0x6a8520]
fnstsw ax
test ah, 0x41
jne 0x53cc22
fld dword [0x703c14]
fmul dword [0x6a8638]
fsubr dword [esi + 0xf8]
fstp dword [esi + 0xf8]
fld dword [esi + 0xf8]
fcomp dword [0x6a8520]
fnstsw ax
test ah, 0x41
jp 0x53cc3f
mov dword [esi + 0xf8], 0x41a00000
fld dword [0x6acbe8]
fsub dword [esi + 0xfc]
fmul dword [0x703c14]
fmul dword [0x6aa3c8]
fstp dword [esp + 0x14]
fld dword [0x6acbe8]
fsub dword [esi + 0x100]
fmul dword [0x703c14]
fmul dword [0x6aa3c8]
fstp dword [esp + 0x10]
fld dword [0x6acbe8]
fsub dword [esi + 0x104]
fmul dword [0x703c14]
fmul dword [0x6aa3c8]
fld dword [0x703c14]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 0x41
jne 0x53ccba
fstp st(0)
mov dword [esp + 0x14], 0x3dcccccd
fld dword [0x6a8524]
mov dword [esp + 0x10], 0x3dcccccd
fld dword [esi + 0x10c]
call fcn.005b8b18
cmp al, 0x4b
jne 0x53ccd1
mov dword [esp + 0x14], 0
fld dword [esi + 0x110]
call fcn.005b8b18
cmp al, 0x4b
jne 0x53cce8
mov dword [esp + 0x10], 0
fld dword [esi + 0x114]
call fcn.005b8b18
cmp al, 0x4b
jne 0x53ccff
fstp st(0)
fld dword [0x6a75fc]
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.005b8b18
fld dword [esp + 0x18]
movzx edi, al
or edi, 0xffffff00
shl edi, 8
call fcn.005b8b18
movzx edx, al
or edi, edx
shl edi, 8
call fcn.005b8b18
movzx eax, al
or edi, eax
mov eax, dword [0x21f1c70]
push edi
push 0x22
mov dword [0x21f1fb8], edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0xe4]
mov eax, dword [esi + 0x14]
add esi, 0x14
cmp eax, ebx
jne 0x53cd99
mov edx, dword [0x21f1c70]
push esi
push 0x6b4924
push edx
call fcn.0040ba50
add esp, 0xc
pop edi
pop esi
pop ebx
add esp, 0x14
ret 4