Function at 0x1001f6b4
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
add esp, 0xfffffc4c
mov eax, dword [ebp + 0x1c]
push ebx
lea ecx, [eax + 0xf1f]
push esi
push edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], ecx
cmp eax, ecx
ja 0x1001f291
fld qword [0x10041a68]
mov esi, dword [esp + 0x44]
fld qword [0x10041a60]
xor ebx, ebx
fld qword [0x10041a58]
mov edx, eax
fld qword [0x10041a50]
fld qword [0x10041a48]
jmp 0x1001ee36
fld qword [0x10041a48]
fld qword [0x10041a50]
fld qword [0x10041a58]
fld qword [0x10041a60]
fld qword [0x10041a68]
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(1)
cmp edx, 0x172e
ja 0x1001f1e2
fstp st(1)
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
je 0x1001f291
cmp edx, 0x166a
ja 0x1001f196
je 0x1001f182
mov eax, edx
sub eax, 0x15d7
je 0x1001ef59
sub eax, 0x31
je 0x1001ef50
sub eax, 0x31
jne 0x1001f8e3
mov edi, 0x3870
mov eax, edi
sub eax, 0x3870
je 0x1001ef13
sub eax, 0xe
jne 0x1001ef1c
lea eax, [esp + 0x258]
push 0xf
push eax
call fcn.1000d060
add esp, 8
mov dword [esp + 0x40], eax
or eax, eax
je 0x1001eec8
push 0xf
mov ecx, eax
call fcn.100216d0
sub esp, 0xfffffffc
or eax, eax
jne 0x1001ef1c
mov esi, 0x30be
mov eax, esi
sub eax, 0x30be
je 0x1001eef5
sub eax, 0x13
je 0x1001eeea
sub eax, 0x13
jne 0x1001ef02
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x40]
call fcn.10019f30
jmp 0x1001ef02
push str.error_in_test_curve___n
call fcn.10028604
add esp, 4
add esi, 0x13
cmp esi, 0x30e4
jbe 0x1001eecd
mov esi, dword [esp + 0x44]
jmp 0x1001ef1c
mov eax, dword [esp + 0x40]
call fcn.10019f30
sub edi, 0xfffffff2
cmp edi, 0x387e
jbe 0x1001ee88
inc ebx
cmp ebx, 0x3e8
jl 0x1001ee83
push str.100_800_translate_1__1_scale_1_setlinewidth_n
call fcn.10028604
mov edx, dword [esp + 0x40]
add esp, 4
xor ebx, ebx
jmp 0x1001f8e3
mov dword [esp + 0x40], ebx
jmp 0x1001f8e3
fld qword [0x10041a40]
lea ecx, [esp + 0x258]
fstp qword [esp + 0xf0]
push ecx
fld qword [0x10041a38]
lea edx, [esp + 0x25c]
fstp qword [esp + 0xfc]
push edx
fld qword [0x10041a30]
lea eax, [esp + 0xf8]
fstp qword [esp + 0x110]
mov byte [esp + 0x108], 0x76
fld qword [0x10041a28]
mov byte [esp + 0x120], 0x76
fstp qword [esp + 0x118]
mov byte [esp + 0x138], 0x63
fld qword [0x10041a20]
mov byte [esp + 0x150], 0x63
fstp qword [esp + 0x128]
mov byte [esp + 0x168], 0x63
fld qword [0x10041a18]
mov byte [esp + 0x180], 0x63
fstp qword [esp + 0x130]
mov byte [esp + 0x198], 0x63
fld qword [0x10041a10]
mov byte [esp + 0x1b0], 0x76
fstp qword [esp + 0x140]
mov byte [esp + 0x1c8], 0x76
fld qword [0x10041a08]
mov byte [esp + 0x1e0], 0x63
fstp qword [esp + 0x148]
mov byte [esp + 0x1f8], 0x63
fld qword [0x10041a00]
mov byte [esp + 0x210], 0x63
fstp qword [esp + 0x158]
mov byte [esp + 0x228], 0x63
fld qword [0x100419f8]
mov byte [esp + 0x240], 0x63
fstp qword [esp + 0x160]
mov byte [esp + 0x258], 0x63
fld qword [0x100419f0]
push eax
fstp qword [esp + 0x174]
fld qword [0x100419e8]
fstp qword [esp + 0x17c]
fld qword [0x100419e0]
fstp qword [esp + 0x18c]
fld qword [0x100419d8]
fstp qword [esp + 0x194]
fld qword [0x100419d0]
fstp qword [esp + 0x1a4]
fld qword [0x100419c8]
fstp qword [esp + 0x1ac]
fld qword [0x100419c0]
fstp qword [esp + 0x1bc]
fld qword [0x100419b8]
fstp qword [esp + 0x1c4]
fld qword [0x100419b0]
fstp qword [esp + 0x1d4]
fld qword [0x100419a8]
fstp qword [esp + 0x1dc]
fld qword [0x100419a0]
fstp qword [esp + 0x1ec]
fld qword [0x10041998]
fstp qword [esp + 0x1f4]
fld qword [0x10041990]
fstp qword [esp + 0x204]
fld qword [0x10041988]
fstp qword [esp + 0x20c]
fld qword [0x10041980]
fstp qword [esp + 0x21c]
fld qword [0x10041978]
fstp qword [esp + 0x224]
fld qword [0x10041970]
fstp qword [esp + 0x234]
fld qword [0x10041968]
fstp qword [esp + 0x23c]
fld qword [0x10041960]
fstp qword [esp + 0x24c]
fld qword [0x10041958]
fstp qword [esp + 0x254]
call fcn.10027220
mov edx, dword [esp + 0x48]
add esp, 0xc
xor ebx, ebx
jmp 0x1001f8e3
mov ecx, dword [esp + 0x40]
call fcn.10023c70
mov edx, dword [esp + 0x3c]
xor ebx, ebx
jmp 0x1001f8e3
mov eax, edx
sub eax, 0x169b
je 0x1001f1ca
sub eax, 0x31
je 0x1001f1b6
sub eax, 0x31
jne 0x1001f8e3
mov dword [esp + 0x38], ebx
jmp 0x1001f8e3
mov eax, dword [esp + 0x40]
call fcn.10019f30
mov edx, dword [esp + 0x3c]
xor ebx, ebx
jmp 0x1001f8e3
push str.showpage_n
call fcn.10028604
mov edx, dword [esp + 0x40]
sub esp, 0xfffffffc
xor ebx, ebx
jmp 0x1001f8e3
cmp edx, 0x216d
ja 0x1001f77e
je 0x1001f75d
mov eax, edx
sub eax, 0x1c7d
je 0x1001f2e1
sub eax, 0x48e
fstp st(1)
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
je 0x1001f2b0
sub eax, 0x31
jne 0x1001f8e3
mov edi, dword [ebp + 0xc]
cmp dword [edi], ebx
jge 0x1001f264
mov eax, 0x352b
cmp eax, 0x35e7
ja 0x1001f253
je 0x1001f24d
mov ecx, eax
sub ecx, 0x352b
je 0x1001f248
sub ecx, 0x5e
jne 0x1001f25a
mov dword [esi + 0x3c], ebx
jmp 0x1001f25a
mov dword [esi + 0x38], ebx
jmp 0x1001f25a
mov dword [esp + 0x38], ebx
jmp 0x1001f25a
cmp eax, 0x3645
je 0x1001f291
sub eax, 0xffffffa2
cmp eax, 0x3645
jbe 0x1001f22b
mov eax, dword [edi]
cmp eax, 0x10
jg 0x1001f279
mov ecx, dword [esi + 0x3c]
add ecx, eax
cmp ecx, 0x20
jbe 0x1001f8e3
mov ecx, 0x14f6
mov edi, 0xfffffffe
mov eax, ecx
sub eax, 0x14f6
je 0x1001f29c
sub eax, 0x60
jne 0x1001f2a0
mov eax, dword [esp + 0x38]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x38], edi
sub ecx, 0xffffffa0
cmp ecx, 0x1556
jbe 0x1001f283
jmp 0x1001f8e3
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
cmp ecx, ebx
je 0x1001f2be
cmp dword [ecx + 0x1c], ebx
jne 0x1001f2d5
mov eax, 0x5db8
cmp eax, eax
je 0x1001f8ff
sub eax, 0xffffffa0
cmp eax, 0x5db8
jbe 0x1001f2c5
mov esi, dword [ecx + 0x1c]
mov dword [esp + 0x44], esi
jmp 0x1001f8e3
mov eax, dword [ebp + 8]
fld qword [eax + 8]
fmul qword [0x10041788]
fabs
fld qword [eax]
fabs
faddp st(1)
fld qword [eax + 0x10]
fmul st(6)
fabs
faddp st(1)
fld qword [eax + 0x18]
fmul qword [0x10041950]
fabs
faddp st(1)
fst qword [esp + 0xb0]
fld qword [0x10041948]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x1001f8d7
xor ebx, ebx
mov dword [esp + 0x48], 5
jmp 0x1001f360
fld qword [0x10041a48]
fld qword [0x10041a50]
fld qword [0x10041a58]
fld qword [0x10041a60]
fld qword [esp + 0xb0]
fld qword [0x10041a68]
fxch st(5)
fxch st(2)
fxch st(4)
fxch st(2)
fxch st(1)
cmp ebx, 0x68
ja case.0x1001f370.1
movzx ecx, byte [ebx + 0x1001f930]
jmp dword [ecx*4 + 0x1001f918]
mov edx, dword [ebp + 0x18]
fstp st(0)
mov eax, dword [ebp + 0x10]
fstp st(1)
mov ecx, dword [ebp + 0x14]
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
fld qword [edx]
mov edx, dword [ebp + 0xc]
fsub qword [eax]
fld qword [ecx]
fsub qword [edx]
call fcn.10037a2a
fstp qword [esp + 0xc0]
mov eax, dword [0x1092d030]
mov edx, dword [ebp + 8]
push eax
lea ecx, [esp + 0x94]
push ecx
push edx
call fcn.100229a0
add esp, 0xc
jmp 0x1001f741
fstp st(0)
sub esp, 0x10
fstp st(1)
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
fld qword [esp + 0xa8]
fstp qword [esp + 8]
fld qword [esp + 0xa0]
fstp qword [esp]
call fcn.10005600
fstp qword [esp + 0xe0]
sub esp, 0xfffffff0
jmp 0x1001f741
mov eax, dword [ebp + 0x18]
fstp st(0)
mov ecx, dword [ebp + 0x10]
fstp st(1)
mov edx, dword [ebp + 0x14]
fstp st(3)
fstp st(1)
sub esp, 0x10
fstp st(0)
fstp st(0)
fld qword [eax]
mov eax, dword [ebp + 0xc]
fsub qword [ecx]
fstp qword [esp + 8]
fld qword [edx]
fsub qword [eax]
fstp qword [esp]
call fcn.10005600
fstp qword [esp + 0xb0]
sub esp, 0xfffffff0
jmp 0x1001f741
fstp st(0)
fstp st(1)
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
fld qword [esp + 0x98]
fld qword [esp + 0x90]
call fcn.10037a2a
fstp qword [esp + 0xb8]
fld qword [esp + 0xa0]
fdiv qword [esp + 0xd0]
fstp qword [esp + 0x88]
jmp 0x1001f741
fld qword [esp + 0xc0]
fsub qword [esp + 0xb8]
fstp qword [esp + 0xa8]
fld1
fcompp
fnstsw ax
test ah, 0x41
je 0x1001f737
mov eax, dword [ebp + 8]
xor esi, esi
lea edi, [esi + 0xa]
jmp 0x1001f4d6
fld qword [0x10041a48]
fld qword [0x10041a50]
fld qword [0x10041a58]
fld qword [0x10041a60]
fld qword [0x10041a68]
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(1)
cmp esi, 0x99
ja case.0x1001f4e9.1
movzx ecx, byte [esi + 0x1001f9c8]
jmp dword [ecx*4 + 0x1001f99c]
fstp st(1)
fstp st(3)
fstp st(2)
fmul qword [eax + 8]
fld qword [eax + 0x18]
fmulp st(2)
faddp st(1)
fadd qword [esp + 0x50]
fstp qword [esp + 0x50]
jmp 0x1001f729
fstp st(1)
mov edx, dword [ebp + 0xc]
fstp st(3)
mov ecx, dword [ebp + 0x10]
fstp st(1)
fstp st(0)
fstp st(0)
fld qword [esp + 0xe0]
fld st(0)
fld qword [esp + 0xc8]
fmul st(1), st(0)
fxch st(1)
fadd qword [edx]
fld qword [esp + 0xe8]
fld st(0)
fld qword [esp + 0xd8]
fmul st(1), st(0)
fxch st(3)
fsubrp st(1)
fstp qword [esp + 0x70]
fmulp st(2)
fxch st(1)
fadd qword [ecx]
fxch st(1)
fmulp st(2)
faddp st(1)
fstp qword [esp + 0x80]
jmp 0x1001f729
fstp st(1)
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
fld qword [esp + 0x78]
call fcn.10037180
fld qword [esp + 0x88]
fmul qword [0x10041788]
mov eax, dword [ebp + 8]
fmulp st(1)
fstp qword [esp + 0xc8]
jmp 0x1001f729
fstp st(3)
fstp st(1)
fstp st(1)
fld qword [eax + 0x10]
fmulp st(2)
fxch st(1)
fadd qword [esp + 0x58]
fstp qword [esp + 0x58]
fmul qword [eax + 0x18]
fadd qword [esp + 0x60]
fstp qword [esp + 0x60]
jmp 0x1001f729
fstp st(2)
fstp st(1)
fld qword [eax]
fmul qword [0x10041788]
fld qword [eax + 8]
fmulp st(4)
fsubrp st(3)
fld qword [eax + 0x10]
fmul qword [0x10041940]
faddp st(3)
fld qword [eax + 0x18]
fmul qword [0x10041938]
fsubp st(3)
fxch st(2)
fstp qword [esp + 0x50]
fmul qword [eax + 8]
fld qword [eax + 0x10]
fmulp st(2)
fsubrp st(1)
fld qword [eax + 0x18]
fmul qword [0x10041930]
faddp st(1)
fstp qword [esp + 0x58]
jmp 0x1001f729
fstp st(1)
fstp st(2)
fstp st(0)
fld qword [eax + 0x10]
fmulp st(2)
fmul qword [eax + 0x18]
fsubp st(1)
fstp qword [esp + 0x60]
jmp 0x1001f729
mov edx, dword [ebp + 0x18]
fstp st(1)
mov eax, dword [ebp + 0x14]
fstp st(3)
fstp st(1)
add esp, 0xffffffe0
fstp st(0)
fstp st(0)
fld qword [edx]
fstp qword [esp + 0x18]
fld qword [eax]
fstp qword [esp + 0x10]
fld qword [esp + 0xa0]
fstp qword [esp + 8]
fld qword [esp + 0x90]
lea ecx, [esp + 0x70]
fstp qword [esp]
push ecx
call fcn.10022a80
mov eax, dword [ebp + 8]
add esp, 0x24
jmp 0x1001f729
fstp st(1)
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
fld qword [esp + 0x78]
call fcn.100372b0
fld qword [esp + 0x88]
fmul qword [0x10041788]
mov edx, dword [0x1092d030]
push edx
lea eax, [esp + 0xe4]
fmulp st(1)
push eax
lea ecx, [esp + 0x58]
push ecx
fstp qword [esp + 0xe4]
call fcn.100229a0
mov eax, dword [ebp + 8]
add esp, 0xc
jmp 0x1001f729
mov edx, dword [ebp + 0x10]
fstp st(1)
mov eax, dword [ebp + 0xc]
fstp st(3)
fstp st(1)
add esp, 0xffffffe0
fstp st(0)
fstp st(0)
fld qword [esp + 0xa0]
fstp qword [esp + 0x18]
fld qword [esp + 0x90]
fstp qword [esp + 0x10]
fld qword [edx]
fstp qword [esp + 8]
fld qword [eax]
jmp 0x1001f652
fstp st(4)
fmul qword [eax + 0x18]
fstp qword [esp + 0x68]
fld qword [eax]
fmulp st(2)
fld qword [esp + 0xa8]
fsubrp st(2)
fld qword [eax + 8]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul qword [eax + 0x10]
fsubp st(1)
fld qword [eax + 0x18]
fmul qword [0x10041928]
faddp st(1)
fstp qword [esp + 0x78]
jmp 0x1001f729
fstp st(1)
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
add esi, 0x11
dec edi
jne 0x1001f4b0
jmp 0x1001f741
fstp st(0)
fstp st(1)
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
sub ebx, 0xffffffe6
dec dword [esp + 0x48]
jne 0x1001f331
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
xor ebx, ebx
jmp 0x1001f8e3
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x10]
mov edi, 1
shl edi, cl
dec edi
and dword [eax], edi
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
shl eax, cl
add dword [esi + 0x38], eax
jmp 0x1001f8d9
fstp st(1)
mov eax, edx
sub eax, 0x219e
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
je 0x1001f8c9
sub eax, 0x31
je 0x1001f291
sub eax, 0x15a9
jne 0x1001f8e3
mov ecx, dword [ebp + 8]
mov al, byte [ecx]
cmp al, 0x6f
je 0x1001f895
mov ecx, dword [ebp + 0xc]
mov cl, byte [ecx]
cmp cl, 0x6f
je 0x1001f895
cmp al, 0x5d
je 0x1001f895
cmp cl, 0x5b
je 0x1001f895
cmp al, 0x68
je 0x1001f895
cmp cl, 0x61
je 0x1001f895
cmp al, 0x63
jne 0x1001f80a
cmp cl, al
jne 0x1001f81f
mov eax, 0x500e
cmp eax, eax
je 0x1001f90b
sub eax, 0xffffffe3
cmp eax, 0x500e
jbe 0x1001f7f5
jmp 0x1001f8e3
cmp cl, 0x63
jne 0x1001f81f
cmp al, 0x7b
je 0x1001f837
cmp al, 0x76
je 0x1001f837
cmp al, 0x5b
je 0x1001f837
cmp al, 0x61
je 0x1001f837
cmp al, 0x63
jne 0x1001f869
cmp cl, 0x7d
je 0x1001f837
cmp cl, 0x76
je 0x1001f837
cmp cl, 0x5d
je 0x1001f837
cmp cl, 0x68
jne 0x1001f869
mov ecx, 0x1ae1
lea esp, [esp]
mov eax, ecx
sub eax, 0x1ae1
je 0x1001f854
sub eax, 0x29
je 0x1001f291
jmp 0x1001f85c
mov dword [esp + 0x38], 1
sub ecx, 0xffffffd7
cmp ecx, 0x1b0a
jbe 0x1001f840
jmp 0x1001f8e3
mov ecx, 0x3942
mov edi, edi
mov eax, ecx
sub eax, 0x3942
je 0x1001f884
sub eax, 0x13
je 0x1001f291
jmp 0x1001f888
mov dword [esp + 0x38], ebx
add ecx, 0x13
cmp ecx, 0x3955
jbe 0x1001f870
jmp 0x1001f8e3
mov ecx, 0x6358
lea ebx, [ebx]
mov eax, ecx
sub eax, 0x6358
je 0x1001f8b4
sub eax, 0x1d
je 0x1001f291
jmp 0x1001f8bc
mov dword [esp + 0x38], 4
add ecx, 0x1d
cmp ecx, 0x6375
jbe 0x1001f8a0
jmp 0x1001f8e3
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add dword [esi + 0x3c], ecx
mov dword [esp + 0x38], ebx
jmp 0x1001f8e3
fstp st(0)
fstp st(1)
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
sub edx, 0xffffffcf
mov dword [esp + 0x3c], edx
cmp edx, dword [esp + 0x4c]
jbe 0x1001ee10
mov eax, dword [esp + 0x38]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 2
pop ebx
mov esp, ebp
pop ebp
ret